Po³±czenie PPP przez minicom-a. Autor: Winfried Trümper, winni@xpilot.org v0.0, 9 Grudnia 1996 WWeerrssjjaa ppoollsskkaa:: BBaarrttoosszz MMaarruusszzeewwsskkii BB..MMaarruusszzeewwsskkii@@jjttzz..oorrgg..ppll 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. ______________________________________________________________________ Spis tre¶ci 1. Wprowadzenie. 1.1 Program emuluj±cy terminal - "minicom". 1.2 Komentarze. 1.3 Znane b³êdy. 2. Dzwonienie przy pomocy minicom-a. 2.1 Konfiguracja minicom-a. 2.2 Rêczne startowanie PPP. 2.3 Analizowanie logów. 2.4 Skonfiguruj numer telefonu. 2.5 Skrypt loguj±cy. 2.6 Zautomatyzowane dzwonienie przy starcie. 2.7 Przysz³e rozszerzenia. 2.8 Od t³umacza. ______________________________________________________________________ 11.. WWpprroowwaaddzzeenniiee.. PPP sta³ siê standardowym protoko³em sieciowym je¶li chodzi o po³±czenia z Internet-em realizowane poprzez telefon. Odpowiedni demon "_p_p_p_d" 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 "_m_i_n_i_c_o_m_-_a". Dokument ten jest krótsz± wersj± niemieckiego "_I_n_t_e_r_n_e_t_a_n_b_i_n_d_u_n_g _m_i_t _P_P_P" www.uni-koeln.de <http://www.uni-koeln.de/themen/linux/ppp/>. (Mo¿e kiedy¶ to przet³umaczê - t³umacz). 11..11.. PPrrooggrraamm eemmuulluujj±±ccyy tteerrmmiinnaall -- ""mmiinniiccoomm"".. "_m_i_n_i_c_o_m" 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 "_p_p_p_d". 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 "_m_g_e_t_t_y". 11..22.. KKoommeennttaarrzzee.. 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. 11..33.. ZZnnaannee bb³³êêddyy.. W czasie pisania tego dokumentu, w programach "_m_i_n_i_c_o_m" i "_r_u_n_s_c_r_i_p_t" 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 polece niem "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. 22.. DDzzwwoonniieenniiee pprrzzyy ppoommooccyy mmiinniiccoomm--aa.. 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. 22..11.. KKoonnffiigguurraaccjjaa mmiinniiccoomm--aa.. Wykonaj "minicom -s" i wybierz z menu "_S_e_r_i_a_l _p_o_r_t _s_e_t_u_p". Pierwsz± pozycj± powinno byæ "_S_e_r_i_a_l _D_e_v_i_c_e" - 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 "_E_x_i_t _t_o _m_i_n_i_c_o_m" i wpisz "_a_t_d_t_9_9_9_9_9". Twój modem od razu powinien zacz±æ wybieraæ numer i powiniene¶ us³yszeæ "klikniêcie" kiedy modem siê dodzwoni. Oczywi¶cie "_9_9_9_9_9" to nie jest prawid³owy numer telefonu. 22..22.. RRêêcczznnee ssttaarrttoowwaanniiee PPPPPP.. 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 "_p_p_p")? S± one wynikiem programu "_p_p_p" (albo jakiego¶ odpowiednika) uruchomionego na drugim koñcu linii. Je¶li tak, to mo¿esz uruchomiæ u siebie demon "_p_p_p_d" i przeanalizowaæ potem logi systemowe. Aby uruchomiæ "_p_p_p_d" w minicom-ie, mo¿esz zdefiniowaæ now± metodê ³aduj±c± (zobacz samemu jak to siê robi) albo przedefiniowaæ ustawienie "_k_e_r_m_i_t _p_r_o_g_r_a_m" z menu konfiguracyjnego "_F_i_l_e_n_a_m_e _a_n_d _p_a_t_h_s": 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æ "_p_p_p_d". Reszta tego dokumentu zajmuje siê automatyzacj± logowania i uruchamiania "_p_p_p_d". 22..33.. AAnnaalliizzoowwaanniiee llooggóóww.. 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ê ("_c_o_n_f_i_g_u_r_a_t_i_o_n _r_e_j_e_c_t_e_d"). W tym przypadku po prostu usun±³em opcjê "_m_r_u" z pliku "/etc/ppp/options". 22..44.. SSkkoonnffiigguurruujj nnuummeerr tteelleeffoonnuu.. 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 "_E_d_i_t": 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. 22..55.. SSkkrryypptt lloogguujj±±ccyy.. "minicom" uruchamia skrypt loguj±cy, po tym jak otrzyma ³añcuch "_C_O_N_N_E_C_T". A dok³adniej, "minicom" nie wykonuje tego skryptu samemu, tylko wo³a do tego zadania narzêdzie "_r_u_n_s_c_r_i_p_t" 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 "_r_u_n_s_c_r_i_p_t" u¿ywana jest do uruchamiania "_p_p_p_d". 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¿ "_p_p_p_d" pobiera dane z "_s_t_d_i_n" i nie mo¿e zawiesiæ modemu poleceniem "crtscts". 22..66.. ZZaauuttoommaattyyzzoowwaannee ddzzwwoonniieenniiee pprrzzyy ssttaarrcciiee.. 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. 22..77.. PPrrzzyysszz³³ee rroozzsszzeerrzzeenniiaa.. Poniewa¿ "_p_p_p_d" 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. 22..88.. OOdd tt³³uummaacczzaa.. 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.pl 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. <http://www.jtz.org.pl/bartek/tlumaczenie.html> 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