/pub/Linux/sunsite/docs/HOWTO/mini
.
PPP stał się standardowym protokołem sieciowym jeśli chodzi o
połączenia z Internet-em realizowane poprzez telefon. Odpowiedni
demon "pppd" dostarczany jest razem z bardzo prymitywnym
narzędziem do dzwonienia, które obsługuje dobrze tylko bardzo
proste ustawienia.
Opiszę tutaj alternatywne rozwiązanie na podstawie "minicom-a".
Dokument ten jest krótszą wersją niemieckiego "Internetanbindung mit PPP" www.uni-koeln.de. (Może kiedyś to przetłumaczę - tłumacz).
"minicom" jest bardzo wyrafinownym narzędziem służącym do dzwonienia do innych komputerów (dostawców internet-u lub BBS-ów). Ma fajne kolorowe menu, książkę telefoniczną i bardzo rozwinięty język skryptowy. Dlatego też idealnie nadaje się do użycia w połączeniu z "pppd".
Tak przy okazji: Jeśli użyjesz polecenia
/sbin/mgetty /dev/modem
to każdy, kto posiada konto na twoim komputerze może zadzwonić do ciebie (np. używając "minicom-a"). Ale to już inna historia. Przeczytaj dokumentację na temat "mgetty".
Jestem zainteresowany tylko tymi komentarzami, które wnoszą coś nowego do tego dokumentu. Nie będę odpowiadał na pytania ogólne dotyczące Linux-a, PPP, SLIP-a czy sieci.
W czasie pisania tego dokumentu, w programach "minicom" i "runscript" oraz w podanej niżej metodzie były błędy.
print "blah" ! sleep 10 print "blup"Ten skrypt kończy się natychmiast (ale nie jeśli jest śledzony poleceniem "strace").
Wyglada na to, że Miquel van Smoorenburg (autor "minicom-a") jest zbyt zajęty, żeby naprawić te błędy. Tak więc ochotnicy są mile widziani.
Wiele podręczników dotyczących PPP zaleca wyjść z minicom-a po dodzwonieniu się. Ale naprawdę nie ma potrzeby wychodzenia z tego wygodnego programu.
Wykonaj "minicom -s
" i wybierz z menu "Serial port
setup". Pierwszą pozycją powinno być "Serial Device" - jest
to najważniejsze z ustawień: urządzenie szeregowe, do którego
podłączony jest twój modem. (Czy są jacyś ochotnicy, do przeróbki
minicom-a tak, żeby obsługiwał kilka urządzeń szeregowych na raz?)
Wciśnij <ENTER>, aby potwierdzić i <ESC>, aby wyjść do
pierwszego menu. Wybierz "Exit to minicom" i wpisz
"atdt99999". Twój modem od razu powinien zacząć wybierać numer
i powinieneś usłyszeć "kliknięcie" kiedy modem się
dodzwoni. Oczywiście "99999" to nie jest prawidłowy numer
telefonu.
Może już próbowałeś zadzwonić do swojego dostawcy Internet-u. Widziałeś takie dziwne znaczki na ekranie po zalogowaniu się (jeśli nie, to wpisz "ppp")? Są one wynikiem programu "ppp" (albo jakiegoś odpowiednika) uruchomionego na drugim końcu linii. Jeśli tak, to możesz uruchomić u siebie demon "pppd" i przeanalizować potem logi systemowe.
Aby uruchomić "pppd" w minicom-ie, możesz zdefiniować nową metodę ładującą (zobacz samemu jak to się robi) albo przedefiniować ustawienie "kermit program" z menu konfiguracyjnego "Filename and paths":
A - Download directory : B - Upload directory : C - Script directory : D - Script program : /usr/bin/runscript E - Kermit program : /usr/sbin/pppd file /etc/ppp/mini_options
Teraz jak zobaczysz te dziwne znaczki możesz wcisnąć <Alt-K>, aby uruchomić "pppd".
Reszta tego dokumentu zajmuje się automatyzacją logowania i uruchamiania "pppd".
Chociaż nie chcę wyjasniać jak ma być konfigurowane PPP, to pokażę
małą sztuczkę jak czytać logi. Aby wyciągnąć ważne dla nas
informacje z pliku "/var/log/debug
" (albo alternatywnego
"/var/log/daemon.log
") wykonaj polecenie:
tail -n 40 /var/log/debug |\ grep -E " pppd\[[0-9]*\]:" |\ sed -e "s/^.*pppd\[/[/"
Powinieneś zobaczyć coś takiego:
sent [LCP ConfReq id=0x1 <mru 296>] rcvd [LCP ConfRej id=0x1 <mru 296>]
co pokazuje, że wysłaliśmy prośbę o konfigurację, aby ustawić
maksymalną jednostę do otrzymania (mru) na 296. Druga strona
odrzuciła naszą prośbę ("configuration rejected"). W tym
przypadku po prostu usunąłem opcję "mru" z pliku
"/etc/ppp/options
".
Jeśli powyższe się udało, to może chcesz zapisać numer telefonu w książce telefonicznej "minicom-a". Wciśnij <Alt-D>, aby wybrać menu dzwonienia i wybierz "Edit":
A - Name : Xeno B - Number : 022039697303 C - Dial string # : 1 D - Local echo : No E - Script : /etc/ppp/login.script F - Username : ppp-382 G - Password : top-secret H - Terminal Emulation : VT102 I - Backspace key sends : Delete J - Linewrap : Off K - Line Settings : Curr 8N1
To jest przykładowa pozycja, której używam do dzwonienia do swojego
dostawcy Internet-u. Skrypt /etc/ppp/login.script
jest
pokazany niżej. Dwie specjalne zmienne są przekazywane do tego
skryptu: $(LOGIN) i $(PASS), które są ustawione na
identyfikator użytkownika (F) i hasło (G). Ta cecha czyni minicom-a
trochę bardziej elastycznym, ponieważ potrzebujesz tylko jednego
skryptu, żeby zautomatyzować logowanie się do kilku dostawców.
"minicom" uruchamia skrypt logujący, po tym jak otrzyma łańcuch "CONNECT". A dokładniej, "minicom" nie wykonuje tego skryptu samemu, tylko woła do tego zadania narzędzie "runscript" jako podproces.
Poniżej znajduje się przykład jakiego używam dla swojego dostawcy.
# v1.0, 20.08.96 Winfried Trümper <winni@xpilot.org> print "" print "Automatic login via /etc/ppp/login.script" ## odkomentuj jeśli musisz wcisnąć <ENTER>, aby otrzymać prompt #send "" expect { "ogin:" "ogin>" "sername:" "sername>" "NO CARRIER" exit 1 } send "$(LOGIN)" expect { "assword:" "assword>" timeout 20 } send "$(PASS)" expect { "port" send "ppp" "Start your PPP now" "}!}!}" timeout 10 } print "" print "Now switching into ppp-mode ..." print "" ! /usr/sbin/pppd file /etc/ppp/mini_options print "" print "the command killall -TERM pppd terminates pppd"
Możliwość wykonywania programów zewnętrznych przez "runscript"
używana jest do uruchamiania "pppd". Skopiuj swój oryginalny
plik z opcjami dla ppp do "/etc/ppp/options.ttyS1
" (gdzie
"ttyS1" musisz zamienić na urządzenie, do którego dołączony jest
twój modem) i skasuj wszystkie linie, które są specyficzne dla
twojego modemu (takie jak: "connect", "crtscts" albo "modem") z
/etc/ppp/options
.
Umieść opcje, które powinny być specyficzne dla połączenia ppp
przez minicom-a w pliku "/etc/ppp/mini_options
". Jedną z
tych opcji powinno być
disconnect "chat '' '\d\d+++\d\dATH\r\c'"
Ta opcja MUSI być ponieważ "pppd" pobiera dane z "stdin" i nie może zawiesić modemu poleceniem "crtscts".
Użyj opcji "-d", aby dzwownić pod wskazany numer od razu po
uruchomieniu minicom-a.
Możesz też spróbować
open -sl -- minicom -d 1
Aby wrzucić minicom-a na inną konsolę - zobacz mini-HOWTO Consoles-Many.
Ponieważ "pppd" jest demonem, więc nie jest on przeznaczony do działania w interakcji czy obserwacji. I to jest w porządku. Przecież używamy systemy "unixowego", nie ?
Standardowym rozwiązaniem jest jakiś "front-end". Są jacyś chętni, do grzebania się z minicom-em?
Fajnymi rozszerzeniami byłyby:
Koniec.
Tłumaczenie to jest chronione prawami autorskimi © Bartosza Maruszewskiego. Dozwolone jest rozprowadzanie i dystrybucja na prawach takich samych jak dokument oryginalny.
Jeśli znalazłeś jakieś rażące błędy ortograficzne, gramatyczne, składniowe, techniczne to pisz do mnie:
Oficjalną stroną tłumaczeń HOWTO jest http://www.jtz.org.pl/
Aktualne wersje przetłumaczonych dokumentów znajdują się na
tejże stronie. Dostępne są także poprzez anonimowe ftp pod adresem
ftp.jtz.org.pl w katalogu /HOWTO/
.
Przetłumaczone przeze mnie dokumenty znajdują się także na mojej stronie WWW. Są tam też odwołania do Polskiej Strony Tłumaczeniowej.
Kontakt z naszą grupą, grupą tłumaczy możesz uzyskać poprzez listę
dyskusyjną jtz@ippt.gov.pl. Jeśli chcesz sie na nią zapisać, to
wyślij list o treści subscribe jtz Imię Nazwisko
na adres
listproc@ippt.gov.pl