Po│▒czenie PPP przez minicom-a.

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 wyrafinowanym 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).

Wygl▒da 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 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".

 

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.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. 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

 

 Copyright © 2000 PTiK. Wszystkie prawa zastrze┐one.
 Kopiowanie tekst≤w w ca│o╢ci lub we fragmentach bez zgody redakcji i autor≤w zabronione.