Siemens CXV70 jako modem via kabel USB
Technologia poszła nam naprzód... Internet w każdym miejscu świata, za półdarmo (w stosunku tego, co było jeszcze 4-5 lat temu). Mnie też to dopadło - pokusa odbierania poczty, rozmowy ze znajomymi przez Jabbera czy też zwyczajne surfowanie po sieci jadąc pociągiem z laptopem na kolanach jest silna..
PlusGSM oraz inne polskie sieci komórkowe oferują w bardzo niskich cenach pakietową transmisję danych poprzez GPRS. Wystarczy posiadać telefon komórkowy z Bluetooth oraz odbiornik Bluetooth w swojej komórce i świat stoi przed nami otworem.
Siemens CXV70, telefon który posiadam, nie oferuje niestety Bluetooth. Dziwi mnie to, telefony z niższej półki Siemensa posiadają ten standard. Mój laptop także nie posiada wbudowanego adaptera BlueTooth. Koszt zakupu telefonu z Bluetooth + karty PCMCIA Bluetooth to około 200zł - troszkę zbyt drogi interes jak na studenta.
Istnieje jednak o wiele tańszy sposób połączenia - zakup kabla USB. Kabel taki kosztuje ok. 20zł i umożliwia wykorzystanie naszego telefonu jako modemu pppd GPRS! W sieci nie znalazłem żadnego poradnika, który opisywałby sposób przewodowego połączenia telefonu marki Siemens poprzez przewód USB (myślałem już, że jest to niemożliwe...), zatem spłodziłem to:
Sposób uruchomienia połączenia GPRS przez kabel USB:
W pierwszej kolejności podłączamy naszą komórkę do komputera i odpalamy:
# lsusb
Powinniśmy ujrzeć nasz kabel (nazwa dowolna, zależna od typu kabla). Załadujmy najważniejszy moduł:
# modprobe cdc-acm
Moduł ten pozwala na wykorzystanie telefonu jako modemu. Wywołując:
# dmesg | tail
zapewne ujrzymy log potwierdzający włączenie modemu w telefonie. Instalujemy potrzebne oprogramowanie:
# apt-get install pppd wvdial
Oraz konfigurujemy połączenie wgrywając poniższe pliki do katalogu /etc/ppp/peers.
gprs gprs-connect-chat gprs-disconnect-chat gprs-wvdial.conf
Przejrzyjmy każdy z tych plików i zdefiniujmy rodzaj operatora, dane dostępowe oraz port naszego kabla. W przykładzie wykorzystane zostały dane Ery TAK-TAK oraz port /dev/ttyUSB0.
W zasadzie to już koniec konfiguracji. Z internetem łączymy się za pomocą komendy:
# pppd call gprs
A rozłączamy się poprzez:
# killall pppd
Rozwiązanie to pozwoliło mi zaoszczędzić masę pieniędzy, którą przeznaczyłbym na nowy telefon z Bluetooth. Teraz mogę odbierać pocztę w każdym miejscu (PlusGSM obejmuje swoim zasięgiem praktycznie całą Polskę), o każdej porze. Jestem zadowolony, moja "mobilność" po raz kolejny "wzrosła".:)
Skrypt pokazujący status dowolnych usług na dowolnej ilości serwerów
Czytając techbloga natknąłem się na taki oto wpis. Rozwiązanie ciekawe, ale niezbyt efektywne. Postanowiłem podzielić się swoim sposobem - wydaje mi się on ciekawszy i co najważniejsze - lepszy. Możemy sprawdzać dowolną ilość usług na dowolnych serwerach.
LINK DO SKRYPTU
A tutaj można podejrzeć jak on się sprawuje.
Efektywna praca z konsolą w Linuksie cz.2
Mój poprzedni wpis dotyczący poprawy wydajności pracy pod konsolą spotkał się z dość ciepłym przyjęciem, postanowiłem więc kontynuować ten temat i przedstawić Wam 5 kolejnych narzędzi, bez których żyć nie potrafię. Jeśli któregoś z nich nie będziecie mogli znaleźć w Waszym systemie - skorzystajcie ze znanych już Wam narzędzi jak apt-cache, apropos (pierwsza propozycja na dziś) i innych. Wszystkie są dostępne w repozytoriach Ubuntu i Debiana.
1. Jaka to była komenda...
W czasie pracy w konsoli może nam się zdarzyć zapomnieć o jakiejś komendzie, znamy jednak jej zastosowanie. Możemy sobie z tym bardzo prosto poradzić. Wpisujemy
$ apropos {słowo klucz}
Gdzies {słowo klucz} to słowo, które jest powiązane z działaniem komendy. Dla przykładu - gdy szukamy polecenia, które umożliwia nam sprawdzenie miejsca na dysku wpisujemy:
$ apropos disk
aby zawęzić "grono podejrzanych" możemy zastosować standardowe narzędzia i otrzymujemy:
[16:31:44] root@orion:/serwer/konta/download# apropos disk | grep usage df (1) - report file system disk space usage quota (1) - display disk usage and limits quotacheck (8) - scan a filesystem for disk usage, create, check and repair quota files
Nic prostszego. Przecież nikt z nas nie zna na pamięć wszystkich potrzebnych komend. :-)
2. Co mi tyle miejsca zajmuje..
Z czasem wszyscy zaczynamy z przerażeniem patrzeć na ilość zajętego miejsca na naszej głównej partycji. Wartość ta jakkolwiek duża by nie była partycja w którymś momencie zaczyna nas niepokoić. Stosuję wtedy szybki chwyt aby zobaczyć co gdzie i czemu mi zabiera tyle miejsca. Komenda:
$ du -h -c --max-depth=1 zwraca nam w całkiem przystępnej formie ilość zajętego miejsca w każdym katalogu poczynając od miejsca wykonania polecenia. W ten sposób, zaczynając od / możemy sprawdzić, co tak naprawdę zabiera najwięcej wolnego miejsca i spróbować się tego pozbyć. Nie raz nie dwa sposób ten pozwolił mi zaoszczędzić godziny poszukiwań. Polecam!
3.Alternatywa dla fdisk'a
Nie potrafię obsługiwać fdiska. Przyznaję się bez bicia. To toporny i nieintuicyjny program. Po co mi męczyć się z tym programem.. Mam przecież coś lepszego!
# cfdisk
Nigdy w życiu nie widziałem lepszego zarządcy partycji dla Linuksa. Używam go regularnie od kilkudziesięciu tygodni i sprawdza się po prostu znakomicie. Zdaję sobie sprawę, że partycjonowania nie wykonujemy codziennie, jednak posiadanie pod ręką wspomnianego narzędzia w sytuacji "kryzysowej" jest nieocenione.
4.Co mi się dzieje w systemie...
Analiza logów systemowych to temat - rzeka. Za czasów gdy dinozaury przechadzały się po naszej planecie Linuksowcy przeglądali je ręcznie, co sprytniejsi grepowali, awkowali, sedowali i co się tam jescze dało. Po co?
# logwatch
Po krótkiej chwili na Wasze lokalne (skonfigurowane!) konto mailowe przyjdzie wiadomość w "ludzkim formacie" podsumowująca działanie systemu przez ostatnie 24 godziny (licząc od dnia wczorajszego). Jeśli nie mamy skonfigurowanego konta mailowego możemy wydrukować raport na konsolę - odsyłam do pomocy samego programu. Logwatch jest najlepszym moim zdaniem automatycznym analizatorem logów systemowych. Możliwość pełnego oskryptowania, dodawania swoich własnych modułów, mobilność i prostota użycia przy bardzo dokładnej analizie końcowej - nieocenione. 10/10!
5.Limitowanie upload/download
I ostatnie już narzędzie - trickle. Służy ono do cięcia naszego łącza internetowego dokładnie tak, jak my chcemy. Przykład:
$ trickle -u 1 -d 70 wget -c http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.3.tar.bz2
Wywołanie takie spowoduje ściąganie najnowszego dostępnego na chwilę obecną kernela linuksa z prędkością 70KB/s, nigdy wyższą. Możemy dzięki temu uruchomić kilka różnych sesji wget'a i nadal dysponować łączem na przeglądanie np. stron internetowych lub wygodną rozmowę poprzez komunikatory internetowe. Osobiście używam trickle do przeprowadzania transparentnych aktualizacji na swoim serwerze. Użytkownicy nawet nie widzą spadku wydajności a system spokojnie się update'uje. Wygodne :-)
Na dziś to tyle. Jak zwykle:
Enjoy!
Conky jako monitor aktualizacji w Ubuntu
Conky to potężny monitor systemowy przeznaczony dla systemów GNU/Linux – używam go już od bardzo dawna i z błyskiem w oku testuję nowe funkcje pojawiające się z każdą kolejną edycją tego wspaniałego programu. Czasem jednak przypominam sobie o najważniejszej jego funkcji wewnętrznej. Mówię tutaj o ${execi}. Wtedy powstają rzeczy dziwne… Tak jak mój ostatni twór, który można podziwiać na obrazku (obok głównego okna Conky’iego). Podoba się?
Przezroczysty monitor aktualizacji na pulpicie Ubuntu!
Proces wdrożenia przebiega w kilku etapach, w których użytkownik musi sam przeprowadzać drobne przeróbki plików konfiguracyjnych w celu personalizacji. Postaram się omówić wszystkie kroki jak najdokładniej.
1. Instalacja Conky
Załóżmy, że użytkownik nigdy nie posiadał programu Conky. Możemy zainstalować go z repozytoriów:
sudo apt-get install conky
Jednak polecam własną kompilację gdyż wersja zawarta w repozytoriach jest bardzo stara i posiada pewne błędy. Postaram się udostępnić nowo skompilowane paczki w ciągu kilku dni roboczych. Na razie tyle o Conkym – za chwilę do niego wrócimy.
2. Prekonfiguracja monitora systemu
Skorzystamy w tym miejscu z mojego skryptu, który napisałem na tą okazję:
sudo nano -w /etc/init.d/UPGRADE.MONITOR
Gdzie wpisujemy:
#!/bin/bash
apt-get update
sh -c "apt-get dist-upgrade -s | grep Inst | cut -c 6- > /var/log/upgrades.log"
Oraz wywołujemy:
sudo chmod +x /etc/init.d/UPGRADE.MONITOR
Zasadą działania skryptu jest wrzucenie w plik tekstowy obecnie dostępnych aktualizacji w repozytoriach. Zauważyć należy, że skrypt nie instaluje żadnego oprogramowania bez naszej wiedzy.
3. Cron – czyli make it work!
Chcemy teraz, aby nasz malutki skrypt uruchamiał się co pewien wybrany przez nas, okres czasu i sprawdzał dostępne aktualizacje. Użyjemy do tego celu narzędzia systemowego „Cron”, który w skrócie można określić jako „sheduler”. Wykonamy w tym celu prosty zabieg:
sudo nano -w /etc/crontab
Wpiszmy do niego na samym końcu podaną regułkę:
10,20,30,40,50,59 * * * * root /etc/init.d/UPGRADE.MONITOR
Po czym uaktualniamy pliki konfiguracyjne cron'a.
sudo /etc/init.d/cron reload
Krótkie wyjaśnienie – jedyne o czym powinien zamartwić się użytkownik to pierwsze wartości, wpisywane po przecinku. Jest to definicja minut w wymiarze godziny, w których ma się uruchamiać nasz skrypt. Używane przeze mnie ustawienie wywołuje aktualizację monitora w 10, 20 (..) minucie każdej godziny. Jest to wygodne rozwiązanie, gdyż przy łączu 1mb/s nie zauważam w ogóle spadku wydajności łącza (aktualizacja repozytoriów przebiega w 100% transparentnie!). W wartościach każdy użytkownik powinien sam znaleźć „złoty środek” dla jego rodzaju łącza.
4. Conky – jak to pokazać na pulpicie?
Została nam już tylko kosmetyka. Dla celu monitora wywołajmy osobną, niezależną instancję Conky’iego. Pozwoli nam to używać równolegle naszego monitora systemowego i monitora aktualizacji (jak na powyższym screenie).
nano -w ~/.conkyrc2
Przykład pliku konfiguracyjnego
Uwaga – plik konfiguracyjny jest dostosowany do moich potrzeb. W celu powiększenia swojej wiedzy na temat pliku konfiguracyjnego programu Conky należy udać się na tą stronę co też doradzam. Najważniejszą linijką jest tutaj ${execi 20 cat /var/log/upgrades.log}, powoduje ona wyświetlanie się naszych aktualizacji na ekranie.
Jedyne co nam pozostaje to dodać poniższą linijkę do Autostartu naszego środowiska graficznego:
conky -d -c ~/.conkyrc2 &
Voila! Przezroczysty monitor aktualizacji apt’a na pulpicie. :)
Zainteresowanym polecam lekturę manpages dla wszystkich użytych w HowTo poleceń oraz zagłębienie się w struktury konfiguracji programu Conky. Do powyższego HowTo bardzo łatwo dodać powiadamianie sms’em o aktualizacjach (co podałem kilka dni temu), powiadamianie na Jabbera (poprzez sendxmpp) oraz kilka innych ciekawostek, które w ogólnym rozrachunku potrafią bardzo uprzyjemnić życie.
Enjoy!
Szyfrowane połączenie VNC w Ubuntu
Zdarzają się chwile, gdy chcemy popracować na naszej zdalnej maszynie w trybie graficznym. W tym celu instalujemy serwer X11vnc oraz korzystamy z klienta xtightvncviewer lub innego dającego podobną funkcjonalność.
Można powiedzieć – OK! – jednak co z bezpieczeństwem tak przesyłanych danych? Czy nie lepiej sprawić, aby całe połączenie realizowane było przez bezpieczny protokół SSH?
Dziś zajmiemy się konfiguracją sprzętu aby móc uzyskać taki efekt! Uniemożliwia to w praktyce podsłuchanie i przechwycenie naszych danych. Zatem do roboty! W artykule założyłem, że użytkownik nigdy nie posiadał żadnych pakietów związanych z vnc oraz serwerem ssh.
1. Instalacja sshd na serwerze.
sudo apt-get install opensshd-server
2. Konfiguracja serwera sshd.
Pierwsze czym musimy się zająć to zmienić domyślny port ma którym będzie nasłuchiwać nasz serwer. W tym celu edytujemy niżej wymieniony plik:
sudo nano -w /etc/ssh/sshd_config
I zmieniamy oczywistą wartość Port na żądaną wartość. Pozostawiam Wam tutaj dowolność wyboru. Zmieniamy także wartość X11Forwarding na yes. Restartujemy serwer SSHd za pomocą komendy:
sudo /etc/init.d/ssh restart
W tym momencie mamy doskonale skonfigurowany serwer. Oczywiście wiadomym jest, że musi na nim działać serwer X. Istnieje jednak możliwość skonfigurowania połączenia bez aktywnego serwera X.
3. Konfiguracja klienta
Tutaj właściwie wystarcza 1 polecenie:
sudo apt-get install xtightvncviewer
4. Połączenie!
Połączenie pomiędzy serwerem a klientem realizujemy poniższą komendą:
ssh -t -L 5900:localhost:5900 -p [port] [user](at)[host] 'x11vnc -localhost -display :0'
Co osiągamy? Zestawiamy tunel SSH na localhoście na porcie 5900. W tym kruczku tkwi cały sekret. Oczywiście za wartości [] podstawiamy dane naszego serwera gdzie uruchomiliśmy serwer ssh, za [user](at)[host] podstawiamy login i hostname (adres ip) naszego serwera.
Uruchamiamy VNCviewer:
xtightvncviewer -encodings "copyrect zrle hextile tight fullscreen" localhost:0
Jak widać połączenie wykonywane jest na localhost! Czyli na przetunelowany port poprzez SSH.
Starałem się przedstawić pewien ogólny szkic zestawienia szyfrowanego połączenia zdalnego pulpitu w Ubuntu. Można takie połączenie zestawić w jeszcze bezpieczniejszy sposób, stosując kolejne hasła i więcej algorytmów zabezpieczeń. Dla zainteresowanych polecam zagłębienie się w lekturę manpages dla SSHd oraz X11vnc.
Do czego możemy stosować takie połączenie? Jest co najmniej kilkadziesiąt zastosowań. Obecnie stosuję to rozwiązanie do zarządzania moimi komputerami w sieci domowej. Nie muszę biegać i zmieniać non stop miejsca pracy – wszystko w jednym miejscu. Połączenie takie przydaje się także w celu naprawy zdalnej lub innych czynności administracyjnych, które wymagają włączonego serwera X.
W tym miejscu pragnę podziękować Panu Maciejowi za inspirację dla tego wpisu!
