Połączenie PPP przez minicom-a.
Połączenie PPP przez minicom-a.
Autor: Winfried Trmper,
winni@xpilot.org
v0.0, 9 Grudnia 1996
Wersja polska: Bartosz Maruszewski
B.Maruszewski@jtz.org.pl
v1.01, 26 Lipca 1997
Chcesz mieć ładne narzędzie z menu do obsługi PPP? Łatwą w obsłudze i
zarazem bardzo zaawansowaną książkę telefoniczną z numerami telefonów twoich
dostawców Internet-u? Chcesz widzieć co się dzieje jak się logujesz?
Jeśli tak, to ten dokument jest dla ciebie!
Dokument ten został napisany w standarcie ISO-8859-2.
Oryginał znajduje się pod adresem
ftp.icm.edu.pl
w katalogu /pub/Linux/sunsite/docs/HOWTO/mini.
1. Wprowadzenie.
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).
1.1 Program emulujący terminal - "minicom".
"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".
1.2 Komentarze.
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.
1.3 Znane błędy.
W czasie pisania tego dokumentu, w programach "minicom" i
"runscript" oraz w podanej niżej metodzie były błędy.
"runscript" nie czeka na zakończenie programów zewnętrznych.
print "blah"
! sleep 10
print "blup"
Ten skrypt kończy się natychmiast (ale nie jeśli jest śledzony
poleceniem "strace").
"pppd" odbiera urządzenie szeregowe "minicom-owi" (jeśli dane
nie są przekazywane przez stdin).
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.
2. Dzwonienie przy pomocy minicom-a.
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.
2.1 Konfiguracja minicom-a.
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.
2.2 Ręczne startowanie PPP.
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".
2.3 Analizowanie logów.
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".
2.4 Skonfiguruj numer telefonu.
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.
2.5 Skrypt logujący.
"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 Trmper <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".
2.6 Zautomatyzowane dzwonienie przy starcie.
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.
2.7 Przyszłe rozszerzenia.
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:
automatyczne generowanie skryptu logującego przez obserwację
ręcznego podłączania się.
automatyczna analiza log-ów z korektą opcji.
wyciąganie wiadomości jak to pokazano w punkcie
2.3.
Koniec.
2.8 Od tłumacza.
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:
B.Maruszewski@jtz.org.plOficjalną 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
Wyszukiwarka
Podobne podstrony:
ppp over minicom plppp over minicom pl 2PPP over minicom plppp over minicom pl 1PPP HOWTO pl 6 (2)PPP HOWTO pl 9 (2)ppp howto pl 1PPP HOWTO pl 19 (2)SCM Over PLPPP HOWTO pl 4 (2)PPP HOWTO pl 25 (2)PPP HOWTO pl 20 (2)PPP HOWTO pl 27 (2)PPP HOWTO pl 24 (2)PPP HOWTO pl 22 (2)PPP HOWTO pl 3 (2)PPP HOWTO pl 28 (2)PPP HOWTO pl 5 (2)ppp howto pl 16więcej podobnych podstron