|
Podłączenie linuksa do internetu przez linie modemowe Lucjan Modzel Trochę na wstępWielu użytkowników linuksa (zwłaszcza tych bardzo początkujących) ma problem z połączeniem się do internetu przez modem (oczywiście sprawa rozchodzi się o numer dostępowy telekomunikacji - 0202122). Zdaję sobie sprawę równocześnie jak dużo jest dostępnych dokumentów na ten temat. Kiedyś sam jednak szukałem rozwiązania tego problemu, jednak dostępnych publikacji nie było ówczas tak dużo jak jest teraz, a te które były nie zawsze działały tak jak trzeba. Jedne straszyły kompilacją jądra, a inne opierały się o konkretne dystrybucje, i jako takie u mnie nie działały. Poświęcając trochę czasu oraz impulsów (za każde nieudane połączenie), problem został rozwiązany.Czego potrzebuję?Właściwie wymagań dużych nie ma. Jedyne co jest wymagane to komputer z zainstalowanym linuksem, modem zewnętrzny oraz linia telefoniczna. Komputer preferowany to co najmniej 486DX (na 386SX też się powinniśmy połączyć - ale po co ?). Linux - jakaś nowsza dystrybucja RedHata, Slackware, Debiana czy też Mandrake'a (Nowsza to znaczy powstała nie więcej niż np. 2-3 lata temu( w starszych może wystąpić problematyczna zwykle dla początkujących kompilacja jądra). Modem musi być zewnętrzny (o wewnętrznych kiedyś indziej - chyba ,że ktoś sam potrafi go skonfigurować tak aby był widoczny jako modem dla linuksa).Ustawienia systemoweNajważniejsze jest posiadanie programów pppd oraz chat. Sprawdzamy po prostu czy w katalogu /usr/sbin (ewentualnie /usr/bin) istnieją takowe pozycje. Są one dostępne nawet w Debianie Potato instalowanym z dyskietek (bodajże 14-tu) tak, że nie powinno być problemu.Drugą sprawą jest wyedytowanie pliku /etc/resolv.conf. Oto co powinien on zawierać: search . nameserver 194.204.159.1 nameserver 194.204.152.34 Główne skryptyTeraz musimy stworzyć dwa pliki w katalogu /etc/ppp: onppp oraz chatscriptZawartość pliku /etc/ppp/chatscript: ECHO ON TIMEOUT 5 "" ATZ OK ATDT0202122 ABORT "NO CARRIER" ABORT BUSY ABORT "NO DIALTONE" ABORT WAITING TIMEOUT 45 CONNECT "" TIMEOUT 5 name: ppp word: ppp Zawartość pliku /etc/ppp/onppp: /usr/sbin/pppd connect '/usr/sbin/chat -v -f /etc/ppp/chatscript' -detach crtscts modem defaultroute /dev/ttyS0 115200 Teraz wszystko razemUstawiamy teraz plik /etc/ppp/onppp jako wykonywalny a robimy to poleceniem:chmod +x /etc/ppp/onppp Następnie uruchamiamy go - wpisujemy mianowicie: /etc/ppp/onppp Modem powinien się połączyć i po chwili powinniśmy mieć dostęp do internetu. A jak to sprawdzić? - Bardzo prosto - wpisujemy lynx www.linuxpub.w.p i jeśli ukaże się strona oznacza to że jest ok. Prościej jednak chyba będzie "pingnąć" jakiegoś serwera np. ping www.interia.pl - pojawiające się odpowiedzi typu: "reply from ..." będą świadczyły, że nasze połączenie jest już ok, a więc nie traćmy czasu tylko sobie "posurfujmy"! A teraz kilka słów wyjaśnieńNa początku zmodyfikowaliśmy plik /etc/resolv.conf - służy on do konfiguracji tzw. serwerów dns. Oznacza to dla nas, że nie będziemy wpisywać 102.78.45.32/~strona/ tylko www.strona.pl/~strona/ - na pewno łatwiej zapamiętać. Pierwsza linia oznacza, że najpierw będzie przeszukiwać naszego linuxa w poszukiwaniu adresu IP dla podanego "URL'a"(czyli www.strona.pl/~strona) a dwa następne wpisy to adresy dwóch serwerów DNS telekomunikacji.Plik /etc/ppp/onppp jest po prostu poleceniem wykonania pppd z długą listą parametrów - jeśli ktoś sobie życzy może wpisywać je za każdym razem. A teraz co one po kolei oznaczają: connect '/usr/sbin/chat -v -f /etc/ppp/chatscript': użyj programu wykonywalnego chat do skonfigurowania lini szeregowej, wykrecenia numeru oraz rozpoczęcia zdalnej sesji ppp (man pppd) -detach:opcja ta daje nam możliwość tego, że po podłączeniu wyświetlane są komunikaty o szybkości połączenia adresy ip: nasz i naszej bramy, poza tym blokowana jest konsola przez co aby zakończyć naciskamy po prostu Control-C i wtedy widzimy czas połączenia i liczbe odebranych i wysłanych bajtów crtscts: używaj sprzętowego sterowania przepływem modem: używaj linii sterowania modemem defaultroute: dodaj domyślną trasę do systemowych linii trasowania - oznacza to, że po uzyskaniu połączenia komputer zdalny, z którym się połączyliśmy będzie traktowany jako nasza domyślna brama do internetu /dev/ttyS0: modem jest przyłączony do "coma1" 115200: szybkosc lini szeregowej - najczęściej ustawia się ten parametr na podwójną szybkość modemu Plik /etc/ppp/chatcript jest skryptem, z którego korzysta program chat -- opcja -f oznacza korzystaj ze skryptu). Opcja -v włącza logowanie wszystich tekstów uzyskanych od modemu - co umożliwia wykrywanie przyczyn błędów w połączeniach Skrypt ten jest zestawem gotowych "zapytań i odpowiedzi". Jeśli jedna z nich się nie będzie zgadzać to skrypt przerwie wykonywanie. A to co oznaczają poszczególne opcje: ECHO ON :pokazywane na ekranie będą wszystkie komunikaty - widzimy co ewentualnie może pójść nie tak. Później możemy (jeśli nie będzie żadnych problemów) przestawić na ECHO OFF TIMEOUT : po prostu czekaj do 5 sekund "" ATZ : inicjalizacja modemu (standardowo modem po tym zapytaniu wysyła sygnał OK) OK ATDT0202122 :jesli modem odpowie OK (co oznacza nie mniej nie więcej jestem gotów) wykręć numer 0202122 - nawiasem mówiąc jeśli wstawimy pomiędzy AT i DT jeszcze opcję M0 to modem będzie bezgłośnie wybierał numer ABORT "NO CARRIER" : zakończ jeśli nie ma odpowiedzi ABORT BUSY : zakończ jeśli zajęte ABORT "NO DIALTONE" : zakończ jeśli nie ma sygnału wybierania ABORT WAITING : zakończ jeśli brak odpowiedzi w czasie określonym przez TIMEOUT TIMEOUT 45 : czekaj do 45 sekund CONNECT "" : czekaj na sygnał CONNECT TIMEOUT 5 : czekaj do 5 sekund name: ppp : oczekuj ciągu "name" ( username, Username itd.) i po tym wyślij ppp word: ppp : oczekuj ciągu "word" ( password, Password itd.) i po tym wyślij ppp Co poza tym Według naszych ustawień zawsze jeśli coś pójdzie nie tak możemy przejrzeć plik /var/log/messages, w którym powinniśmy zapisane szczegóły naszej sesji ppp. Jeśli coś dalej będzie nie tak sprawdźmy czy pod tego coma jest podpięty modem ( opcja /dev/ttyS0 - com1 i /dev/ttyS1 - com2 ) itd. Autorowi ta konfiguracja "ruszyła" pod linuksami: RedHat(5.2, 6.0), Mandrake (7.0) Debianem (2.1, 2.2), Suse 6.0, Slackware 3.6.0 oraz non-stop działa pod Slackware 7.1 - teoretycznie problemu nie powinno być tym bardziej, że skrypty były testowane na "domyślnych" instalacjach. Zawsze możemy uznać też, że jest to kolejny nieidealny opis połączenia linuxa z magicznym numerem 0202122. Albo też możemy się niepoddać i po prostu wysłać e-maila do Autora, który z chęcią pomoże, a i przy okazji będzie miał szansę udoskonalenia tego dokumentu. Zdaję sobie sprawę jednocześnie z błędów jakie mogły się tu pojawić - jeśli coś zauważyłeś mail-me oczywiście całość materiału jest potraktowna ogólnikowo - ale szczegóły można znaleźć w dokumentach howto (szczególnie ISP-howto, PPP-howto) oraz w manie systemowym. Stronę stworzono przy pomocy cudownego narzędzia jakim jest mcedit. Autor: Lucjan Modzel Strona domowa Kopiowanie i rozpowszechnianie bardzo wskazane (przy uwzględnieniu praw autorskich, człowieka itd. itp.) |
|