#use wml::debian::template title="Połączenie z internetem" NOHEADER="yes"
Możemy wymienić co najmniej kilka rzeczy, których spodziewamy się po nowo zainstalowanym systemie operacyjnym. Oprócz oczywistej poprawy działania (stabilność, szybkość, bezpieczeństwo) w odniesieniu do systemu poprzedniego (jeśli - tak jak w większości przypadków - jest nim znany produkt pewnej bardzo dużej firmy, nie będzie to szczególnie trudne), zazwyczaj chcemy by zostały nam zapewnione podstawowe warunki konieczne do wykonywania pracy lub po prostu uprawiania ulubionych zajęć. Dopiero potem zastanawiamy się nad rozszerzaniem możliwości i w konsekwencji przewyższeniem funkcjonalnością poprzedniego środowiska. Wróćmy jednak do elementów koniecznych - najczęściej chodzi tutaj o dostęp do dysków z innymi systemami plików, możliwość drukowania, graficzny interfejs, ułatwienia w pracy w środowisku tekstowym, obsługę myszki, polskie znaki, korzystanie z dyskietek i CD-ROM-ów, dźwięk, programy umożliwiające konwersję między różnymi formatami itd. Niebagatelną rolę odgrywa także połączenie z innymi komputerami lub siecią (naturalnie tylko wtedy, gdy mamy taką możliwość). Właściwie jest ono sprawą podstawową, gdyż zwykle dzięki niemu uzyskujemy dostęp do informacji pomocnych w dalszej konfiguracji i dostosowywaniu systemu do swoich potrzeb. W tym artykule opiszemy najczęściej chyba wykorzystywane połączenie sieciowe - modemowe połączenie przez łącze komutowane (linię telefoniczną) przy użyciu protokołu PPP (Point-to-Point Protocol) z siecią Internet. Jako przykładu użyję ogólnopolskiego numeru udostępnianego za cenę rozmowy lokalnej przez Telekomunikację Polską S.A. Oczywiście, tekst ten powinien również okazać się pomocny w przypadku innych usługodawców internetowych udostępniających połączenie z Siecią na podobnych zasadach. Wszystko zostało opisane w oparciu o dystrybucję Debian 2.2 Potato (przy czym posiadacze Debiana 2.0 Hamm i 2.1 Slink nie powinni czuć się pokrzywdzeni, gdyż artykuł można odnieść także do tych wersji Debian GNU/Linux) i dostępne w niej programy.
Dobrze byłoby, gdybyśmy posiadali modem ;). Przy czym nie może być to tzw. ,,winmodem'', czyli urządzenie przekazujące część swoich obowiązków sterownikom Windows. Częstokroć znacznie tańsze, lecz przecież w pewien sposób wybrakowane, urządzenie to nie może pracować pod kontrolą np. Linuksa. Dlatego właśnie konieczny jest zwykły modem. Oprócz tego, oczywiście, potrzebujemy zainstalowanego i działającego Debiana. Jądro musi posiadać obsługę protokołu PPP (prawdopodobnie po zwykłej instalacji mamy ,,PPP Support'' wkompilowane na stałe, później ewentualnie można skompilować je jako moduł w celu zmniejszenia rozmiaru jądra). Ponadto konieczna jest instalacja pakietu ppp (w Potato numer wersji to 2.3.11-1.1) zawierającego niezbędny demon pppd oraz program chat. Gdy nie mamy jeszcze w katalogu /dev stworzonych urządzeń oznaczających porty szeregowe (są to odpowiednio ttyS0 - COM1, ttyS1 - COM2, ttyS2 - COM3 itp. ), należy tworzymy je za pomocą skryptu MAKEDEV: [root]# cd /dev [root]# /MAKEDEV ttySx <gdzie ,,x'' to ,,numer portu - 1''>
Warto też stworzyć specjalne dowiązanie: [root]# ln -s /dev/ttyS1 /dev/modem <gdy mamy modem na COM2>
W /etc/syslog.conf powinniśmy dodać następujący wiersz (jeśli jeszcze jej tam nie ma): *.* -/var/log/ppp.log <pierwszą gwiazdkę możemy zastąpić nazwą podsystemu logowania np. local0 czy local2>
Istotne jest ustawienie adresów serwerów DNS (Domain Name System) w
pliku /etc/resolv.conf, dzięki czemu nie będziemy musieli używać tylko
numerów IP, ale także zwykłych nazw domenowych. Można też wpisać do niego wiele
innych rzeczy - odsyłam do strony podręcznikowej resolv.conf(5)
(man 5 resolv.conf). My skoncentrujemy się jednak na numerach
serwerów DNS - tak powinien wyglądać efekt naszych modyfikacji (numery IP
serwerów TP S.A. - podstawowego i uzupełniającego):
nameserver 194.204.152.34
nameserver 194.204.159.1
Dalsze wymagania zależą od metody, którą wybierzemy. Gdy zamierzamy ,,pójść na łatwiznę'' (część pierwsza, ,,Inteligentny'' WvDial), potrzebny nam będzie pakiet wvdial_1.41 (sekcja comm, numer wersji jak w Potato). W przypadku drugiego sposobu (opisanego w kolejnym rozdziale), nie obejdzie się bez pppconfig_2.0.4 (Potato). Gdy zdecydujemy się na sposób trzeci (część Połączenie w środowisku KDE - kppp), wymagane jest zainstalowanie środowiska KDE (pakiety zaczynające się od kde* z różnych sekcji działu contrib).
Program wvdialconf powinien uruchomić się zaraz po zakończeniu instalacji niezbędnych pakietów. Automatyczna konfiguracja połączenia tym sposobem ma swoje niewątpliwe zalety: musimy podać tylko trzy parametry (numer telefonu, nazwę użytkownika i hasło) - trwa to dość szybko, wykrywanie modemu przebiega bez naszego aktywnego udziału i, co najważniejsze, nie musimy angażować zbytnio naszych szarych komórek ;). Według mnie wad jest jednak więcej, a najważniejsza z nich to niemożność ustawienia wielu ważnych opcji (program robi to za nas) i co za tym idzie olbrzymia nieelastyczność narzędzia. Jest to dobre rozwiązanie, gdy nie zamierzamy zgłębiać tajników konfiguracji pppd. Jednak w przypadku późniejszych problemów z połączeniem, warto sięgnąć po pppconfig. Cała konfiguracja znajduje się w pliku /etc/wvdial.conf (wydruk 4). Możemy ją później ręcznie aktualizować (gdy chcemy wyłącznie zmienić ustawienia modemu, wykonujemy polecenie # /usr/sbin/wvdialconf /etc/wvdial.conf). Opcje pppd umieszczone są w /etc/ppp/peers/wvdial. Więcej informacji o formacie pliku /etc/vwdial.conf znajdziemy na stronach podręcznikowych wvdial(1) oraz wvdialconf(1).
Jedynym zadaniem graficznej nakładki o nazwie pppconfig jest pomoc w ustawianiu i uruchomienie połączenia PPP. Gdy już stworzymy w ten sposób odpowiednie wpisy w plikach konfiguracyjnych pppd (Point-to-Point Protocol Daemon), możemy się łączyć i rozłączać przy użyciu specjalnych skryptów: pon oraz poff. W katalogu /etc/ppp znajdziemy większość interesujących nas informacji (te dotyczące konkretnych połączeń znajdują się w /etc/ppp/peers/nazwa_polaczenia). W plikach /etc/chatscripts/nazwa_polaczenia możemy obejrzeć skrypty programu chat służącego do przeprowadzania ,,negocjacji'' między naszym i zdalnym demonem pppd (lub też między naszym komputerem i modemami - zależy od punktu widzenia). Również one są tworzone za pomocą pppconfig. Oto kolejne kroki całej procedury:
Teraz już możemy nawiązać połączenie wpisując (jako superużytkownik) pon tpsa, a przerwać je poleceniem poff tpsa. Gdy chcemy uruchamiać te skrypty z uprawnieniami zwykłego użytkownika (/usr/sbin/pppd ma bit SUID i jest własnością użytkownika root), powinniśmy dodać go do grup dialout i dip, zmieniając odpowiednio plik /etc/group (a także /etc/gshadow, jeśli taki posiadamy). Aby dowiedzieć się jak to zrobić, należy zajrzeć na stronę podręcznikową group(5).
Nie zawsze konieczne jest użycie pppconfig. Posiadając zainstalowane środowisko graficzne KDE, dysponujemy programem kppp doskonale sprawdzającym się w tej samej roli. Żeby zacząć z niego korzystać, musimy usunąć opcję lock z pliku /etc/ppp/options (kppp sam dba o blokowanie modemu). Oprócz tego, aby program mógł uruchamiać nie tylko superużytkownik, należy postąpić tak samo jak w przypadku poprzedniego programu, czyli przypisać odpowiedniego użytkownika do odpowiednich grup. Gdy program kppp nie ma bitu SUID (co jest bezpiecznym rozwiązaniem), trzeba także nadać tej grupie pełne prawa do urządzenia reprezentującego nasz modem - np. gdy /dev/ttyS1 jest własnością grupy dialout i ma prawa dostępu 644, jako root musimy wykonać polecenie chmod 664 /dev/ttyS1. Oto krótka instrukcja konfiguracji omawianego narzędzia. (Zakładam, że wcześniej zmieniono już w KDE domyślny język na polski)
Teraz powinniśmy już słyszeć nasz modem. Miłej zabawy!
W Potato istnieje jeszcze kilka metod zestawienia połączenia. Jako przykład można wymienić program z pakietu minicom_1.82.1-1 (sekcja comm), czy też skrypty związane z narzędziem ifconfig. Nie ma jednak sensu ich opisywanie - trzy podstawowe sposoby omówione w tym artykule wystarczą nam w zupełności. Życzę wszystkim owocnej pracy i dobrej zabawy w Internecie - mam nadzieję, że ten tekst okazał się pomocny.