Linux PPP HOWTO

Robert Hart, hartr@hedland.edu.au
v2.2, 25 sierpnia 1996
t│umaczenie piotr.pogorzelski@ippt.gov.pl
w1.0, luty 1997


Prezentujemy w jaki spos≤b pod│▒czyµ komputer PC z Linuxem do serwera PPP, w jaki spos≤b za pomoc▒ PPP po│▒czyµ ze sob▒ dwie sieci oraz jedn▒ z metod sworzenia z twojego Linuxa serwera PPP.

Prawa autorskie

Prawa autorskie nale┐▒ do autora dokumentu. Udziela siΩ pozwolenia na dystrybycjΩ tego dokumnetu w formie elektronicznej, na p│ytkach CD, pod warunkiem, ┐e zostanie zachowana oryginalna forma dokumentu. Udziela siΩ r≤wnie┐ pozwolenia na na wydrukowanie niniejszego dokumentu do u┐ytku prywatnego.

Prawa autorskie do t│umaczenia (c)1997 pioptr.pogorzelski@ippt.gov.pl.

Zabrania siΩ publikowania fragment≤w lub ca│o╢ci tego dokumnetu bez zgody autora, za wyj▒tkiem przypadk≤w opisanych powy┐ej.

Dystrybucja

W miarΩ powstawania nowych wersji niniejszy dokument bΩdzie wysy│any do pl.comp.os.linux.odpowiedzi. W postaci HTML mo┐na go zawsze zobaczyµ pod adresem http://www.ippt.gov.pl/~ppogorze/Linux/JTZ/html/PPP-HOWTO.pl.html

W formie bardziej nadaj▒cej siΩ do druku, mo┐na go znale╝µ tutaj: ftp://www.ippt.gov.pl/pub/Linux/JTZ/.

Najnowsza wersja tego dokumentu w wersji angielskiej dostΩpna jest pod adresem http://sunsite.unc.edu/pub/Linux/docs/HOWTO/PPP-HOWTO. Lub w r≤znych innych formatach (SGML, ASCII, postscript, DVI) ftp://sunsite.icm.edu.pl/pub/Linux/sunsite/docs/HOWTO/other-formats.

PodziΩkowania

W przygotowaniu tego dokumentu pomaga│o mi wiele os≤b. Specjalne podziΩkowania dla Ala Longyeara, za pomoc w zrozumieniu samego PPP (je╢li znajdziecie jakie╢ b│Ωdy, to s▒ to moje b│Ωdy, nie jego), Gregowi Hankinsowi (opiekunowi Linux Howto) i Danielowi Berinsonowi za pomoc przy linuxdoc-sgml kiedy mialem z nim k│opoty(3dbu przed terminem publikacji), oraz Debi Trackett (MaximumAccess.com) za wiele pomocnych sugestii na temat stylu, zawarto╢ci, porz▒dku i prostoty i jasno╢ci obja╢nie±.

I na koniec dziΩkujΩ wielu ludziom, kt≤rzy kontaktuj▒c siΩ ze mn▒ poczt▒ elektroniczn▒ przesy│ali swoje uwagi. Jak w przypadku wszystkich autor≤w, nasz▒ jedyn▒ wystarczaj▒c▒ zap│at▒ jest satysfakcja, ┐e uda│o siΩ nam pom≤c wielu ludziom. Pisz▒c ten dokument sp│acam czΩ╢µ d│ugu, jaki ja - iwszyscy u┐ytkownicy Linuxa- zaci▒gn▒│em wobec ludzi, kt≤rzy napisali i opiekuj▒ siΩ systemem, kt≤ry wybra│em.

1. Wprowadzenie

PPP (Point to Point Protocol) jest mechanizmem umo┐liwij▒cym tworzenie i utrzymowanie po│▒cze± w standardzie IP (Internet Protocol) i innych przez linie szeregowe - bezpo╢rednio miΩdzy komputerami za pomoc▒ kabla bezmodemowego, zestawione pol▒zcenie sesji telnet, po│▒czenie miΩdzy dwoma komputerami zestawione za pomoc▒ modem≤w i linii telefonicznych. Za pomoca PPP mo┐esz po│▒czyµ Linuxa z serwerem PPP i mieµ dostΩp d ozasob≤w sieci, do kt≤rych ma dostΩp sam serwer (no prawie wszystkich), tak jakby tw≤j komputer by│ bezpo╢rednio przy│▒czony do sieci.

Mo┐esz r≤wnie┐ ze swojego Linuxa zrobiµ serwer WWW, tak aby inni u┐ytkownicy mogli dzwoniµ do twojego komputera i korzystaµ z zasob≤w twojego komputera i sieci do kt≤rej jest przy│▒czony.

Poniewa┐ PPP jest protoko│em typu ka┐dy-z-ka┐dym, dlatego mo┐esz wykorzystaµ dwa komputery PC z Linuxem do po│▒czenia ze sob▒ dw≤ch sieci (lun np. sieci lokalnej do internetu).

Jedn┐ z zasadniczych r≤┐nic pomiΩdzy PPP i sieci▒ Ethernet jest przepustowo╢µ. Standardowa sieµ Ethernet pracuje z maksymaln▒ teoretyczn▒ przepustowo╢ci▒ 10 Mbs (milion≤w bit≤w na sekunde), podczas gdy modemy pracuj▒ z prΩdko╢ciami do 33.6 kbps (tsiecy bit≤w na sekunde). R≤wnie┐ w zale┐no╢ci od rodzaju po│▒czenia PPP mog▒ zaistnieµ ograniczenia w wykorzystaniu pewnych us│uch lub program≤w u┐ytkowych.

1.1 Klienci i serwery

PPP jest protoko│em typu ka┐dy-z-ka┐dym; nie ma (technicznej) r≤┐nicy miΩdzy komputerme kt≤ry nawi▒zuje po│▒czenie i komputerem kt≤re na nie odpowiada. Jednak wygodnie jest my╢leµ o tym jako o systemie klient i serwer.

Kiedy dzwonisz aby bawiazµ po│▒czenie jeste╢ klientem. Komputer z kt≤rym chcesz siΩ po│▒czyµ jest serwerem.

Kiesdy konfigurujesz Linuxa, aby mog│ odpowiadaµ na przychodzace po│▒zcenia, wtedy konfigurujesz serwer.

Ka┐dy kompuer PC z Linuxem, mo┐e byµ zar≤wno klientem i serwerem - nawet r≤wnocze╢nie, je╢li masz tylko wiΩcej ni┐ jeden port szeregowy (i modem, jesli to jest konieczne). Tak jak stwierdzili╢my wcze╢niej, tak naprawdΩ nie ma r≤┐nicy pomiΩdzy klientem i serwerem, przynajmniej tak d│ugo, jak dotyczy to samego PPP od momentu zestawienia po│▒czenia.

W tym dokumencie komputery kt≤re inicjuj▒ po│▒czenie ("dzwoni▒ do") nazwyamy KLIENTAMI. Komputery, ktr≤re odbieraj▒ po│▒czenie, sprawdzaj▒ to┐szamo╢µ dzwoni▒cego (za pomoca hase│ lub innych mechanizm≤w) nazwyamy SERWERAMI.

Ludzi najbardziej interesuje korzystanie z PPP jako klient w celu nawiazaniu po│▒czenia z serwerem i po│▒czeniu ich komputera lub ca│ej sieci lokalnej z Internetem.

Procedura opisana w tym dokumencie pozwoli ci na zestawienie po│▒zcenia z Inernetem a nawet zautomatyzowanie ca│ej tej procedyry.

Pdamy r≤wnie┐ kilka wskaz≤wek w jaki spos≤b skonfigurowaµ Linuxa jako serwer PPP i jak po│▒czyµ ze sob▒ dwie sieci (z pe│nym routingiem) , co jest czΩsto nazywane zestawianiem po│▒czenia sieci WAN - Wide Area Network.

1.2 R≤┐nice pomiΩdzy dydtrybucjami Linuxa

Istnieje wiele r≤┐nych dystrybucji Linuxa, i ka┐da posiada w│asne sposoby na wykonywanie pewnych standardowych zada±.

W szczeg≤lno╢ci istniej▒ dwa r≤┐ne sposoby jakich u┐ywa Linux (i Unix) do uruchomienia systemu, sonfigurowania interfejs≤w itp.

M≤wimy o stylu stylu BSD inicjowania systemu i stylu systemu V. Mo┐esz czΩsto spotkaµ za┐arte dyskusja nad wy┐szosci▒ jednego systemu nad drugim. Je╢li ciΩ to bawi mo┐esz siΩ przy│▒czyµ.

Prawdopodobnie najbardziej rozpowszechnionymi dystrybucjami s▒:

Styl BSD polega na przetrzymywaniu plik≤w inicjalizuj▒cych system w katlogu /etc/..., a mianowicie:


        /etc/rc
        /etc/rc.local
        /etc/rc.serial

Pliki inicjalizacjne w wersji Systemu V s▒ przecowywane w licznych podkatalogach katalogu /etc/rc.d/... :


drwxr-xr-x   2 root     root         1024 Jul  6 15:12 init.d
-rwxr-xr-x   1 root     root         1776 Feb  9 05:01 rc
-rwxr-xr-x   1 root     root          820 Jan  2  1996 rc.local
-rwxr-xr-x   1 root     root         2567 Jul  5 20:30 rc.sysinit
drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc0.d
drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc1.d
drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc2.d
drwxr-xr-x   2 root     root         1024 Jul 18 18:07 rc3.d
drwxr-xr-x   2 root     root         1024 May 27  1995 rc4.d
drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc5.d
drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc6.d

Je╢li chcesz wiedzieµ, w kt≤rym z tych plik≤w jest inicjowana twoja karta sieciowa i tablice routingu, musisz poszukaµ w tych plikach odpowiednichj polece±, kt≤re to wykonuj▒.

Niekt≤re dystrybucje (RedHat i Caldera) posiadaj▒ progeam pod X s│u┐▒cy do konfiguracji systemu PPP. W tym dokumencie nie opisujemy tych specyficznych narzΩdzi. Je╢li masz z nimi k│opot skontaktuja siΩ bezpo╢rednio z dystrybutorami.

2. Numery IP

Ka┐de urz▒dzenie przy│▒czaj▒ce komputer do Internetu musi posiadaµ w│asny, niepowtarzalny numer IP. Jest on przydzielany w ka┐dym kraju centralnie przez odpowiednie instytucje.

Je╢li przy│▒czasz do Internetu sieµ lokaln▒ (LAN) musisz korzystaµ z numer≤w IP z w│asnej puli adres≤w IP (dla ka┐dego komputera, urz▒dzenia w sieci lokalnej). Nie mo┐esz braµ adres≤w z powietrza i korzystaµ z nich d o│▒czeia siΩ z inn▒ siecia, gdy┐ w najlepszym wypadku to nie bedzie dzia│aµ, a w najgorszym moze zk│≤ciµ pracΩ innych system≤w, kt≤rych numery pokrywaj▒ siΩ z wybranymi przez ciebie.

PamiΩtajm ┐e numery IP podawane w tym dokumencie (poza kilkoma wyj▒tkami) nale┐▒ do puli numer≤w dla sieni nie przy│▒czonych do internetu, zarezerwowane dla sieci, kt≤re nigdy nie bed▒ do niego przy│▒czone.

Klasy numr≤w IP, zarezerwowwane dla sieci, kt≤re nigdy nie bΩd▒ przy│aczone fo Interntu wygl▒daj▒ nastΩpuj▒co:

Je╢li posiadasz siec, krora nie otrzyma│a adres≤w od instytucji do tego celu przeznaczonej, powiniene╢ u┐ywac numer≤w z jendej z przedstawionej pozy┐ej grup.

Te numery nigdy nie powinny byµ u┐ywane w internecie. Mog▒ byµ z powodzeniem u┐ywane w lokalnych sieciach Ethernet na komputerach, kt≤re s▒ przy│aczone do internetu. JEst to mo┐liwe poniewa┐ numery IP s▒ przydzielane urz▒dzeniom a nie komputerom. Tak wiΩc podczas gdy karta sieciowa twojego komputera moze byµ skonfigurawana do uzywania numeru 10.0.0.1, mo┐esz byµ jednocze╢nie przy│▒czony do internetu za pomoc▒ protoko│u PPP i interfejs PPP na twoim komputerze otrzyma zupelnie inny (zarejestrowany do u┐ycia w Internecie) numer IP. Twoj serwer bΩdzie posiada│ po│▒czenie z internetem, lecz inne twoje komputery w sieci lokalnej nie bΩd▒.

Jednak wykorzaystuj▒c mo┐liwo╢ci linuxa o nazwie masqueradeing i narzΩdzie ipfwadm, mo┐esz dostΩpniµ pozosta│ym komputerom dostΩp do internetu (z pewnymi ograniczeniami).

Wiecej inforamcji na ten temat mo┐na znale╝µ w dokumencie IP Masquerade mini HOWTO pod adresem Linux IP Masquerade mini HOWTO

Wiekszo╢c u┐ytkwonik≤w, kt≤ra jest zinteresowana pod│▒czeniem przez PPP swojego komputera do internetu przy wykorzystaniu w tym celu serwera dostarczanego przez swojego dostawcΩ Internetu nie musi staraµ sieo przydzia│ w│asnego numeru IP.

Je╢li pragniesz przy│▒czyµ do internetu ma│▒ podsieµ, dostawcy Internetu (ISP) mog▒ zapewniµ dedykowan▒ podsieµ kilku numer≤w z puli w│asnych numer≤w IP.

W przypadku wiΩkszo╢ci u┐ytkownik≤w przy│▒czaj▒cych za pomoc▒ PPP w│asny komputer do Internetu, wiΩkszo╢µ dostawc≤w stosuje dynamicznie przydzielany numer IP. To znaczy, zΩ w fazie po│▒czenia, serwer PPP przeka┐e twojemu komputerowi, kt≤ry numer IP masz przydzielony na czas zestawionego po│▒czenia.

W przypadku dynamicznego rpzydzielania adres≤w IP, za ka┐dym razem kiedy siΩ │▒czysz mo┐em otrzymaµ inny numer IP. MA t oznaczenie dla program≤w pracuj▒cych na twoim komputerze w trybie serwera, np. sendmail , ftpd, httpd i inne. Ogranizcenia wynik│e z dysnamicznego przydzia│u adres≤w (i spsoby ich obej╢ciatam gdzie jest to mo┐liwe) s▒ om≤wione dalej.

3. Cel tego dokumentu

3.1 Konfiguracja klienta PPP

Krok po kroku opisujemy w jaki spos≤b nawi▒zaµ po│▒czenie miΩdzy modemami i zestawiµ po│▒czenie IP za pomocaprotoko│u PPP. Zak│adamy, ┐e j▒dro ma wkompilowan▒ obs│ugΩ PPP (lub jest skompilowany odpowiedni modu│) oraz zosta│ zainstalwoane niezbΩdne oprogramowanie. (Nie podajemy w jaki spos≤b skonfigurowaµ/skompilowaµ j▒dro, dowiesz siΩ na ten temat z innych dokument≤w).

Korzystanie z DIPa - NIE, korzystaj z CHATa

Choµ DIP (standardowe narzΩdzei do zestawiania po│▒czenia w trybie SLIP) mo┐e byµ r≤wnie┐ wykorzystane do zestawienia po│▒czenia PPP, jednak skrypty dio tego wymagane s▒ znacznie bardziej skomplikowane. Dlatego nie opisujemy jak korzystaµ z DIPa do tworzenia po│aczenia PPP.

Zamiast tego opisujemy standardowe oprogramowanie wykorzystywane w tym celu, praΩ program≤w chat/pppd.

3.2 Konfiguracja serwera PPP

Pdajemy wskaz≤wki w jaki spos≤b skonfigurowaµ serwer PPP (pozwalaj▒cy innym na nawi▒zywanie po│acze± modemowych i zestawianie po│▒cze± PPP).

PamiΩtaj, ┐e zrobiµ z Linuxa serwer PPP mo┐na na mn≤stwo sposob≤w. W tym dokumenci autor przedstawia w jaki spos≤b autor skonfigurowa│ kilkana╢cie takich serwer≤w, ka┐dy po 16 modem≤w.

Ta metoda zosta│a sprawdzona w dzia│aniu. Jednak nie musi byµ najlepsz▒. Je╢li kt≤s ma sprytniejsz▒,lepsza konfiguracjΩ swerwera PPP, nie wahajcie siΩ napisaµ na ten temat do autora niniejszego dokumentu.

3.3 Po│▒µzenie dw≤ch sieci LAN, lub sieci LAN z Internetem

Przedstawiamy podstawowe informacje na temat │▒czenia dw≤ch sieci LAN, lub sieci LAN z Internetem przy wykorzystaniu oritiko│u PPP.

3.4 W chwili obecnej ten dokument nie obejmuje...

4. Wersje opisywanych program≤w

Ten dokument zak│ada, zΩ korzystasz zjadra Linuxa w wersji 1.2.x i PPP w wersji 2.1.2 lub j▒dra w wersji 1.3.x/2.0.x u PPP 2.2

Mo┐liwe jest korzystanie PPP w wersji 2.2.0 z j▒drem 1.2.13 lecz wymagane s▒ odpwiednie │aty. Ten dokument NIE omawia tego przypadku.

Powiniene╢ r≤wnie┐ wiedizeµ, ┐e nie mo┐na u┐ywaµ PPP 2.1.2 z j▒drem 2.0.X.

PamiΩtajm ze ten dokument nie porusza problem≤w zwi▒zanych z wykorzysatniem │adowalnych modu│≤w j▒dra w wersji 2.0.x. Przeczytaj kerleld mini-HOWTO i dokumetacje kernel/module w dystrybucji j▒der 2.0.x ( w katalogu /usr/src/linux/Documentation.

Poniewa┐ ten dokument jest rpzeznaczony dla pocz▒tkuj▒cych u┐ytkownik≤w, mocno zalecamy korzystanie z wersji linuxa i towarzysz▒cego oprogramowania, kt≤rych wspo│raca jest uwa┐ana za stabiln▒.

5. Inne po┐yteczne/wa┐ne dokumenty

Radzimy zapoznaµ siΩ z :-

Najlepszym punktem pocz▒tkowym dokumentacji Linuxa po polsku jest Strona macierzysta polskich t│umacze± dokumentacji Linuxa

Choµ do zestawienia po│▒czenia PPP wystarcz▒ informacje zawarte w tym dokumencie bez konieczno╢ci czytania innych, lecz radzimy to zrobiµ , przez co uzyskasz lepsze zrozumienie ca│ego zagadnienia. Bedziesz w stanie samemu wykrywaµ problemy (lub choµby zadawaµ m▒drzejsze pytania na pl.comp.os.linux).

Wspomniane dokumenty (jak zreszt▒ ca│a masa innych, w│▒czaj▒c odpowiednie RFC) dostarczaj▒ dodatkowej, szczeg≤│owej informacji od tej jak▒ mo┐na by│o przedstawiµ w niniejszym dokumencie.

Je╢li masz zamiar pod│▒czyµ do Internetu sieµ lokaln▒ LAN, powiniene╢ posiadaµ podstawowe informacje na temat sieci TCP/IP. Pr≤cz wspomnianych wcze╢niej dokuent≤w na pewno bardzo warto╢ciowymi bΩd▒ dla ciebie pozycje wydawnictwa O'Reilly: "TCP/IP Network Administration" i "Building Internet Firewalls".

5.1 Po┐yteczne Listy dyskusyjne na temat Linuxa

Istnieje wiele list dyskusjnych na temat Linuxa, jako forum wymiany informacji miΩdzy u┐ytkownikami o r≤┐nym poziomie znajomo╢ci tematu. ZachΩcamy do korzystania z tych, kt≤re ciΩ interesuj▒ i w miarΩ mo┐liwo╢ci dostarczania tam w│asnego wk│adu.

CzΩ╢µ z list jest przeznaczowna dla bardzo zaawansowanych u┐ytkownik≤w lub specjalist≤w w danym temacie. Choµ nikt nie bΩdzie narzeka│ je╢li siΩ na tak▒ listΩ zapiszesz, lecz nie bΩdziesz wysy│a│ ┐adnych pyta±, lecz je╢li zadasz pocz▒tkuj▒ce pytania na takich listach, mo┐esz spodzieaµ siΩ goro▒cych odpowiedzi. Nie jest tak dlatego, ze guru nienawidz▒ pocz▒tkuj▒cych, lecz dlatego, ┐e przeznaczeniem tych list jest obs│uga konkretnych problem≤w ma odpowiednio wysokim poziomie trudno╢ci.

ZachΩcamy do do│▒czenia siΩ do list, kt≤re nie maj▒ szceg≤lnyc hwywmaga± c odo uczestnik≤w, lecz pamiΩtaj aby twoje wiadomo╢ci by│y ╢ci╢le zwi▒zane z tematem listy.

Dobrym punktem startowym na temat list i grup dyskusyjnych o Linuxe jest strona Linux Mailing List Directory

6. Konfigurajca j▒dra

Aby╢ mog│ korzystaµ z PPP j▒dro Linuxa musi byµ skompilowane w taki spos≤b aby wspomagaµ jego obs│ugΩ. Je╢li jeszcze nie posiadasz, zaopatrz siΩ w kod ╝r≤d│owy j▒dra - je╢li jest zainstalowany znajdziesz go w katalogu /usr/src/linux.

Sprawd╝ zawarto╢µ tego katalogu, wiele dystrybucji podczas instalacji wgrywaj▒ r≤wnie┐ pliki ╝r≤d│owe j▒dra.

¼r≤d│a j▒dra mo┐ne r≤wnie┐ zfobyµ przez Internet z sunsite.unc.edu lub jego licznych kopii.

6.1 Instalacja plik≤w ╝r≤d│owych j▒dra Linuxa

Kr≤tka instrukcja jak zdobyµ i zainstalowaµ ╝r≤d│a j▒dra Linuxa. Pe│n▒ inforamcjΩ na ten temat zawiera dokument Linux Kernel HOWTO.

Aby zainstalowaµ i skompilowaµ j▒dro Linuxa musisz byµ zalogowany jako administrator(root).

  1. zmie± katalog roboczy na /usr/src
    cd /usr/src
  2. Sprawd╝ /usr/src/linux czy s▒ ju┐tam zainstalowane pliki ╝r≤d│owe j▒dra.
  3. Je╢li nie masz ╝r≤de│, pobierz je z ftp://sunsite.icm.edu.pl/pub/Linux/helsinki/v2.0
    Je╢li szukasz starszych wersji j▒dra np. 1.2.x zobacz ftp://sunsite.icm.edu.pl/pub/Linux/helsinki/v1.2
  4. Wybierz odpowiedni▒ wersjΩ - zwykle najnowsz▒. Pobierz j▒ i umie╢µ w katalogu /usr/src.
    Uwaga: plik 'tar' jest plikiem-archiwum - zwykle skompresowanym, tak jak pliki archiwa zawieraj▒ce ╝r≤d│a j▒dra Linuxa - zawieraj▒cym wiele innyc plik≤w i katalog≤w. TO jest taki Linuxowy odpowiednik DOSowego archiwum zip.
  5. Je╢li masz ju┐ zainstalowane pliki ╝r≤d│owe, lecz chcesz od╢wie┐yµ wersjΩ j▒dra musisz usun▒c stare pliki. Wydaj polecenie:
    rm -rf /usr/src/linux
  6. teraz rozkompresuj i zainstaluj ╝r≤d│▒ wydaj▒c polecenie: tar xzf linux-2.0.29.tar.gz
  7. NAstΩpnie, cd /usr/src/linux , przezcytaj plik README. Zawiera doskona│e wyja╢nienie w jaki spos≤b skonfogurowaµ i skompilowaµ nowe j▒dro. Przeczytaj ten plik (mozesz go wyderukowaµ, gdy┐ papierowa kopia mo┐e byµ przydatna podczas konfiguracji i kompilacji j▒dra).

6.2 Rozpoznanie sprzΩdtu

MUSISZ wiedzieµ jakiego rodzaju karty posiadasz. W niekt≤rych przypadkach (karty d╝wiΩkowe) musisz r≤wnie┐ znaµ r≤┐ne inne ustawienia (np przerwanie IRQ, adrew We/Wy i podobne).

6.3 Kompilacja j▒dra - Wersja 1.2.13

Aby rozpocz▒µ proces konfiguracji, wykonaj polecenia opisane w pliku README. Rozpozcynasz proces konfiguracji j▒dra poleceniem

make config

Aby korzystaµ z PPP, musisz skonfigurowaµ j▒dro tak, aby zosta│a do│▒czniea obs│uga PPP w j▒drze (PPP wymaga zar≤wno obs│ugi protoko│u przez j▒dro, jak i samego programu pppd).


  PPP (point-to-point) support (CONFIG_PPP) [n] y

Odpowiedz na nastΩpne pyania zgodnie z posiadanycm sprzΩtem i po┐▒danyc hcech systemu. NastΩpnie wykonaj kolejne polecenie przedstawione w pliku README.

Jadro 1.2.13 tworzy jedynie 4 urz▒dzenia PPP. W przypadku korzystania z kart wieloportowych musisz poprawiµ pliki ╝r≤d│owe j▒dra. (Zobacz README.linux, czΩ╢µ dystrybucji palietu PPP-2.1.2.

Uwaga: dialog komfiguracyjny j▒dra w wersji 1.2.13 nie pozwala na cofanie siΩ do pyta± na kt≤re ju┐ zosta│▒ podana odpowied╝. WiΩc je╢li pomylisz siΩ musisz przerwaµ program (naciskaj▒c Ctrl-C i powt≤rzenie polecenia make config.

6.4 Kompilacja j▒dra - wersje 1.3.x i 2.0.x

W przypadku j▒dra 2.0.x mo┐esz wykorzystaµ przedstawion▒ wcze╢±iej procedurΩ. W celu przwid│oweg ozinstalowania plik≤w ╝r≤d│owych wykonuj instrukcje z pliku README. NastΩpnie rozpocznij konfiguracjΩ wydaj▒c polecenie:

make config

Mo┐esz spr≤bowaµ innego sposobu, a mianiwicie

make menuconfig

Ta metoda przywo│uje program konfiguracyjny oparty o listΩ prostych w obs│udze menu, z osi▒galn▒ pomoc▒ on-line.

Jesnieje r≤wnie┐ bardzo rekomentowana wersja pod X

make xconfig

Obs│uga PPP mo┐e byµ wkompilowana bezpo╢rednio w j▒dro lub jako oddzielny modu│. Je╢li bΩdziesz korzyst▒│ z PPP tylko od czasu do czasu, wtedy polecamy skompilowanie PPP jako oddzielnego modu│u. Je╢li korzystasz zporgramu 'kerneld', modul PPP zostanie za│adowany automatycznie w momencie gdy j▒dro zostanie poproszone o obs│ugΩ protoko│u PPP. W ten spos≤b oszczedzasz cenna pamiΩc operacyjn▒ w systuacji kiedy nie korzystasz z PPP, poniewa┐ kod jadra musis w ca│o╢ci znajdowaµ sie w pamiΩci operacujnej komputera, lecz modu│y │wadowane przez kerneld saautomatyczne usuwane z pamiΩci jΩsli nikt z nich nie korzysta.

W tym celu musisz w│▒czyµ obs│ygΩ │adowania modu│ow:


        Enable loadable module support (CONFIG_MODULES) [Y/n/?] y

Aby dodaµ obs│ugΩ PPP odpowiedz na nastΩpuj▒ce pytanie:


        PPP (point-to-point) support (CONFIG_PPP) [M/n/y/?]  

Je╢li chcesz aby to by│ │adowalny modu│ odpowiedz M. Je╢li bma byµ wkompilowany bezpo╢rednio w j▒dro odpowiedz Y.

W przeciwie±stwie do j▒dra w wersji 1.2.13 j▒dro 2.0.x tworzy ur┐adzenie PPP w locie wtedy, kiedy s▒ potrzebne i nie trzeba zmieniaµ ╝r≤dΩ│ j▒dra aby dodaµ wiΩcej ni╝ 4 kana│y PPP.

6.5 Uwaga na temat PPP-2.2 i /proc/net/dev

Jesli korzystasz z PPP-2.2 stwierdzisz, zΩ efektem ubocznym tworzenia kana│≤w PPP w locie jest fakt, ┐e nie s▒ one wykazywane w pliku /proc/net zanim nie zostanie utworzone przez uruchomiony program pppd.


[hartr@archenland hartr]$ cat /proc/net/dev
Inter-|   Receive                  |  Transmit
 face |packets errs drop fifo frame|packets errs drop fifo colls carrier
    lo:  92792    0    0    0    0    92792    0    0    0     0    0
  eth0: 621737   13   13    0   23   501621    0    0    0  1309    0

Je╢li ju┐ jakie╢ po│▒czenia zostan▒ nawi▒zane, na serwerze PPP bΩdziesz m≤g│ obej┐eµ listΩ urz▒dze± podobn▒ do tej poni┐ej:


[root@kepler contrib]# cat /proc/net/dev
Inter-|   Receive                  |  Transmit
 face |packets errs drop fifo frame|packets errs drop fifo colls carrier
    lo: 428021    0    0    0    0   428021    0    0    0     0    0
  eth0:4788257  648  648  319  650  1423836    0    0    0  4623    5
  ppp0:   2103    3    3    0    0     2017    0    0    0     0    0
  ppp1:  10008    0    0    0    0     8782    0    0    0     0    0
  ppp2:    305    0    0    0    0      297    0    0    0     0    0
  ppp3:   6720    7    7    0    0     7498    0    0    0     0    0
  ppp4: 118231  725  725    0    0   117791    0    0    0     0    0
  ppp5:  38915    5    5    0    0    28309    0    0    0     0    0

6.6 Og≤lne ueagi na temat konfiguracji j▒dra

Je╢li konfigurujesz swojego Linuxa jako serwer PPP, musisz wkompilowaµ w j▒dro obs│ugΩ forwardowania pakiet≤w (IP forwarding). Jest to r≤wnie┐ konieczne, je╢li twoj Linux ma │▒czyµ ze sob▒ dwie sieci LAN lub przy│▒czyµ lokaln▒ sieµ LAN do Internetu.

Je╢li przy│▒czasz sieµ LAN do Internetu (lub │▒czysz ze sob▒ dwie sieci LAN) powiniene╢ po╢wiΩciµ du┐o uwagi bezpiecze±stwu. Dlatego obowi▒zkowe wydaje siΩ w takim przypadku wkompilowanie obs│ugi firewalla (IP Firewalling).

BΩdziesz tego potrzebowa│ r≤wnie┐ w przypadku, gdy chcesz skorzystaµ z IP masquerade w celu pod│▒czenia do internetu sieci lokalnej pracuj▒cej na zastrze┐onych klasach numer≤w IP.

Jak ju┐ zainstalujesz nowe j▒dro i zrestartujesz komputer aby by│o aktywne, wtedy mo┐esz rozpocz▒µ konfigurowanie i testy po│▒czenia PPP.

7. Zbieranie niezbΩdnych inforamcji na temat us│ugi PPP

Zanim bΩdziesz w stanie ustanowiµ po│▒czenie PPP z serwerem, musisz zdobyµ nastΩpuj▒ce informacje (od administratora opiekuj▒cego sie serwerem):

Zapisz dok│adnie wszystkie te informacje - bΩdziesz z nich korzystaµ.

7.1 Testowanie modemu dla po│▒cze± wychodz▒cych

Powiniene╢ siΩ upewniµ ┐e tw≤j modem jest poprawnie pod│▒czony i skonfigurowany, i wiesz do kt≤rego portu szeregowego jest pod│▒czony.

PamiΩtaj:-

Korzystaj▒c z programu komunikacyjnego (mp minicom), wybierz numer telefoniczny serwera PPP do kt≤rego chcesz siΩ przy│▒czyµ za pomoc▒ PPP.

(Uwaga: W tym stadium nie staramy siΩ nawi▒zaµ po│▒czenia PPP - jednynie chcemy siΩ upewniµ, ┐e posiadamy poprawny numer telefonu, chcemy sorawdziµ, ┐e nasz modem dzia│a poprawnie i chcemy dowiedzieµ siΩ jakie dokladnie komunikaty wysy│a w czasie logowania siΩ serwer PPP).

Podzcas cza│ego tego procesu powiniene╢ prowadziµ bardzo dok│adne notatki wszelkich zachΩt i komunikat≤w wysy│anych przez serwer lub najlepiej w│▒czyµ rejestrownianie wszystkiego do pliku (log file). Szczeg≤lnie nas interesuje ca│a procedura logowania siΩ do systemu, w jaki spos≤b serwer zachΩca ciΩ do wprowadzenia identyfikatora, a potem has│a i jakie komunikaty wy╢wietla podczas uruchamiania PPP.

Warto zadzwoniµ co najmniej dwukrionie. Niekt≤re serwery zmieniaj▒ spos≤b zachΩcania do wprowadzania informacji (np. z czasem). Dwie najwa┐niejsze zachΩty jakie potrzebujesz znaµ to:-

Je╢li w celu uruchomieania na serwerze PPP musisz wydaµ jakie╢ polecenie, musisz r≤wnie┐ zanotowaµ jak wygl▒da zacheta serwera do wywdawani polece±, po tym jak ju┐ siΩ zalogujesz do serwera.

Je╢li serwer automatycznie uruchamia PPP zaraz po tym jak siΩ zalogujesz, zobaczysz na ekranie serie smieci - to serwer PPP przesy│a inforamcje niezbΩdne do konfiguracji i zestawienia po│▒czenia PPP.

To powinno wygl▒daµ mniej wiΩcej tak:-

~y}#.!}!}!} }8}!}$}%U}"}&} } } } }%}& ...}'}"}(}"} .~~y}

(pojawia siΩ raz za razem)

W tym momencie mo┐esz przerwaµ po│▒czenuie (zwykle wpisz szybko +++, a gdy tw≤j modem odpowie OK wydaj polecenie ATHO).

W niekt≤rych systemach PPP musi zostaµ uruchomione przez u┐ytkownika. Zwykle jest tak dlatego, ze serwer zosta│ skonfigurowany w ten spos≤b aby umo┐liwiµ po│▒czenia PPP i zwyk│e sesje terminalowe przy wykorzystaniu tego samego konta. W takim przypadku, jak ju┐ siΩzalogujesz na serwerze musisz wydaµ to polecenie. Ponownie zobaczysz smiecie pojawiaj▒ce siΩ na ekranie - to serwer PPP pr≤buje nawi▒zaµ po│▒czenie z twoim komputerem. Mo┐esz od│ozyµ s│uwawkΩ.

Je╢li nie zobaczysz na ekranie wspomnianych wcze╢niej ╢mieci wszystko wskazuje (choµ nie na pewno), ┐e pope│ni│e╢ jaki╢ b│▒d.

Mo┐e siΩ zdarzyµ taki przypadek, ze trafi│e╢ na serwer pracuj▒cy w trybie pasywnym - to znaczy taki, kt≤ry nie wysy│a komunikat≤w zanim klient (tw≤j komputer) nie rozpocznie zestawiania po│▒czenia PPP.

Jednak┐e wiΩkszo╢µ serwer≤w jest w tym wzg│Ωdzie aktywna i powiniene╢ jednak zobaczyµ te ╢miecie.

Je╢li nie mo┐esz uruchomiµmodemu, przeczytaj dokumentacjΩ, kt≤ra mu towarzyszy, strony podrΩcznika dotycz▒ce oprogramowania komunikacyjnego z kt≤rego korzystasz (man minicom) i Serial-JTZ!. Kiedy siΩ z tym uporasz powt≤rz ca│▒ procedurΩ.

8. Uwaga na temat port≤w szeregowych i ich przepustowwo╢ci

Je╢li korzystasz z szybkich (zewnΩtrznych) modem≤w (14400 Bod≤w i wiΩcej) tw≤j port szeregowy musi umo┐liwiaµ przesy│anie inforamcji z odpowiedni▒ prΩdko╢ci▒ jaka mo┐e wygenerowaµ modem, sczeg≤lnie gdy modem posiada kompresjΩ sprzΩtow▒.

To wymaga korzystania z port≤w z nowoczesnymi uk│▒dami UART (Universal Asynchronous Receiver Transmitter) takimi jak 16550A. Je╢li korzystasz ze starego komputera (lub star▒ kartΩ port≤w szeregowych) ca│kiem mo┐liwe, ┐e korzystasz z uk│ad≤w UART 8250, kt≤re mog▒ powodowaµ klopoty przy korzystaniu z modem≤w o du┐ej prΩdko╢ci.

Linux potrafi powiedzieµ jakiego rodzaju uk│adu u┐ywasz. Skorzystaj z polecenia

setserial -a /dev/ttySx

Je╢li nie posiadasz uk│ad≤w 16550A, kup now▒ kartΩ port≤w szeregowych zawieraj▒c▒ te uklady (cena poni┐Ωj $ 50).

Uwaga: pierwsze wersje uk│adu 16550 mia│y bl▒d. Zosta│ on szybko rozpoznany i powstala nowa poprawiona wersja tego uk│adu 16550A. Cze╢µ b│Ωdnych uk│ad≤w dosta│a siΩ jednak do obiegu. Prawdopodobie±stwo, ┐e natrafisz na takie uk│ady jest niezwykle ma│e, lecz sprawdzaj▒c uk│ady szukaj oznaczenia 16550A, sczeg≤lnie w starszych kartach.

9. Konfiguracja modemu

Muszi poprawnie skonfigurowaµ modem, przeczytaj jego dokumentacjΩ. WiΩkszo╢µ modem≤w jes dotarczana z ustawieniami fabrycznymi, kt≤re w│▒czaj▒ opcje wymagane dla PPP. Minimalna konfiguracja powinna okre╢laµ:-

Inne ustawienia (standardowe polecenia modem≤w Hayes), kt≤rym powiniene╢ siΩ przyj┐eµ to:

(ON - w│aczone; OFF - wy│▒czone)

Warto r≤wnie┐ siΩ dowiedzieµ w jaki spos≤b pracuje po│▒czenie miΩdzy modemem i twoim komputerem. Wiekszo╢µ nowoczesnych modem≤w pozwala na pracΩ z USTALONí predko╢ci▒, pozwalaj▒c jednocze╢nie na zmianΩ prΩdko╢ci po│▒czenia przez liniΩ telefoniczn▒ na najwiΩksz▒ jak▒ potrafi przenie╢µ sama linia i obs│u┐yµ zdalny modem.

Jest to znany jako tryb pracy z dzielon▒ prΩdko╢cia. Je╢li twoj modem potrafi to obs│u┐yµ, zblokuj interfejs szeregowy modemu na najwieksz▒ prΩdko╢µ jak▒ porafi obs│u┐yµ (zwykle 115200 bps lub 38400 bps dla modem≤w 14400 bod≤w).

Skorzystaµ z oprogramowania komunikacyjnego (np minicom) aby dowiedzieµ siΩ wiΩcej na temat konfiguracji modemu i skonfiguruj go do pracy z PPP. Wiekszo╢µ modem≤w pokazuje aktualne ustawienia po wydaniu polecenia AT&V, lecz sprawd╝ to w dokumentacji modemu. Je╢li przypadkiem naba│aganisz w ustawieniach, mo┐esz powr≤ciµ do ustawie± fabrycznych wydaj▒c polecenie AT&F. W wiΩkszo╢ci modem≤w jakie spotka│em ustawienia fabryczne by│y wystarczajace do poprawnej wsp≤│pracy z PPP, lecz powiniene╢ to sprawdziµ.

Zachowaµ konfiguracjΩ modemu w pamiΩci modemu (zwukle poleceniem AT&W - sprawdz w dokuentacji).

Zachowanie prawid│owej konfiguracji w modemie, w│▒czenie modemu, lub jego zerowanie j▒ uaktywnia. DziΩki temu w znaczny spos≤b uraszcza siΩ skrypty niezbΩdne do zestawienia po│▒czenia PPP.

9.1 Uwagi na temat sterowania przep│ywem danyc przez porty szeregowe

Kiedy informacje podr≤┐uj▒ przez linie szeregowe, mo┐e siΩ zdarzyµ, ┐e dane przybywaj▒ szybciej, ni┐ komputer jest w stanie je obs│u┐yµ (komputer mo┐e byµ zajΩty czym╢ innym - pamiΩtaj Linux jest systemem wielozadaniowym i wielou┐ytkownikowym). Aby zapewniµ, ┐e informacja nie zostanie utracona konieczne jest odpowiednie sterowanie przep│ywem danych (dane nie miescz▒ siΩ w buforze i s▒ tracowne).

Istniej▒ dwie metody:-

Podczas, gdy ta ostatnia mo┐e byµ wystarczaj▒ca w przypadku termianli (danych tekstowych), po│▒czenia PPP korzystaj▒ z wszystkich 8-miu bit≤w i moze siΩ zdarzyµ, ┐e gdzie╢ w strumieniu danych znajdzie siΩ znak odpowiadaj▒cy sygna│owi Control Q lub Control S. WiΩc je╢li modem zostanie skonfigurowany do obs│ugi sysgna│≤w programowych, wszystko mo┐e gwa│townie przestaµ dzia│aµ.

Dal PPP korzystaj▒cego z danych 8-mio bitowych sprzetowe sterowanie przep│ywaem danych jest absolutnie niezbΩdne.

10. Korzystanie z PPP, a uprawnienia administratora

Poniewa┐ PPP musi skonfigurowaµ urz▒dzenia sieciowe, zmodyfikowaµ tabele routingu itp. musi wtedy posiadaµ uprawnienia administratora.

Je╢li po│▒czenie PPP zestawia u┐ytkownik inny ni┐ root, wtedy program pppd musi mieµ ustawiony bit setuid i nale┐eµ do aministratora (setuid root) :-

-r-sr-xr-x   1 root     root        95225 Jul 11 00:27 /usr/sbin/pppd

Je╢li /usr/sbin/pppd nie ma takich atrybut≤w, musisz jako administrator (root) wydaµ polecenie :-

chmod u+s /usr/sbin/pppd

Powu┐sze polecenie umozliwia uruchomienie programu pppd z uprawnieniami administratora nawet przez zwyk│ego u┐ytkwonika. W ten spos≤b zwyk│y u┐ytkownik mo┐e zainicjowaµ po│▒czenie PPP, a sam program bΩdzie posiada│ odpowiednie uprawnienia do skonfigurowania urz▒dze± sieciowych i modyfikacji tabeli routingu.

Programy z ustawionym bite, suid s▒ potencjalnymi dziurami w systemie zabezpiecze± i powiniene╢ byµ nies│ychanie ostro┐ny w ustawianiu biru suid dla program≤w, kt≤rych w│a╢cicielem jest administrator (root). Cze╢µ program≤w (w│▒czaj▒c pppd) by│a napisana ze specjalnym uwzglednieniem minimalizowania niebezpiecze±stwa wykoklego z wykonywania tego programu jako administrator, wiΩc powiniene╢ tym razem czuµ siΩ bezoieczny (choµ nie dajemy ┐adnych gwarancji).

W zale┐no╢ci od sposobu pracy twojego systemu - sczego│nie je╢li chesz umo┐liwiµ KA»DEMU u┐ytkownikowi twojego systemu inicjowanie po│▒cze± PPP powiniene╢ zmieniµ atrybuty sktypt≤w do w│▒czania/wy│▒czania PPP tak, aby te pliki mog│y byc czytane i wykonywane przez wszystkich.

Jednak┐e je╢li NIE chcesz aby ka┐dy mog│ uruchomiµ PPP (np twoje dzieci posiadaj▒ konta na twoim komputerze i nie chesz aby pod│acza│y siΩ do internetu bez twojego nadzoru) musisz utworzyµ odzielna grupΩ PPP (zmie± plik /etc/group) a nastΩpnie:-

Nawet je╢li tak post▒pisz, zwykli u┐ytkownicy NADAL nie bΩd▒ w stanie zamkn▒µ po│▒czenia PPP!. PamiΩtaj, ┐e k▒zdy mo┐e wy│▒czyµ modem.

Na moim domowym PC NIE ustawiam bitu suid dla pppd. Abyuruchomiµ po│▒czenie muszΩ zalogowaµ sie jako administrator - czyli znaµ has│o. W ten spos≤b kontrolujΩ dostΩp mojego syna do Internetu.

11. Ustawianie plik≤w konfiguracyjnych PPP

Je╢li nawet chcesz aby PPP by│o dostΩpne dla wszystkich u┐ytkownik≤w, podczas wykonywania opisyuwanych poni┐ej modyfikacji plik≤w i katalog≤w musisz pracowaµ jako administrator.

PPP korzysta z kilku plik≤w podczas zestawiania po│▒czenia. Ich nazwy i po│o┐enie s▒inne dla PPP w wersji 2.1.2 i 2.2.

W przypadku PPP 2.1.2 s▒ to:-


/usr/sbin/pppd          # plik binarny
/usr/sbin/ppp-on        # skrypt do nawi▒zywania po│aczenia
/usr/sbin/ppp-off       # skrypt kasuj▒cy po│▒czenie
/etc/ppp/options        # plik z opcjami totyczacymi wszystkich po│▒cze±
/etc/ppp/options.ttyXX  # opcje specyficzne dla po│▒cze± przez ten port

For PPP 2.2 the files are:-


/usr/sbin/pppd                  # plik binarny
/etc/ppp/scripts/ppp-on         # skrypt do nawi▒zywania po│aczenia
/etc/ppp/scripts/ppp-on-dialer  # skrypt do wybierania numeru serwera
/etc/ppp/scripts/ppp-off        # skrypt dla programu chat
/etc/ppp/options                # plik z opcjami totyczacymi wszystkich po│▒cze±
/etc/ppp/options.ttyXX          # opcje specyficzne dla po│▒cze± przez ten port

Jak widaµ w katalogu /etc powiniene╢ znale╝µ podkatalog ppp:-

drwxrwxr-x   2 root     root         1024 Oct  9 11:01 ppp

Je╢li nie istnieje musisz go utworzyµ.

Je╢li ten katalog ju┐ istnieje, powinien zawieraµ plik wzrocowy o nazwie options.tpl. Poni┐ej przedstawiamy zawarto╢µ tego pliku.

Powiniene╢ go wydrukowaµ poniewa┐ zawiera wyja╢nienie wszystkich opcji PPP (dobrze siΩ z nimi zapoznaµ w po│▒czeniu ze stronami podrΩcznika dotycz▒cymi programu pppd (man pppd)). Choµ mog│byµ u┐yµ tego pliku jako podstawy d utworzenia pliku /etc/ppp/options, prawdopodobnie lepiej jest go utworzyµ od pocz▒tku, tak aby nie zawiera│ tych wszyskich komentarzy - bΩdzie znacznie │atwiejszy w utrzymaniu.

Je╢li posiadasz wiele linii modemowych (przypadek serwera PPP), powiniene╢ utworzyµ plik /etc/ppp/options z opcjami wsp≤lnymi dla wszystkich port≤w i je╢li jest to konieczne utworzyc indywidualne pliki dla ka┐dej linii oddzielnie, kt≤re bΩd▒ zawiera│y indywidualne ustawienia wymagane dla konkretnego portu.

S▒ to pliki o nazwach options.ttyx1<, options.ttyx2 itd. (x X oznacza odpowiedni▒ literΩ oznaczj▒ca port szeregowe twojego komputera).

Jednak w przypadku pojedynczego po│▒czenia PPP ca│kowicie wystarczy jeden plil /etc/ppp/options. Ostatecznie mog│by╢ podaµ wszystkie te parametry w wierszu polece± programu pppd.

úatwiej jest opiekowaµ siΩ konfiguracj▒, kt≤ra korzysta z plik≤w /etc/ppp/options.ttySx. Je╢li korzystasz z PPP aby │▒czyµ siΩ z r≤┐nymi serwerami, mo┐esz utworzyµ dla ka┐dego serwera wlasny plik konfiguracyjny i przekazywaµ jego nazwΩ jako argument polecenia uruchamiaj▒cego po│▒czenie PPP.

11.1 Plik options.tpl

CzΩsµ dystrybucji PPP wydaje siΩ byµ pozbawiona pliku options.tpl, dlatego tutaj podajemy jego pe│n▒ tre╢µ. Zamiast zmieniaµ ten plik, lepiej stworzyµ /etc/ppp/options od nowa. Rownie┐ nie wprowadzaj zmian bezpo╢rednio do tego pliku. Zrob wpierw jego kopiΩ i j▒ modyfikuj. W razie klopot≤w mo┐esz wtedy rozpocz▒µ wszystko na nowo.


# /etc/ppp/options -*- sh -*- og≤lne opcje pppd
# created 13-Jul-1995 jmk
# autodate: 01-Aug-1995
# autotime: 19:45

# Do sestawienia po│▒czenia miΩdzy modemami wykorzystaj program lub
# skrypt. Bedzie tozwyklΩ program "chat", kt≤ry wybierze numer
# zaloguje siΩ i uruchomi ppp po drugiej stronie
#connect "echo Musisz zainstalowaµ program do nawi▒zania po│▒czenia modemowego"

# Wykonaj ten program, lub skrypt po tym, Jak pppd zerwie po│▒czenie.
# ten skrypt mo┐e w przypadku braku sprzΩtowego sterowania modemem
# wydaµ modemowi aby od│o┐y│ s│uchawkΩ.
#disconnect "chat -- \d+++\d\c OK ath0 OK"

# async character map -- 32-bit hex; ka┐dy bit oznacza znak, kt≤ry
# musi byµ poprzedzony znakiem escape (escaped char), tak aby pppd mog│
# go odebraµ. 00000001 oznacza '\x01', a 0x80000000 oznacza '\x1f'.
#asyncmap 0

# Wymaga potwierdzenia to┐szamoaµi przed zezwoleniem na
# wysy│anie/odbi≤r pakiet≤w sieciowych

#auth

# Do sterowania przep│ywem inforamcji przez port szeregowy skorzystaj
# ze sprzΩtowego sterowania modemem (tzn. RTS/CTS).
#crtscts

# Do sterowania przep│ywem inforamcji przez port szeregowy skorzystaj
# ze programowego sterowania modemem (tzn/ XON/XOFF).
#xonxoff

# Po zako±czonych sukcesem negocjacjach IPCP dodaj to tabeli routingu
# domy╢ln▒ trasΩ, u┐ywaj▒c jako bramΩ komputer po drugiej stronie
# po│▒czenia ppp. Trasa ta jest usuwana z tabeli routingu w momencie
# zerwania po│▒czenia PPP.
#defaultroute

# Okre╢la, kt≤re znaki musz▒ byµ przesy│▒ne specjalnie (escaped) -
# niezale┐nie czy druga strona (za pomoc▒ opcji asyncmap) za┐▒da│a aby
# by│y w taki spos≤b przesy│ane, czy nie. Znaki s▒ podane jako ci▒gi
# liczb w notacji szesnastkowej, rozdzielone przecinkami. Zauwa┐, ┐e
# mo┐esz tu  wpisaµ niemal ka┐dy znak, w przeciwie±stwie do parametru
# asyncmap, kt≤ry jako swoje argumenty przyjmuje jedynie znaki steruj▒ce
# (control characters). Znaki, kt≤re nie mog▒ byµ przesy│ane w spos≤b
# specjalny to znaki, kt≤rych kody zawieraj▒ siΩ w przedziale 0x20-0x3f
# i znak 0x5e. 
#escape 11,13,ff

# Nie korzystaj z sygna│≤w strowania modememe
#local

# Okre╢la, ┐e pppd w celu zapewnienia wy│▒czn╢ci w dostΩpie do port≤w
# szeregowych powinno korzystaµ z plik≤w blokady w stylu UUCP.
#lock

# Krzystaj z sysgna│≤w sterownai modemem. Na Ultrixie, ta opcja
# oznacza spzΩtowe sterownie przep│ywem danych, tak jak to w│▒cza opcja
# crtscts.
# (Ta pcja nie jest w pe│ni zaimplementowana)
#modem

# Nadaj zmienej MRU [Maximum Receive Unit - NajwiΩkszy blok
# otrzymywany] warto╢µ <n>. Pppd poprosi drug▒ stronΩ o nie przysy│anie
# wiΩkszych pakiet≤w ni┐ <n> bajt≤w. Minimalna warto╢µ MRU wynosi
# 128. Warto╢ci▒ domy╢ln▒ jest 1500. W przypadku wolnych │▒czy zaleca
# siΩ wartosµ 296 (40 bajt≤w na nag│≤wek TCP/IP i 256 bajt≤w danych)
#mru 542

# Ustawienie netmaski interfejsu sieciowego. 32-wu bitowa w notacji
# dajtowo-dziesiΩtnej (np. 255.255.255.0).
#netmask 255.255.255.0

# Wy│▒czenie opcji negocjowania adresu IP z serwerem. Je╢li ta opcja bΩdzie
# w│▒czona adres IP musi zostaµ podany jako parametr po│▒czenia (w pliku 
# opcji lub w wierszu polece±, lub przekazany przez serwer w czasie 
# negocjacji IPCP. 
#noipdefault

# W│▒cza pasywne zachowanie LCP. PPP spr≤buje nawi▒zaµ po│▒czenie,
# je╢li to siΩ nie uda, zamiast zako±czenia pracy (normalne zachowanie
# gdy ta opcja jest wy│▒czona) bedzie oczekiwa│ na poprawny pakiet LCP
# nades│any przez drugi komputer.
#passive

# PPP nie bΩdzie wysy│a│o ┐adnych pakiet≤w LCP, w celu nawi▒zania
# po│▒czenia. BΩdzie jedynie nas│uchiwa│o na nadej╢cie takich pakiet≤w
# z drugiej strony po│▒czenia (zachowanie opcji "passive" w starszych
# wersjach pppd)
#silent

# Nie ┐▒daj i nie pozawalaj na ustalenie jakichkolwiek opcji w czasie
# negocjacji LCP czy IPCP (wykorzystaj warto╢ci domy╢lne).
#-all

# Wy│▒czenia kompresji negocjacji adresu/sterowania (wykorzystaj
# ustawienie domy╢lne, tzn pole adres/sterowanie wy│aczone).
#-ac

# Wy│▒cz negocjacje opcji asyncmap (skorzystaj z domy╢lnej warto╢ci
# asyncmap, czyli przesy│aj w spos≤b specjalny jedynie znaki steruj▒ce.
#-am

# Nie tw≤rz procesu potomnego w tle ( w przeciwnym wypadku pppd
# zachowa siΩ w ten spos≤b jesli podany port oznacza urz▒dzenie szeregowe)
#-detach

# Wy│▒cz negocjacjΩ adresu IP (pppd musi otrzymac jako parametr adres
# IP komputera na drugim ko±cu po│▒czenia - w wierszu polece± lub
# pliku opcji)
#-ip

# Wy│▒cz negocjacjΩ numeru magicznego/specjalnego/charakterystycznego
# (magic number). W ten spos≤b pppd nie wykryje urz▒denia pΩtli zwrotnej.
#-mn

# Wy│▒cz negocjacjΩ parametru MRU [Maximal Receive unit]. Wykorzystaj
# warto╢µdomy╢ln▒ 1500.
#-mru

# Wy│▒cz negocjacjΩ pola protoko│u (skorzystaj z opcji domyslnej:
# kompresja wy│▒czona).
#-pc

# Za┐▒daj aby druga strona przedstawi│a siΩ za pomoc▒ protoko│u PAP.
#+pap

# Nie zgadzaj siΩ na przedstawianie siΩ za pomoc▒ PAP
#-pap

# Za┐▒daj aby druga strona przedstawi│a siΩ za pomoc▒ protok│u CHAP
# [Cryptographic Handshake Authentication Protocol].
#+chap

# Nie zagadzaj siΩ na przedstawienei siΩ za pomoc▒ CHAP.
#-chap

# Wy│▒cz negocjacjΩ kompresji nag│≤wk≤w IP w styly Van
# Jacobsena. Skorzystaj z warto╢ci domy╢lnej: brak kompresji.
#-vj

# ZwiΩksz posiom odpluskwiania (to camo co opcja -d). Pppd bΩdzie
# rejestrowa│o zawarto╢µ wszystkich wys│anych i otrzymanych pakiet≤w
# kontrolnych w formie nadaj▒cej siΩ do interpretacji przez
# cz│owieka. Rejestrowanie dokonuje siΩ za pomoc▒ dziennik≤w systemowych
# (syslog) na poziomie `debug' z warto╢cia `daemon'. Informacje te mog▒
# byµ zapisywane w pliku. Przeczytaj o pliku konfiguracyjnym
# /etc/syslog.conf  (man syslog.conf). Je╢li pppd zosta│o skompilowane z
# w│▒czeniem dodatkoweg oodpluskwiania, wiadomo╢ci bΩd▒ rejestrowane z
# waro╢ci▒ `local2' zamiast `daemon'.
#debug

# W celach przedstawiania siΩ i weryfikacji to┐samo╢ci do nazwy
# komputera dodaj domenΩ <d>. Np. je╢li funkcja gethostbyname()
# przekazuje warto╢µ `porshe', lecz pe│na nazwa komputera jest
# `porsche.Quotron.COM' musisz skorzystaµ z tej opcji i podaµ domenΩ
# Quotron.COM. 
#domain <d>

# W│▒cz kod udpluskwiania na poziomie drajwera j▒dra. Argument n jest
# liczba sk│adaj▒c▒ siΩ z sumy poszczeg≤lnych element≤w: 1 w│▒czenie
# og≤lnych komunikat≤w odpluskwiaj▒cych, 2 - wy╢wietlanie zawarto╢ci
# przychodz▒cych pakiet≤w, 4 wy╢wietlanie zawarto╢ci pakiet≤w wysy│anych.
#kdebug n

# Nadaj parametrowi MTU [Maximum Transmit Unit] waro╢µ<n>. Je╢li druga
# strona w czasie negocjacji nie zarz▒da mniejszej warto╢µMTU, pppd
# poprosi aby kod j▒dra wywy│a│ przez interfejs ppp pakiety o wielko╢ci
# nie przekraczaj▒cej n bajt≤w.  
#mtu <n>

# Do cel≤w weryfikacji to┐samo╢ci przyjmij nazwΩ <n>.
#name <n>

# Do cel≤w weryfikacji to┐samo╢ci w protokole PAP przyjmij nazwΩ
# uzytkownika r≤wn▒ <u>. 
#user <u>

# Wymu╢ wykorzystywanie do cel≤w weryfikacji to┐samo╢ci przyjΩcie
# nazwy komputera jako nazwy systemu pr≤buj▒cego nawi▒caµ po│▒czenie. 
#usehostname

# Do cel≤w weryfikacji to┐samo╢ci przyjmij nazwΩ zdalnego systemu
# r≤wn▒ <n>.
#remotename <n>

# Dodaj pozycjΩ do systemowej tabeli ARP [Address Resolution Protocol]
# z adresem IP systemu po drugiej stronie po│▒czenia i twoim adresem
# Ethernetowym. 
#proxyarp

# Do cel≤w weryfikacji to┐samo╢ci w protokole PAP skorzystaj z
# systemowej bazy hase│. 
#login

# Pppd bΩdzie wysy│a│o do systemu po drugiej stronie ramki LCP
# echo-request (┐▒danie echa) co n sekund. Pod Linuxe, echo-request jest
# wysy│any wtedy, gdy z drugiej strony w ci▒gu ostanich n sekund nie
# nadszed│ ┐aden pakiet. Zwykle druga sptrona powinna odpowiedzieµ na
# echo-request wyw│aj▒c echo-reply (odpowied╝ na ┐▒danie echa). Wraz z
# opcj▒ lcp-echo-failure mo┐e byµ wykorzystana do wykrywania przerwania
# po│▒czenia przez drug▒ stronΩ.
#lcp-echo-interval <n>

# Je╢li po n ramkach echo-request nie nadejdzie ┐adna rama echo-reply
# pppd potraktuje to jako zerwanie po│▒czenia przez drug▒ stronΩ. Je╢li
# tak siΩ stanie pppd przerwie po│▒czenie. Korzystanie ztej opcji wymaga
# podania niezerowego parametru w opcji lcp-echo-interval. Zwykle
# korzysta siΩ z tej opcji w celu wykrycia fizycznego przerwania
# po│▒zenia (np od│o┐enie s│uchawki przez modem) w systucajch, gdy nie
# stosuje siΩ sprzΩtowych liniisterowania modemem.
#lcp-echo-failure <n>

# Przyjij przerwΩ miΩdzy w│aczaniem negocjacji LCP r≤wn▒ <n> sekund
# (retransmission timeout). Domy╢lnie 3
#lcp-restart <n>

# Przyjmij maksymaln▒ liczbΩ transmisjji polecenia przerwania ┐▒dania
# (terminate-request) w protokole LCP. Domy╢│nie 3.
#lcp-max-terminate <n>

# Przyjmij maksymaln▒ liczbΩ transmisjji polecenia konfiguracyjnego
# protoko│u LCP r≤wn▒ <n>. Domy╢│nie 10.
#lcp-max-configure <n>

# Ustaw maksymaln▒ liczbΩ zwr≤conych w protokole LPC ┐▒da±
# configura-NAK, zanim rozpocznie siΩ transmisja polece±
# configure-Reject. Domy╢lnie 10.
#lcp-max-failure <n>

# Ustaw przerwΩ w protokole IPCP (retransmission timeout) r≤wn▒ <n>.
# Domy╢│nie 3.
#ipcp-restart <n>

# Ustaw maksymaln▒ liczbΩ transmisji polecenia terminate-request protoko│u
# IPCP r≤wn▒ <n>. Domy╢lnie 3.
#ipcp-max-terminate <n>


# Ustaw maksymaln▒ liczbΩ transmisji polecenia configure-request protoko│u
# IPCP r≤wn▒ <n>. Domy╢lnie 10.
#ipcp-max-configure <n>

# Ustaw maksymaln▒ lizcbΩ zwr≤conych  polece± configure-NAK  protoko│u
# IPCP zanim rozpocznie siΩ wysy│anie polece± configure-Reject r≤wn▒
# <n>. Domy╢│nie 10.
#ipcp-max-failure <n>

# Ustaw przerwΩ miΩdzy uruchamianiem protoko│u PAP (retransmission
# timeout) rown▒ <n> sekund. Domy╢│nie 3.
#pap-restart <n>

# Ustaw maksymaln▒ liczbΩ transmisji polecenia authenticate-request
# protoko│u PAP r≤wn▒ <n>. Domy╢│nie 10.

#pap-max-authreq <n>

# Ustaw przerwΩ miΩdzy uruchamianiem protoko│u CHAP (retransmission
# timeout) r≤wn▒  <n> sekunt. Domy╢lnie 3.
#chap-restart <n>

# Ustaw liczbΩ wys│anych ┐▒da± rozpoczΩcia protoko│u CHAP r≤wn▒ <n>. 
# Domy╢│nie 10.
#chap-max-challenge

# Pppd bΩdzie pr≤bowa│o nawi▒zaµ po│▒czenie z drug▒ stron▒ co <n>
# sekund. 
#chap-interval <n>

# Pppd zakceptuje podany przez drug▒ stronΩ nasz lokalny adres IP,
# nawet je╢li zosta│ on podany r≤wnie┐ jako opcja dla programu pppd.
#ipcp-accept-local

# Pppd zakceptuje podany przez drug▒ stronΩ jej adres IP,
# nawet je╢li zosta│ on podany r≤wnie┐ jako opcja dla programu pppd.
#ipcp-accept-remote

11.2 Kt≤rych opcji powinienem u┐ywaµ?

Jak zwykle: to zale┐y.

Przedstawiay dwie podstawowowe wersje pliku options, kt≤re dotycz▒ wiΩkszo╢ci przypadk≤w.

Je╢li nasza propozycja nie zadzia│a, PRZECZYTAJ PLIK WZORCOWY (/etc/ppp/options.tpl) i strony podrΩcznika programu pppd (man pppd) i porozmawiaj z administratorem/lud╝mi zajmuj▒cymi siΩ obs│ug▒ u┐ytkownik≤w serwera, z kt≤rym starasz siΩ nawi▒zaµ po│aczenie.

/etc/ppp/options (bez PAP/CHAP)

W przypadku po│▒cze±, kt≤re nie wymagaj▒ weryfikacji PAP/CHAP powinien wystarczyµ taki plik.


# /etc/ppp/options (bez PAP/CHAP)
#
# Zapobiegnij od│▒czaniu siΩ od terminala przez program pppd.
-detach
# Je╢li korzystasz ze statycnych numer≤w IP, wpisz tutaj sw≤j numer
0.0.0.0:
#
# Korzystaj z linii sterowania modemu
modem
# korzystaj z plik≤w blokady w stylu uucp, zapewniaj▒c sobie wy│▒czny
# dostΩp do urz▒dze± szeregowych
lock
# korzystaj ze sprzΩtorwego sterowana przep│ywem danych 
crtscts
# po nawi▒zaniu po│aczenia dodaj do tabli routingu domy╢ln▒ trasΩ dla
# biegn▒c▒ w│a╢nie przez to po│▒czenie
defaultroute
# Znaki specjalne maj▒ byµ przesy│ane normalnie
asyncmap 0
# maksymalny rozmiar pakietu wychodz▒cego 552 bajty
mtu 552
# maksymalny rozmiar pakietu przychodz▒cego 552 bajty
mru 552
#
#-------KONIEC /etc/ppp/options (bez PAP/CHAP)

/etc/ppp/options (korzystamy z PAP/CHAP)

Je╢li serwer wymaga jednak weryfikacji PAP lub CHAP powiniene╢ spr≤bowaµ opcji pokazanyhc powy┐ej z dodatkowymi kilkoma wierszami jakie przedstawiamy poni┐ej


#
# zmus pppd do korzystania do przedstawiania siΩ identyfikatorem
# u┐ytkownika jakim pos│ugujesz sie uswojego dostawcy
name <tw≤j identyfikator u dostwcy>     # musisz zmieiµ ten wiersz
#
# Je╢li musisz korzystaµ z protoko│≤w PAP lub CHAP, usu± znaki
# komentarza z kolejnych dw≤ch wierszy
#+chap
#+pap
#
# Je╢li korzystasz z ZAKODOWANYCH hase│ w pliku /etc/ppp/pap-secrets
# to usu± znak komentarza z wiersza poni┐ej
#+papcrypt

12. Konfiguracja pliku /etc/resolv.conf

Podczas gdy my, Ludzie lubimy podawaµ adresu komputer≤w w postaci ich nazw, komputery korzystaj▒ z liczb. W sieci TCP/IP (czym jest Internet) nazwymay koputery ich nazwami, aka┐dy z komputer≤w ┐yje we w│asnej dquot;domeniedquot;. Np. moj komputer nazywa siΩ archenland i nale┐y do domeny hedland.edu.au. Czyli adres mojego komputera w postaci │atwej do pos│ugiwania siΩ przez cz│owieka jest archenland.hedland.edu.au. Inne komputery w Internecie rozpoznaj▒ go jednak przez przydzielony mu adres IP.

T│umaczenie (resolving) nazwy komputera i domeny na numerki, kt≤re s▒ niezbΩdne do nawiazania po│▒czenia jest wykonywane przez komputery oferuj▒ce us│ugΩ o nazwie DNS (Domain Name Service).

Podczas zestawiania po│▒czenia PPP musisz powiedzieµ swojemu komputerowi sk▒d mo┐e pobieraµ informacje na temat numeru IP przydzielonego do nazwy komputera, tak aby╢ ty m≤g│ u┐ywaµ nazw komputer≤w, lecz tw≤j komputer by│ w stanie zamieniµ je na odpowiednie numery IP.

Jednym ze sposob≤w jest umieszcenie nazwy i numeru ka┐dego komputra, kt≤rym bΩdziesz siΩchcia│ po│▒czyµ w pliku /etc/hosts ( w rzeczywisto╢cie jest to niemo┐liwe przy po│▒czeniach z Internetem), innym rozwi▒zaniem jest podawanie numer≤w komputerow zamiast ich nazw (mo┐liwe jedynie w przypadku ma│ych sieci)

Najlepiej w taki spos≤b skonfigurowaµ Linuxa, aby sam wiedzia│ sk▒d pobraµ niezbΩdne informacje - automatycznie. Tej us│ugi dostarzca system DNS. Wszystkiego c opotrzebujesz jest umiesczenie w pliku /etc/resolv.conf numeru IP serera udostΩpniaj▒cego us│ugΩ DNS.

Ludzie opiekujacy siΩ serwerem PPP powinni dostarczyµ ci dwa numery IP serwer≤w DNS (tylko jeden jest niezbΩdny, lecz drugi jest przydatny w przypadku, gdy nast▒pi awaria pierwszego)

Plik /etc/resolv.conf powinien wygl▒daµ mniej wieµej tak:-


domain domena.twojego.dostawcy.internetu
nameserver 10.25.0.1
nameserver 10.25.1.2

Popraw ten plik (utw≤rz je╢li jest to konieczne) i wprowa╝ opdpowiednie inforamcje. Pownien mieµ nastΩpuj▒ce atrybuty:-

-rw-r--r--   1 root     root           73 Feb 19 01:46 /etc/resolv.conf

Je╢li posiadasz ju┐ dzia│aj▒cy plik /etc/resolv.conf, poniewa┐ jeste╢ przy│▒czony do sieci LAN, po prostu dodaj numery IP serwera DNS.

13. Skekretny plik PAP/CHAP

Je╢li korzystasz z weryfikacja to┐szamo╢µi pap lub chap, musisz r≤wnie┐ utworzyµ odpowiedni plik sekretny:


/etc/ppp/pap-secrets
/etc/pp/chap-secrets

Podstawow▒ cech▒ tych plik≤w jest to, ┐e maj▒ uwiarygodniaµ to┐szamo╢µ komputera (systemu) a nie u┐ytkownika.

"Tak? A jaka to r≤znica ?" s│yszΩ jak zadajesz to pytanie.

Taka, ┐e po zestawieniu po│▒czenia PPP z serwerem KA»DY u┐ytkownik twojego komputera mo┐e korzyst▒c z tego po│▒czenia - nie tylko ty. To w│a╢nie dlatego mo┐esz za pomoc▒ PPP zestawiµ po│▒czenie WAN │▒cz▒ce ze sob▒ dwie sieci LAN.

Tw≤j dostawca poza podaniem ci identyfikatora u┐ytkownika i has│a wymaganego do przy│▒zenia siΩ do jego systemu prawdopodobnie nie bΩdzie zainteresowany jaki▒ nazwΩ nada│e╢ swojemu komputerowi, dlatego prawdopodobnie powienien╢ korzystaµ z identyfikatora u┐ytkownika jaki masz u dostawcy jako nazwy swojego koputera <@@formula>m≤wimy o PAP/CHAP.

Dokonuje sie tego za pomoc▒ opcji name username programu pppd. Je╢li muszisz wiΩc podawaµ sw≤j identyfikator w systemie dostawcy dodaj do pliku /etc/ppp/options wiersz


name twoj_identyfikator_obowi▒zuj▒cy_u_dostawcy

Technicznie rzecz bior▒c tak naprawdΩ powieniene╢ korzysztaµ z usertwoj_identyfikator_obowi▒zuj▒cy_u_dostawcy dla PAP, lecz pppd jest na tyle inteligentny aby zinterpretowaµ name jako user je╢li tylko serwer za┐▒da u┐ycia PAP. Zalet▒ korzystania z opcji name jest, to, ┐e jest ona r≤wnie┐ poprawna dla CHAP.

Poniewa┐ PAP/CHAP s│u┐y so sprawdzania to┐szamo╢ci komputer≤w, potrzebujesz r≤wnie┐ podaµ nazwΩ zdalnego komputera. Poniewa┐ jednak wiΩkszo╢µ korzysta tylkoz jednego dostawcy, mo┐e w pliku sekretnym w miejscu nazwy zdalnego komputera wstawiµ znak uniwersalny (*).

Wrto r≤wnie┐ pamiΩtaµ, ┐e wielu dostawc≤w korzysta z wielokrotnych farm modemowych pod│▒czonych do r≤┐nych serwer≤w, dostΩpnych pod WSP╙LNYM numerem telefonicznym. Dlatego nie mo┐na byµ pewnym, do kt≤rego komputera zostaniemy przy│▒czeni.

13.1 Plik sekretny PAP

Plik /etc/ppp/pap-secrets wygl▒da mniej wiΩcej tak


# Secrets for authentication using PAP
# client        server       secret     acceptable local IP addresses

µ┐tery pola rodzielaone odstΩpami.

Pwiedzmy, ┐e tw≤j dostawca nada│ ci nazwe fred i has│o flintstone. Wrtedy w pliku /etc/ppp/options.ttySx ustawi│ by╢ opcjΩ name fred, a w pliku /etc/ppp/pap-secrets dopisa│


# Has│a do weryfikacji to┐samo╢ci za pomoc▒ protoko│u PAP
# client        server  secret          dopuszczalny lokalny adres IP
fred            *       flintstone

To oznacza, ┐e w przypadku po│▒zcenia lokalnego komputera o nazwie frd (kt≤r▒ u┐ywa pppd choµ to nie musis byµ prawdziwa nazwa tego komputera) z dowolnym serwerm PPP nale┐y u┐ywaµ has│a flintstone.

Zauwa┐, ┐e nie musimy podawaµ lokalnego adresu IP, cgyba ┐e jeste╢my ZMUSZENI do korzystania zkonkretnego, STATYCZNEGO adresu IP.

Je╢li │▒czysz sie korzystaj▒c z PAP z kilkoma r≤┐nymi serwerami, powiniene╢ albo zaran┐owaµ to w taki sps≤b aby na ka┐dym serwerze posiadaµ inny identyfikator username lub poznaµ nazwy zdalnych serwer≤w, z kt≤rymi siΩ │▒czysz. W ten spos≤b bΩdziesz m≤g│ dodaµ do pliku pap-secrets kolejne wiersze definiuj▒ce has│o po│▒czenia - pod warunkiem, ┐e nadasz prawid│ow▒ warto╢µ opci tt/name/ odpowiedni▒ dla ka┐dego serwera z kt≤rym nawi▒zujesz po│▒czenie,

13.2 Sekretny plik CHAP

Aktualna wersja porgramu pppd wymaga korzystania z wzajemnych metod potwierdzania to┐samo╢ci - to znaczy musisz pozwoliµ aby tw≤j komputer mog│ zweryfikowac odleg│y serwer i aby odleg│y serwer mog│ zweryfikowaµ tw≤j ompuer.

JΩsli tw≤j komputer nazywa siΩ fred a zdalny serwer nazywa siΩ barney, to podpowiednie pliki /etc/ppp/options.ttySx na twoim komputerze powinny zawieraµ name fred remotename barney, a na zdalnym serwerze na odwr≤t name barney remote name fred.

Plik /etc/chap-secrets dla komputera fred wygl▒da tak


# Has│a do weryfiakcji tozsamo╢ci za pomoc▒ protoko│u CHAP
# client        server  secret            dopuszczalny lokalny adres IP
fred            barney  flintstone

a dla komputera barney, tak


# Has│a do weryfiakcji tozsamo╢ci za pomoc▒ protoko│u CHAP
# client        server  secret            dopuszczalny lokalny adres IP
barney          fred    flintstone

14. Reczne zestawianie po│▒czeniea PPP

Teraz kiedy masz ju┐ utworzone pliki /etc/ppp/options i /etc/resolv.conf ( i je╢li jest to konieczne pliki /etc/ppp/pap|chap-secrets) mo┐esz sprawdziµ poprawno╢µ konfiguracji przez rΩczne zestawienie po│▒czenia PPP. (Kiedy bΩdziemy potrafili zestawiµ po│▒czenie PPP rΩcznie, zautomatyzowanie ca│ego procesu bΩdzie bardzo proste).

W tym celu tw≤j program komunikacyjny musi mieµ mo┐liwo╢µ zko±czenia pracy BEZ zerowania modemu. Minicom to potrafi - ALT Q (lub w starszych wersjacj CTRL A Q).

PamiΩtaj aby byµ zlogowanym jako root.

Uruchom program komuniikacyjny (np minicom), wybierz numer do serwera PPP i zaloguj siΩ jak zwykle. Je╢li do uruchomienia PPP wymagane jest wydanie specjalnego polecenia zr≤b to. Zobaczysz teraz ╢miecie o kt≤rych pisali╢my wcze╢niej.

Je╢li korzystasz z pap/chap, wtedy tu┐ po nawi▒zaniu po│▒czenia ze zdalnym serwerem powiniene╢ od razy zobaczyµ wspomniane ╢miecie, bez potrzeby logowania siΩ (choµ w niekt≤rych przypadkach mo┐e to byµ rozwi▒zane inaczej).

Teraz zako±cz pracΩ programu komunikacyjnego, bez zerowania linii (przerywania po│▒czenia modemowego) - je╢li u┐ywasz minicomu wci╢cnij ALT Q lub CTRL A Q. Nastepnie w wierszu zachΩty (jako root) napisz

pppd -d -detach /dev/cuaX &

Opcja -d w│▒cza odpluskwianie - rozpoczyna siΩ rozmowa maj▒ca na celu zestawienie po│▒czenia PPP. Jest ona rejestrowana w dziennikach (log files) co jest przydatne w razie k│opot≤w.

Naturalnie powiniene╢ apisaµ cua0 lub cua1 itd. - prawdziw▒ nazwΩ portu do kt≤rego przy│aczony jest modem, nie cuaX!.

Diody twojego modemu powinny migotaµ podczas zestawiania po│▒czenia PPP. Samo zestawienie po│▒czenia trwa kt≤tk▒ chwilΩ.

W tym momencie mo┐esz przyj┐eµ siΩ interfejsowi ppp0 wydaj▒c polecenie

ifconfig

Poza inforamcjami o karcie Ethernetu (jelsi tak▒ posiadasz) i urz▒dzeniu o pΩtli zwrotnej powiniene╢ zobaczyµ cos takiego :-


  ppp0     Link encap:Point-Point Protocol
           inet addr:10.144.153.104  P-t-P:10.144.153.51 Mask:255.255.255.0
           UP POINTOPOINT RUNNING  MTU:552  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0
           TX packets:0 errors:0 dropped:0 overruns:0

Gdzie

(naturalnie ifconfig nie przedstawi podanych przeze mnie numer≤w, lecz numery wykorzystywane przez serwer twojego dostawcy).

Uwaga: polecenie ifocnfig iformuje ciΩ r≤wnie┐ o tym, ┐e po│▒czenie jest zestawione (UP) i dziala (RUNNING).

Je╢li otrzymasz taki komunikat


  ppp0     Link encap:Point-Point Protocol
           inet addr:0.0.0.0  P-t-P:0.0.0.0  Mask:0.0.0.0
           POINTOPOINT  MTU:1500  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0
           TX packets:0 errors:0 dropped:0 overruns:0

to znaczy, ┐e po│▒czenie PPP nie zosta│o poprawnie zestawione... przeczytaj rozdzia│ o odpluskwianiu!

Powniene╢ rownie┐ m≤c zobaczyµ tabelΩ routingu z wprowadzon▒ tras▒ do serwera PPP i dalej. W tym celu wydaj polecenie

route -n>

Powiniene╢ zobaczyµ co╢ w tym stylu:-


Kernel routing table
Destination     Gateway         Genmask         Flags MSS    Window Use Iface
10.144.153.3    *               255.255.255.255 UH    1500   0        1 ppp0
127.0.0.0       *               255.0.0.0       U     3584   0       11 lo
10.0.0.0        *               255.0.0.0       U     1500   0       35 eth0
default         10.144.153.3    *               UG    1500   0        5 ppp0

Szczeg≤lnie wa┐ne jest to, ┐e do interfejsu ppp0 odnosz▒ siΩ dwie r≤┐ne pozycje.

Pierwsza oznacza trasΩ do KOMPUTERA (flaga H) i pozwala nam "widzieµ" komputer, do kt≤rego siΩ przy│▒czyl╢my - lecz nie dalej.

Druga oznacza domy╢ln▒ (default) trasΩ - to jest trasa jak▒ wΩdruj▒ pakiety, kt≤re nie s▒ przeznaczne dla naszej sieci lokalnej lub bezpo╢rednio dla samego serwera PPP. Serwer PPP jesr odpowiedzialny za przekazywanie naszych pakiet≤w dalej do Internetu i przekazywanie nam pakiet≤w przychodz▒cych do nas z odleg│ych adres≤w.

Je╢li twoja tabela routingu nie zawiera tych dw≤ch pozycji, to znaczy, ┐e co╢ jest nie tak (patrz rozdzia│ o odpluskwianiu).

Teraz przetestuj po│▒czenie 'pinguj▒c' serwer (numer IP przekazany przez polecenie ifconfig) tzn.

ping 10.144.153.51

Pwieniene╢ otrzymaµ podobn▒ odpowied╝.

PING 10.144.153.51 (10.144.153.51): 56 data bytes
64 bytes from 10.144.153.51: icmp_seq=0 ttl=255 time=328.3 ms
64 bytes from 10.144.153.51: icmp_seq=1 ttl=255 time=190.5 ms
64 bytes from 10.144.153.51: icmp_seq=2 ttl=255 time=187.5 ms
64 bytes from 10.144.153.51: icmp_seq=3 ttl=255 time=170.7 ms

Kolejne wiersze bΩd▒ pojawiaµ siΩ w niesko±czono╢µ, a┐ do momentu kiedy wci╢niesz CTRL C, a wtedy otrzymasz dodatkowe informacje :-

--- 10.144.153.51 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 170.7/219.2/328.3 ms

Jak na razie wszystko w porz▒dku.

Teraz spr≤buj 'pingn▒µ' komputer podaj▒c jego nazwΩ (nie nazwΩ serwera PPP lecz zupelnie innego komputer, kt≤rego nazwΩ znasz i kt≤ry jest w tej chwili w│▒czony do interentu). Np.

ping sunsite.unc.edu

Tym razem najpier nast▒pi kr≤tka przerwa, kiedy Linux zamienia nazwΩ na odpowiadaj▒cy jej numer korzystaj▒c z serwera DNS, kt≤rego numer wpisa│e╢ do pliku /etc/resolv.conf - wiΩc siΩ nie martw (powiniene╢ wiedzie╢ migaj▒ce ╢wite│ka swojego modemu). Kr≤tko potem zobaczysz cos podobnego do

 PING sunsite.unc.edu (152.2.254.81): 56 data bytes
64 bytes from 152.2.254.81: icmp_seq=0 ttl=254 time=190.1 ms
64 bytes from 152.2.254.81: icmp_seq=1 ttl=254 time=180.6 ms
64 bytes from 152.2.254.81: icmp_seq=2 ttl=254 time=169.8 ms
64 bytes from 152.2.254.81: icmp_seq=3 ttl=254 time=170.6 ms
64 bytes from 152.2.254.81: icmp_seq=4 ttl=254 time=170.6 ms

Pwt≤rnie przerwij wciskaj▒c CTRL C, a zobaczysz statystyki

--- sunsite.unc.edu ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 169.8/176.3/190.1 ms

Je╢li nie otrzyma│e╢ ┐adnej odpowiedzi, przeczytaj rozdzia│ o odpluskwianiu.

Je╢li wszystko dzia│a│o poprawnie, przerwij po│▒czenie wydaj▒c polecenie

ppp-off

Po krt≤tkiej chwili modem powienien "od│o┐yµ s│uchawkΩ".

Je╢li to nie zadzia│a, albo wy│▒cz zasialanie modemu modem, lub uruchom sw≤j program komunikacyjny i przerwij po│▒czenie wciskaj▒c szybko +++, a gdy modem odpowie OK wydaj▒c polecenie ATH0.

Byµ mo┐e bΩdziesz zmuszony usun▒µ r≤wnie┐ pliki blokady (lock files) utworzone przez program pppd


rm -f /var/lock/LCK..cua?

15. Zautomatyzowanie po│▒czenia - tworzenie skrypt≤w do nawi▒zywaniapo│▒czenia

Skrypt o kt≤rym mowa automatyzuje procedurΩ logowania siΩ i uruchamiania po│▒czenia PPP, tak aby administrator lub cz│onek grupy PPP do zestawienia po│▒czenia musia│ jedynie eydaµ polecenie ppp-on.

15.1 Skrypty w przypadku weryfikacji Identyfikatr//Has│o

Je╢li tw≤j dostawca nie korzysta z PAP/CHAP, te skrypty s▒ dla ciebie.

Je╢li pakiet PPP jest zainstalowany poprawnie powiniene╢ byµ w posiadaniu dw≤ch przyk│adowych plik≤w. W przypadku PPP 2.1.2 bΩd▒ to

/usr/sbin/ppp-on
/usr/sbin/ppp-off

a w przypadku PPP-2.2

/etc/ppp/scripts/ppp-off
/etc/ppp/scripts/ppp-on
/etc/ppp/scriptsppp-on-dialer

Je╢li korzystasz z PPP 2.1.2 mocno namawiam ciΩ do usuniΩcia tych plik≤w. S▒ ╝r≤d│em potencjalnych klopot≤w - nie m≤w mi ┐e dzia│aj▒ poprwnie - korzysta│em z nich przez d│ugi czas i rekomendowa│em w pierwszej wersji tego dokuemntu.

Dla u┐ytkownik≤w PPP 2.1.2 przedstawiam LEPSZE wersje wzorcowe tych plik≤w, pobrane z dystrybucjie PPP 2.2. SugerujΩ skopiowanie i korzystanie z tych skrypt≤w zamiast startych skrypt≤w z wersji 2.1.2.

15.2 ppp-on script

Pierwszy z PARY skrypt≤w, uruchamiaj▒cy po│▒czenie.


#!/bin/sh
#
# Script to initiate a PPP connection. This is the first part of the
# pair of scripts. This is not a secure pair of scripts as the codes
# are visible with the 'ps' command.  However, it is simple.
#
# These are the parameters. Change as needed.
TELEPHONE=555-1212      # The telephone number for the connection
ACCOUNT=george          # The account name for logon (as in 'George Burns')
PASSWORD=gracie         # The password for this account (and 'Gracie Allen')
LOCAL_IP=0.0.0.0        # Local IP address if known. Dynamic = 0.0.0.0
REMOTE_IP=0.0.0.0       # Remote IP address if desired. Normally 0.0.0.0
NETMASK=255.255.255.0   # The proper netmask if needed
#
# Export them so that they will be available to 'ppp-on-dialer'
export TELEPHONE ACCOUNT PASSWORD
#
# This is the location of the script which dials the phone and logs
# in.  Please use the absolute file name as the $PATH variable is not
# used on the connect option.  (To do so on a 'root' account would be
# a security hole so don't ask.)
#
DIALER_SCRIPT=/etc/ppp/ppp-on-dialer
#
# Initiate the connection
#
#
exec /usr/sbin/pppd debug /dev/ttySx 38400 \
        $LOCAL_IP:$REMOTE_IP \
        connect $DIALER_SCRIPT

A oto skrypt ppp-on-dialer:-


#!/bin/sh
#
# This is part 2 of the ppp-on script. It will perform the connection
# protocol for the desired connection.
#
chat -v                                                 \
        TIMEOUT         3                               \
        ABORT           '\nBUSY\r'                      \
        ABORT           '\nNO ANSWER\r'                 \
        ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
        ''              \rAT                            \
        'OK-+++\c-OK'   ATH0                            \
        TIMEOUT         30                              \
        OK              ATDT$TELEPHONE                  \
        CONNECT         ''                              \
        ogin:--ogin:    $ACCOUNT                        \
        assword:        $PASSWORD

15.3 Poprawianie dostarczonych skrypt≤w startowych

Poniewa┐ nowe skrtypty s▒ podzielone na dwie czΩ╢cie, bedziemy je zmieniaµ po kolei.

Skrypt ppp-on

Muszisz zmieniµ ten skrypt podaj▒c TW╙J identyfikator u teojego prowajdera, TWOJE haslo dla tego konta i numer telefonu TWOJEGO prowajdera.

Ka┐dy z wierszy postaci TELEPHONE= tworzy zmienne kt≤rcy waro╢µ to tekst wystΩpuj▒cy po prawej stronie znaku '='. (oczywi╢cie poza wierszami komentarza). Popraw wszystkei te wiersze, aby zawiera│y poprawn▒ inforamcje na temat twojego konta u dostawcy internetu.

Je╢li w pliku /etc/ppp/options podajesz numery IP (je╢li potrzebujesz to robiµ) to USU╤ ze skrypt≤w odpowiednie wiersze zawieraj▒ce


        $LOCAL_IP:$REMOTE_IP \

Upewnij siΩ r≤wnie┐, ┐e zmienna DIALER_SCRIPT wskazuje na pe│n▒ ╢cie┐kΩ dostΩpu do skryptu, kt≤rego chcesz ostatecznie u┐ywaµ. WiΩc je╢li przenios│e╢ ten skrypt w inne miejsce, lub zmieni│e╢ jego nazwΩ pamiΩtaj o poprawieniu informacji w pliku ppp-on.

Je╢li skonfigurowa│e╢ pp-on poprawnie i tw≤j serwer PPP korzysta z weryfikacj to┐szamo╢ci za pomoc▒ pary identyfikator/has│o, nie musisz ju┐ modyfikowaµ skryptu ppp-on-dialer!!!

Pomimo, ┐e port szeregowy mo┐e byµ konfigurowany w plikach startowych systemu (/etc/rc.serial), stwierdzi│em, ┐e dobrym pomys│em jest ponowne skonfigurowanie portu szeregowego w skrypcie ppp-on. W ten spos≤b moge wykorzystywaµ modem do innych cel≤w, i nie muszΩ pamiΩtaµ o konieczno╢ci sprawdzania aktualnej konfiguracji portu szeregowego.

Tu┐ przed wierszem uruchamiaj▒cym pppd dodaj


/bin/setserial /dev/cuaX spd_vhi

W ten spos≤b port szeregowy jest ostatecznie ustawiany za prΩdsko╢µ 115200 bps, zamiast 38400. Jest to poprawna prΩdko╢µ dla modem≤w 28.8k (i szybszych). Jednak┐e wiele modem≤w 14.4k nie potrafi skonfigurowaµ swojego interfejsu modem-kompueter na tak▒ prΩdko╢µ.

Sprawd╝ w dokumentacji modemu, je╢li maksymalna prΩdko╢µ modemu wynosi 38400, korzystaj z polecenia


/bin/setserial /dev/cuaX spd_normal

Uruchamianie PPP po stronie serwera

Podczas gdy skrypt ppp-on-dialer jest dobry dla serwera, kt≤ry automatycznie uruchamia pppd jak tylko zalogujesz siΩ na serwerze, niekt≤re systemy wymagaj▒ jawnego uruchomienia PPP.

Je╢li w celu uruchomienia PPP na serwerze musisz wydaµ okre╢lone polecenie, MUSISZ poprawiµ skrypt ppp-on-dialer.

Na KO╤CU skryptu (po wierszu z has│em) dodaj wiersz zawieraj▒cy parΩ expect send - tak▒ , kt≤ra bΩdzie oczekiwa│a na zachΩtΩ (uwaga na znaki o specjalnym znaczeniu w pow│oce Bournea - np $ , <@@formula> lub (otwieraj▒cy i zamykaj▒cy nawais kwadratowy).

Kiedy chat rozpozna zachΩte pow│oki, musi wydaµ polecenie, kt≤re uruchamia PPP na serwerze twojego dostawcy.

W moim przypadku serwer PPP korzysta ze standardowego wiersza zachety pow│aoki Bash


[hartr@kepler hartr]$

i wymaga aby w celu uruchomienia PPP na serwerze wyda│ polecenie


ppp

Zawsze dobrze jest przewidzieµ mo┐liwo╢ci pewnych pomy│ek. Dlatego w moim przypadku u┐ywam


        hartr--hartr    ppp

To znaczy - je╢li nie doczekamy siΩ zachΩty w okre╢lonym czasie wy╢lij znak enter i czekaj na zachΩte raz jeszcze.

Kiedy jeste╢ pewien, ze otrzyma│e╢ zachΩtΩ , wy╢lij ciag 'ppp'.

Uwaga: pamiΩtaj o doadniu znaku \ na ko±cu wiersza, tak aby chat nadal my╢la│, ┐e ca│y skrypt znajduje siΩ w jednym wierszu!

Niestety czΩ╢µ serwer≤w generuje bardzo zmienne zachΩty! Byµ mo┐e bΩdzisz musia│ zalogowaµ siΩ kilkakrotnie za pomoc▒ programu komunikacyjnego, zanim dokladnie zrozumiesz jak to jest i co mo┐na przyj▒µ za zachΩtΩ do wydania polecenia.

Skrypt ppp-on-dialer

To jest drugi ze skrypt≤w, kt≤ry ostatecznie zestawia po│▒czenie PPP.

Uwaga: skrypt chat zawiera siΩ zwykle w jednym wierszu. Znaki '\' pozwalaj▒ na kontynuwanie jednego logicznego wiersza skryptu przez wiele fizycznych wierszy pliku (aby cz│owiek mog│ siΩ w tym lepiej po│apaµ) i nie tworz▒ same z siebie czΩ╢ci skryptu.

Dobrze jest siΩ temu przypatrzeµ z bliska, aby╢my dobrze rozumieli co tu siΩ dzieje.

15.4 Co to jest skrypt chat ...

Skrypt chat to sekwencja par "oczekiwany ci▒g znak≤w " "ci▒g znak≤w do wys│ania". W szczeg≤lno╢ci zanim cokolwiek wy╢lemy ZAWSZE czego╢ oczekujemy.

Je╢li mamy co╢ wys│aµ, BEZ wstΩpnego oczekiwania na cokolwiek, musimy u┐yµ putsego napisu oczekiwanego (oznaczanego w skryptach tak: "") i podobnie je╢li czekamy na cos, lecz nie mamy zamiaru w odpowiedzi niczego wysy│aµ! R≤wnie┐ w przypadku, napis sk│ada siΩ z kilku s│≤w (np. NO CARRIER), musimy otoczyµ napis apostrofami tak aby char rozpozna│ go jako pojedynczy element.

Wiersz chat w naszym wzorcu wygl▒da nastΩpuj▒co:-

Pwy┐szy skrypt ma sensowne mo┐liwo╢ci radzenia sobie z niekturymi sytuacjami wyj▒tkowymi. Sam program chat ma znacznie wiΩksze mo┐liwo╢ci, zapoznaj siΩ ze stron▒ podrΩcznika, kt≤ra go dotyczy (man 8 chat).

15.5 Skrypt chat dla po│▒cze± wymagaj▒cych weryfiakcaji PAP/CHAP.

Je╢li tw≤j dostawca korzysta z mo┐liwo╢ci PAP/CHAP, wtedy tw≤j skrypt jest znacznie prostszy. Wszystko co muszisz zrobiµ to wybraµ numer, poczekaµ na po│▒czenie i pozwoliµ pppd na wej╢cie do systemu i zestawienie po│▒czenia PPP.


#!/bin/sh
#
# This is part 2 of the ppp-on script. It will perform the connection
# protocol for the desired connection.
#
exec chat -v                                            \
        TIMEOUT         3                               \
        ABORT           '\nBUSY\r'                      \
        ABORT           '\nNO ANSWER\r'                 \
        ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
        ''              \rAT                            \
        'OK-+++\c-OK'   ATH0                            \
        TIMEOUT         30                              \
        OK              ATDT$TELEPHONE                  \
        CONNECT         ''                              \

15.6 Opcja debug i -f option_file programu pppd

Jak ju┐ to pokazali╢my, w programie pppd istnieje mo┐liwo╢µ w│▒czenia wyprowadzania i rejestracji komunikat≤w odpluskiwaj▒cych. S│u┐y do tego opcja -d lub debug.

Podczas uruchamiania nowego po│▒czenia PPP pozostaw w skrupcie opcjΩ -d. (Ostrze┐enie: jesli masz ma│o wolnej przestrzeni dyskowej w│▒czenie rejestracji odpluskwiaj▒cych pppd mo┐e bardzo szybko zape│niµ wolne miejsce i mo┐esz mieµ z tego powodu k│opoty - wystarczy aby nie uda│o ci siΩ po│▒czyµ, a bΩdziesz pr≤bowa│ nawi▒zaµ po│▒czenie jescze przez kila minut).

Kiedy bΩdziesz pewien, ┐e wszystko dzia│a poprawnie, mo┐esz j▒ wtedy usun▒c.

Je╢li swoj plik z opcjami ppp nazwa│e╢ incaczej ni┐ /etc/ppp/options lub /etc/ppp/options.ttySx mo┐esz go uaktywniµ podaj▒c jego nazwΩ w wierszu polece± jako warto╢µ opcji -f programu pppd - np.


exec /usr/sbin/pppd debug -f options.myserver /dev/ttySx 38400 \

16. Testowanie skryptu nawiazuj▒cego po│▒czenie

Otw≤rz nowy xterm (jesli pracujesz pod X) lub now▒ konsole tekstow▒ i zaloguj siΩ jako root.

W tej nowej sesji wydaj poleceni

tail -f /var/log/messages

(lub jaki tam jest tw≤j plik zawieraj▒cy komunikaty systemy)

W poprzednim oknie (konsoli wirtualne) wydaj polecenie

ppp-on &

(lub jak nazwa│e╢ zmienion▒ wersjΩ skryptu /usr/sbin/ppp-on). Je╢li nie uruchomi│e╢ skryptu w tle przez ako±czenie wiersza polece± znakiem & nie odzyskasz wiersza zachety do momentu zamkniΩcia po│▒czenia PPP.

Teraz prze│▒cz siΩ do konsolu, gdzie s▒ wy╢wietlane komunikaty systemu.

Zobaczysz cos podobnego (pod warunkiem, ┐e oprogram chat zosta│ uruchomiony z opcj▒ -v, a pppd z -d) ... s▒ to sekwencje rejestrowane przez program chat, po kt≤rych nastΩpuj▒ komunikaty wys│ane przez rozpoczynaj▒cy po│▒czenie PPP program pppd :-


Oct 21 16:09:58 hwin chat[19868]: abort on (NO CARRIER)
Oct 21 16:09:59 hwin chat[19868]: abort on (BUSY)
Oct 21 16:09:59 hwin chat[19868]: send (ATZ^M)
Oct 21 16:09:59 hwin chat[19868]: expect (OK)
Oct 21 16:10:00 hwin chat[19868]: ATZ^M^M
Oct 21 16:10:00 hwin chat[19868]: OK -- got it
Oct 21 16:10:00 hwin chat[19868]: send (ATDT722298^M)
Oct 21 16:10:00 hwin chat[19868]: expect (CONNECT)
Oct 21 16:10:00 hwin chat[19868]: ^M
Oct 21 16:10:22 hwin chat[19868]: ATDT722298^M^M
Oct 21 16:10:22 hwin chat[19868]: CONNECT -- got it
Oct 21 16:10:22 hwin chat[19868]: send (^M)
Oct 21 16:10:22 hwin chat[19868]: expect (ogin:)
Oct 21 16:10:22 hwin chat[19868]:  57600^M
Oct 21 16:10:23 hwin chat[19868]: ^[[;H^[[2J^M^M
Oct 21 16:10:23 hwin chat[19868]: ^M
Oct 21 16:10:23 hwin chat[19868]: ^M
Oct 21 16:10:23 hwin chat[19868]: ^I^I      This is node  kepler.hedland.edu.au^M
Oct 21 16:10:23 hwin chat[19868]: ^I^I^I      at Hedland Campus^M
Oct 21 16:10:23 hwin chat[19868]: ^I^I^I       Hedland College^M
Oct 21 16:10:23 hwin chat[19868]: ^M
Oct 21 16:10:23 hwin chat[19868]: ^I^I  Authorised user ONLY are to use this system^M
Oct 21 16:10:23 hwin chat[19868]: ^M
Oct 21 16:10:23 hwin chat[19868]: ^M
Oct 21 16:10:23 hwin chat[19868]: ^I^I For more information, contact ComputerSystems^M
Oct 21 16:10:23 hwin chat[19868]: ^I^I^I     on +61 (0)91 72 0400^M
Oct 21 16:10:23 hwin chat[19868]: ^I^I^I^I     or^M
Oct 21 16:10:23 hwin chat[19868]: ^I^I       email:  help@hedunx.hedland.edu.au^M
Oct 21 16:10:23 hwin chat[19868]: ^M
Oct 21 16:10:23 hwin last message repeated 3 times
Oct 21 16:10:23 hwin chat[19868]: kepler login: -- got it
Oct 21 16:10:23 hwin chat[19868]: send (hartr^M)
Oct 21 16:10:23 hwin chat[19868]: expect (ssword:)
Oct 21 16:10:23 hwin chat[19868]:  hartr^M
Oct 21 16:10:23 hwin chat[19868]: Password: -- got it
Oct 21 16:10:23 hwin chat[19868]: send (??????^M)
Oct 21 16:10:23 hwin chat[19868]: expect (hartr)
Oct 21 16:10:23 hwin chat[19868]:  ^M^M
Oct 21 16:10:24 hwin chat[19868]: Last login: Sat Oct 21 14:55:53 on  ttyC0^M
Oct 21 16:10:24 hwin chat[19868]: ^M
Oct 21 16:10:24 hwin last message repeated 9 times
Oct 21 16:10:24 hwin chat[19868]: ^I^IYou have logged into node  kepler.hedland.edu.au^M
Oct 21 16:10:24 hwin chat[19868]: ^M
Oct 21 16:10:24 hwin chat[19868]:            This is a Compaq Prolinea 486DX2/50 running Linux 1.1.54^M
Oct 21 16:10:24 hwin chat[19868]: ^M
Oct 21 16:10:24 hwin chat[19868]:        This computer operates as the main Hedland Campus communications^M
Oct 21 16:10:24 hwin chat[19868]: ^I       node, providing dial-in terminal and SLIP access,^M
Oct 21 16:10:24 hwin chat[19868]: ^I^I      Kepler also runs the Hedland end of^M
Oct 21 16:10:24 hwin chat[19868]: ^I^I    the Hedland/Newman inter-Campus WAN link^M
Oct 21 16:10:24 hwin chat[19868]: ^M
Oct 21 16:10:24 hwin chat[19868]: ^M
Oct 21 16:10:24 hwin chat[19868]: [hartr -- got it
Oct 21 16:10:24 hwin chat[19868]: send (ppp^M)
Oct 21 16:10:27 hwin pppd[19872]: pppd 2.1.2 started by root, uid 0
Oct 21 16:10:27 hwin pppd[19873]: Using interface ppp0
Oct 21 16:10:27 hwin pppd[19873]: Connect: ppp0 <--> /dev/cua1
Oct 21 16:10:27 hwin pppd[19873]: fsm_sdata(LCP): Sent code 1, id 1.
Oct 21 16:10:27 hwin pppd[19873]: LCP: sending Configure-Request, id 1
Oct 21 16:10:27 hwin pppd[19873]: fsm_rconfreq(LCP): Rcvd id 1.
Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: rcvd MRU
Oct 21 16:10:27 hwin pppd[19873]: (1500)
Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: rcvd ASYNCMAP
Oct 21 16:10:27 hwin pppd[19873]: (0)
Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: rcvd MAGICNUMBER
Oct 21 16:10:27 hwin pppd[19873]: (a098b898)
Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: rcvd PCOMPRESSION
Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: rcvd ACCOMPRESSION
Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: returning CONFACK.
Oct 21 16:10:27 hwin pppd[19873]: fsm_sdata(LCP): Sent code 2, id 1.
Oct 21 16:10:27 hwin pppd[19873]: fsm_rconfack(LCP): Rcvd id 1.
Oct 21 16:10:27 hwin pppd[19873]: fsm_sdata(IPCP): Sent code 1, id 1.
Oct 21 16:10:27 hwin pppd[19873]: IPCP: sending Configure-Request, id 1
Oct 21 16:10:27 hwin pppd[19873]: fsm_rconfreq(IPCP): Rcvd id 1.
Oct 21 16:10:27 hwin pppd[19873]: ipcp: received ADDR
Oct 21 16:10:27 hwin pppd[19873]: (10.144.153.51)
Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
Oct 21 16:10:27 hwin pppd[19873]: ipcp: received COMPRESSTYPE
Oct 21 16:10:27 hwin pppd[19873]: (45)
Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
Oct 21 16:10:27 hwin pppd[19873]: ipcp: returning Configure-ACK
Oct 21 16:10:28 hwin pppd[19873]: fsm_sdata(IPCP): Sent code 2, id 1.
Oct 21 16:10:30 hwin pppd[19873]: fsm_sdata(IPCP): Sent code 1, id 1.
Oct 21 16:10:30 hwin pppd[19873]: IPCP: sending Configure-Request, id 1
Oct 21 16:10:30 hwin pppd[19873]: fsm_rconfreq(IPCP): Rcvd id 255.
Oct 21 16:10:31 hwin pppd[19873]: ipcp: received ADDR
Oct 21 16:10:31 hwin pppd[19873]: (10.144.153.51)
Oct 21 16:10:31 hwin pppd[19873]:  (ACK)
Oct 21 16:10:31 hwin pppd[19873]: ipcp: received COMPRESSTYPE
Oct 21 16:10:31 hwin pppd[19873]: (45)
Oct 21 16:10:31 hwin pppd[19873]:  (ACK)
Oct 21 16:10:31 hwin pppd[19873]: ipcp: returning Configure-ACK
Oct 21 16:10:31 hwin pppd[19873]: fsm_sdata(IPCP): Sent code 2, id 255.
Oct 21 16:10:31 hwin pppd[19873]: fsm_rconfack(IPCP): Rcvd id 1.
Oct 21 16:10:31 hwin pppd[19873]: ipcp: up
Oct 21 16:10:31 hwin pppd[19873]: local  IP address 10.144.153.104
Oct 21 16:10:31 hwin pppd[19873]: remote IP address 10.144.153.51

(Zauwa┐, ┐e ja korzystam ze STATYCZNYCH numer≤w IP - dlatego m≤j komputer wys│a│ je do serwera - nie zobaczysz tego, je╢li korzystasz z dynamicznych numer≤w IP.)

To wygl▒da na poprawne po│aczenie, przyj┐yj siΩ temu dok│adnie ,zanim zaczniesz testowaµ po│▒czenie przez 'pingowanie' numer≤w ip i komputer≤w.

Uruchom swoj▒ przegl▒darkΩ www lub cokolwiek - jeste╢ pod│▒czony do Internetu!

17. Zamykanie po│▒czenia PPP

Kiedy po│▒czenie PPP nie jest ju┐ ci potrzebne, zamykasz je wydaj▒c ztandardowe polecenie ppp-off (pamiΩtaj musisz byµ administratorem lub nale┐eµ do grupy PPP).

W pliku dziennika powinno znale╝µ siΩ co╢ takiego:-


Oct 21 16:10:45 hwin pppd[19873]: Interrupt received: terminating link
Oct 21 16:10:45 hwin pppd[19873]: ipcp: down
Oct 21 16:10:45 hwin pppd[19873]: default route ioctl(SIOCDELRT): Bad address
Oct 21 16:10:45 hwin pppd[19873]: fsm_sdata(LCP): Sent code 5, id 2.
Oct 21 16:10:46 hwin pppd[19873]: fsm_rtermack(LCP).
Oct 21 16:10:46 hwin pppd[19873]: Connection terminated.
Oct 21 16:10:46 hwin pppd[19873]: Exit.

Nie mart siΩ komunikatem SIOCDELRT - to tylko pppd informuje, ┐e ko±czy pracΩ, nie ma siΩ czym martwiµ.

18. Odpluskwianie

Istnieje wiele przyczyn, dlaczego twoje po│▒czenie nie mo┐e zostaµ nawi▒zane - program chat nie potrafi poprawanie wej╢µ do sysytemu, masz liniΩ telefoniczn▒ o bardzo z│ej jako╢ci itp. Przegl▒daj pliki dziennik≤w, tam znajdziesz wskaz≤wki.

BARDZO czΩstym b│Ωdem jest zwyk│a liter≤wka w skryptach lub plikach konfiguracyjnych. Muszisz je sprawdziµ bardzo dok│adnie - pamiΩtaj, ┐e ludzie maj▒ tendencjΩ do odczytywania tego, o czym MYªLIMY, ┐e jest napisane - a nie tego co w rzeczywisto╢ci siΩ tam znajduje!

Mo┐e chcesz u┐ywaµ PPP 2.2 z j▒drem 1.2.x lub PPP-2.1.2 z j▒drem 1.3.X/2.0.X. - u┐ywaj odpowiedniej wersji PPP.

Przeczytaj PPP FAQ (dokument, kt≤ry jest seri▒ pyta± i odpowiedzi). To jest bardzo obszerny dokumen i mo┐na tam znale╝µ mn≤stwo odpowiedzi. Z mojego (smutnego) do╢wiadczenia wiem, ┐e je╢li nie znajdΩ tam odpowiedzi na moj problem, to nie jest to problem zwi▒zany z PPP. W moim przypadku by│o to korzystanie z j▒dra w wersji ELF lecz ze starymi wersjami modu│ow. Straci│em jedynie 2 dni (i wiΩksz▒ czΩ╢µ jednej nocy)

18.1 Skompilowa│em PPP, lecz linux twierdzi ┐e go nie ma!

Je╢li korzystasz z j▒dra 1.3.x/2.0.x to skompilowa│e╢ wpierw obs│ugΩ modu│≤w, potem modu│ PPP i zainstalowa│e╢ modu│y - prawda ?

Je╢li nie korzystasz z programu kerneld do automatycznego │adowania modu│ow, wtedy zanim zaczniesz uruchamiaµ PPP musisz samemu za│adowaµ modu│ j▒dra (i prawdopodobnie r≤wnie┐ modu│ obs│ugi port≤w szeregowych).

Mo┐esz t ozrobic rΩcznie - jako root, napisz


        insmod ppp

Mo┐e siΩ zdarzyµ, ┐e wpierw musisz za│adowaµ modu│ obs│ugi port≤w szeregowych...


        insmod slhc

Najlepije jednak korzystaµ z automatycznego │adowania modu│≤w, przeczytaj kerneld mini-howto!

Mog│o siΩ jescze tak zdarzyµ, ┐e korzystasz z ppp-2.1.2 z j▒drem w wersji 2.0.x (lub uzywasz ppp-2.2 z j▒drem 1.2.x bez na│o┐onych odpowienich │atek).

Sprawd╝ wersjΩ j▒dra i PPP! Powt≤rzΩ raz jescze:-

J▒dro Linuxa w wersji 2.0.x WYMAGA ppp-2.2.

J▒dro Linuxa w wersji 1.2.x dzia│a z ppp-2.1.2 lecz po na│o┐eniu odpowiednich │at mo┐e wsp≤│pracowac r≤wnie┐ z ppp-2.2.

18.2 Nie mogΩ ustawiµ domy╢lnej trasy w tabeli trasowania (routingu).

Posiadasz sieµ lokaln▒ Ethernet (lub inn▒) z ju┐ wprowadzon▒ pozycj▒ domy╢lnej trasy.

Rozdzia│ na temat 'ú▒czenie dw≤ch sieci za pomoca PPP' omawia w skr≤cie poprawne rozwi▒zanie tego problemu.

Problem polega na tym, ┐e nie mo┐esz mieµ wiecej ni┐ jedn▒ pozycjΩ dotycz▒c▒ domy╢lnej trasy. Domy╢lna trasa oznacza trasΩ kt≤r▒ s▒ wysy│ane wszystkie pakiety, kt≤re nie zosta│y zakwalifikowane na konkretn▒ trasΩ. Og≤lnie rzecz bior▒c domy╢lna trasa wskazuje na trasΩ prowadz▒ca od twojego komputera do Internetu.

Niestety niekt≤re dystrybucje Linuxa ustawiaj▒ domy╢ln▒ trasΩ w ten spos≤b, ┐e wskazujΩ ona na lokaln▒ sieµ Ethernetu. W takim przypadku bΩdziesz musia│ zmieniµ spos≤b w jaki jest inicjowany system w czΩ╢ci dotycz▒cej konfuguracji urz▒dze± sieciowych i definiowania tabelei routingu tak, aby by│y dodawane tylko specyficzne trasy do konkretnych komputer≤w lub podsieci.

Informacje na ten temat mo┐na znale╝µ w dokumentach NET2-HPWTP, NET-3_HOWTO (po polsku) i Linux Network Administration Guide.

19. ú▒czenie dw≤ch sieci za pomoc▒ PPP.

Zasadniczo nie ma ┐adnej r≤┐nicy pomiΩdzy │▒czeniem pojedynczego komputera PC z Linuxem z serwerem PPP, a │▒czeniem dw≤ch sieci LAN za pomoc▒ PPP na dw≤ch komputerach nale┐▒cych do tych sieci. PamiΩtaj, PPP to protok≤│ ka┐dy-z-ka┐dym.

Jednak┐e ABSOLUTNIE musisz rozumieµ w jaki spos≤b konfigurowane s▒ tablice routingu. Przeczytaj NET2-HOWTO (NET-3-HOWTO) i Linux Netwoek Administrator Guide (NAG). Nieocenion▒ pomoc mo┐e r≤wnie┐ dostarczyµ ksi▒┐ka " TCP/IP Network Administration" (wydana przez O'Reilly and Assoc - ISBN 0-937175-82-X).

W celu po│▒czenia dw≤ch sieci LAN musisz u┐ywaµ dw≤ch r≤┐nych adres≤w sieci IP (lub dw≤ch r≤┐nych podsieci tej samej sieci) oraz bΩdziesz musia│ u┐ywaµ statycznych numer≤w IP - lub korzystaµ z IP masquerade. Je╢li chcesz korzystaµ z IP masquerade instrukcje na temat korzystania z tej funkcji znajdziesz w IP masquerade howto.

19.1 Konfiguracja adres≤w IP

Musisz uzgodniµ z administratorem drugiej sieci LAN, kt≤rych adres≤w IP bΩdziecie u┐ywaµ do zestawienia po│▒czenia PPP. Je╢li korzystacie ze statycznych numer≤w IP, bΩdziez prawdopodobnie zmuszony do dzwonienia pod okre╢lony numer.

NastΩpnie popraw odpowiedni plik /etc/ppp/options[.ttyXX] - dobrym pomys│em jest posiadanie modemu i portu konkretnie dla tego po│▒czenia. To mo┐e r≤wnie┐ wymagaµ poprawienia pliku /etc/ppp/options, a byµ mo┐e r≤wnie┐ utworzenia plik≤w options.ttyXX dla innych po│▒cze± PPP.

Zapisz w odpowiednim pliku opcji adres IP twojego ko±ca po│▒czenia, zgodnie z przedstawionym wcze╢niej przyk│adem zestawiania po│▒czenia PPP ze statycznymi adresami IP.

19.2 Konfiguracja routingu

Muszisz sprawiµ aby pakiety z twojej lokalnej sieci by│y przesy│ane przez zestawione po│▒czenie PPP. Jest to proces dwuetapowy.

Na pocz▒tku musisz trasΩ od komputera zestawiaj▒cego po│▒czenie PPP do sieci znajduj▒cej siΩ na drugim ko±cy tegto po│▒czenia. Je╢li jest to po│▒czenie z internetem, mo┐e byµ obs│u┐one przez domy╢ln▒ trasΩ wprowadzon▒ do tabeli routingu przez program pppd na twoim ko±cu po│▒czenia jako realizacja opcji 'defaultroute'.

Je╢li ma to byµ jedynie po│▒czenie dw≤ch sieci LAN, wtedy nale┐y dla konkretnej sieci dodaµ pozycjΩ w tabeli trasowania. S│u┐y do tego polecenie 'route' umiesczone w skrypcie /etc/ppp/ip-up (patrz Po zestawieniu po│▒czenia... , tam znajdziesz instrukcje, jak to zrobiµ).

Drug▒ rzecz▒ jak▒ musisz zrobiµ jest powiadomienie innych komputer≤w nale┐▒cych do twojej sieci lokalnej, ┐e tw≤j komputer sta│ siΩ 'bram▒' do odleg│ej sieci le┐▒cej po drugiej stronie po│▒czenia PPP.

Oczywi╢cie administrator sieci po drugiej stronie po│▒czenia musis zrobiµ to samo. Poniewa┐ bΩdzie on przesy│a│ pakiety do konkretnej sieci, wymagana bΩdzie pozycja tabeli routingu do konkretnej sieci, a nie pozycja domu╢lnej trasy (chyba, ┐e sieµ podrugiej stronie po│▒czenia │▒czy siΩ z Internetem w│a╢nie przez wasza sieµ).

19.3 Bezpiecze±stwo sieci

Je╢li │▒czysz siΩ za pomoc▒ PPP z Internetem, lub cjo╢cby z drug▒ sieci▒ LAN, powiniene╢ pomy╢│eµ o bezpiecze±stwie. Mocno zalecam w│▒czenie firewalla.

20. Po zestawieniu po│▒czenia...

Po zestawieniu po│▒czenia program pppd szuka skryptu /etc/ppp/ip-up. Je╢li istneije i jest wykonywalny, to zostaje uruchomiony. W ten spos≤b mo┐esz zautomatyzowaµ wszelkie specjalne polecenia ustawiania tabeli routingu, kt≤re mog▒ byµ niezbΩdne oraz wszelki inne dzia│ania, kt≤re chcesz aby by│y wykonywane za ka┐dym razem, gdy pol▒czenie PPP

To jest po prostu skrypt i mo┐esz w nim robiµ wszystko, co tylko skrypt poptrafi (tzn. mniej wiΩcej wszystko).

Na przyk│ad mo┐esz zmusiµ sendmail do opr≤┐nieia kolejki.

W podobny spos≤b mo┐esz umie╢ciµ polecenia, kt≤re za pomoc▒ protoko│u POP ponior▒ twoj▒ pocztΩ oczekuj▒c▒ na ciebie u dostawcy.

20.1 Specjalne pozycje tabeli routingu

ú▒czenie za pomoc▒ PPP dw≤ch sieci LAN wymaga dodania do tbeli routingu pozycji dla konkretnej podsieci. Mo┐na to │atwo zrealizowaµ w pliku /etc/ppp/ip-up. Trudno╢µ powstaje wtedy, gdy tw≤j komputer obs│uguje wiele po│▒cze± PPP jednocze╢nie.

Dzieje siΩ tak, dlatego, ┐Ω skrypt /etc/ppp/ip-up jest wykonywany dla ka┐dego zestawionego po│▒czenia ppp, datego musisz szczeg≤lnie ostro┐nie uruchamiaµ polecenia modyfikuj▒ce tabele trasowania dla konkretnego po│▒czenia ppp.

Mo┐na to │atwo wykonaµ korzystaj▒c z mo┐liwo╢ci samej pow│oki. Zwykle przez wykorzystanie polecenia 'case' na odpowiednim parametrze przekazanym do skryptu przez program pppd. Poni┐esj skrypt /etc/ppp/ip-up/etc/ppp/ip-up, kt≤rego u┐ywam do obs│ugi po│▒cze± WAN i po│▒czenia z moj▒ domow▒ sieci▒ Ethernet (obs│ugiwanego przez ten sam serwer).


#!/bin/bash
#
# Script which handles the routing issues as necessary for pppd
# Only the link to Newman requires this handling.
#
# When the ppp link comes up, this script is called with the following
# parameters
#       $1      the interface name used by pppd (e.g. ppp3)
#       $2      the tty device name
#       $3      the tty device speed
#       $4      the local IP address for the interface
#       $5      the remote IP address
#       $6      the parameter specified by the 'ipparam' option to pppd
#
case "$5" in
# Handle the routing to the Newman Campus server
        202.12.126.1)
                /sbin/route add -net 202.12.126.0 gw 202.12.126.1
# and flush the mail queue to get their email there asap!
                /usr/sbin/sendmail -q &
                ;;
        139.130.177.2)
# Our Internet link
# When the link comes up, start the time server and synchronise to the world
# provided it is not already running
                if [ ! -f /var/lock/subsys/xntpd ]; then
                        /etc/rc.d/init.d/xntpd.init start &
                fi
# Start the news server (if not already running)
                if [ ! -f /var/lock/subsys/news ]; then
                        /etc/rc.d/init.d/news start &
                fi
                ;;
        203.18.8.104)
# Get the email down to my home machine as soon as the link comes up
# No routing is required as my home Ethernet is handled by IP
# masquerade and proxyarp routing.
                /usr/sbin/sendmail -q &
                ;;
        *)
esac
exit 0

W rezultacie podniesienia po│▒czenia PPP do naszego kampusu Newman i wykonania tego skryptu, otrzymujemy nastΩpuj▒c▒ tabelΩ trasowania (ten komputer jest r≤wnie┐ naszym serwerem dla przychodz▒cych po│acze± modemowych oraz obs│uguje nasze po│▒czenie z Internetem). Wstawi│em komentarze pomiΩdzy wiersze wydruku aby mo┐na by│o │atwiej wyja╢nik ka┐d▒ pozycjΩ :-


[root@kepler /root]# route -n
Kernel routing table
Destination     Gateway         Genmask         Flags MSS    Window Use Iface
# trasa do odleg│ego komputera-bramy do iternetu
139.130.177.2   *               255.255.255.255 UH    1500   0      134 ppp4
# trasa do kampusowego komputer Newman
202.12.126.1    *               255.255.255.255 UH    1500   0       82 ppp5
# trasa do mojego domogego komputera-bramy
203.18.8.104    *               255.255.255.255 UH    1500   0       74 ppp3
# dwa  zwykle po│▒czaenia PPP (ludzi , t≤rzy zadzwonili do serwera)
203.18.8.64     *               255.255.255.255 UH    552    0        0 ppp2
203.18.8.62     *               255.255.255.255 UH    552    0        1 ppp1
# trasa do sieci kampusowaej (za momputerem Newman)
202.12.126.0    202.12.126.1    255.255.255.0   UG    1500   0        0 ppp5
# trasa do naszej lokalne sieci Ethernet (obejmuje dwie kolejne klasy C)
203.18.8.0      *               255.255.254.0   U     1500   0     1683 eth0
# trasa do urz▒dzenie pΩtli zwrotnej
127.0.0.0       *               255.0.0.0       U     3584   0      483 lo
# domy╢lna trasa do interentu
default         139.130.177.2   *               UG    1500   0     3633 ppp4

20.2 Obs│uga poczty elektronicznej

W poprzedniej sesji powiedzieli╢my jak sobie radziµ z poczt▒ wychodz▒c▒ - po prostu opr≤┐niaµ kolejkΩ tu┐ po nawi▒zaniu po│▒czenia.

Je╢li posiadasz po│▒czenia WAN, mo┐esz uzgodniµ z administratorrem zdalnej sieci LAN, aby robi│ dok│adnie to samo. Np. skrypt /etc/ppp/ip-up na komputerze Newman wygl▒da nastΩpuj▒co:-


#!/bin/bash
#
# Script which handles the routing issues as necessary for pppd
# Only the link to Hedland requires this handling.
#
# When the ppp link comes up, this script is called with the following
# parameters
#       $1      the interface name used by pppd (e.g. ppp3)
#       $2      the tty device name
#       $3      the tty device speed
#       $4      the local IP address for the interface
#       $5      the remote IP address
#       $6      the parameter specified by the 'ipparam' option to pppd
#
case "$5" in
        203.18.8.4)
                /usr/sbin/sendmail -q
                ;;
        *)
esac
exit 0

Kiedy posiadasz jedynie │▒cze PPP z dynamicznym adresem IP, musisz wtedy pobieraµ pocztΩ ze swojego konta na komputerze distawcy ISP. Zwykle robi siΩ to za pomoc▒ protoko│u POP (Post Office Protocol). DostΩpny jset program o nazwie 'popclient', kt≤ry potrafi zautomatyzowaµ ca│▒ procedurΩ.

Po prostu zmodyfikuj odpowiednio skrypt /etc/ppp/ip-up, tak aby zawiera│ wywo│anie programu popclient. M≤j laptom, na kt≤ym dzia│a RedHat Linux robi to tak:


popclient -3 -c -u hartr -p <password> kepler.hedland.edu.au |formail -s procmail

Do pobierania nowinek (news≤w) mo┐esz wykorzystaµ slurp. Pamietaj, ┐e ip-up jest zwyk│ym skryptem pow│oki Bournea i mo┐e byµ wykorzystany do KA»DEGO zadania, kt≤re musi byµ wykonane za k▒zdym razem, gdy zestwimy po│▒czenie PPP.

21. Zamykanie po│▒czenia

Istniej▒cy skrypt /usr/sbin/ppp-off powinien dzia│aµ prawid│owo, kied jest u┐ywany przez administratora. Jednyn▒ zmianΩ jak▒ mo┐esz chcieµ wprowadziµ jest opr≤┐nienie kolejki pocztowej, tu┐ przed zamkniΩceim │▒cza.

Pozostawiamy to jako µwiczenie domowe!

Co wiΩcej mo┐esz stworzyµ skrypt, kt≤ry bΩdzie uruchamianyza ka┐dym razem, gdy zostanie zamkniΩte po│▒czenie PPP. Nale┐y go nazwav /etc/ppp/ip-down. Mo┐e byµ wykorzystany d oodwr≤cenia dzia│a± jakie wykona│es w skrypcie /etc/ppp/ip-up.

22. Uwagi na temat tabel trasowania sieci LAN

Je╢li masz po│▒czenie z sieci▒ LAN, lecz nadal chcesz korzystaµ na swio komputerze z PPP, musisz pamiΩtaµ aby prawid│owo ustawiµ tabele routingu, tak aby pakiety doceira│y zar≤wno do komputera na drugim ko±cu po│▒czenia PPP i dalej, ale r≤wnie┐ do komputer≤w w lokalnej sieci LAN.

NIE chcemy ciΩ uczyµ zasad trasowania - m≤wimy jedynie o prostym, specyficznym przypadku trasowania statycznego.

Je╢li NIE wiesz co to jest trasowanie mocno zlecam przeczytanie Linux Network Administrator Guide (NAG). W brdzo przystΩpny spos≤b porusza te problemy ksi▒┐ka "TCP/IP Network Administration" wydawnictwa O'Reilly.

Podstawow▒ zasad▒ trasowania statycznego jest to, aby trasa domy╢lna (default) prowadzi│a do NAJWIEKSZEJ liczby adres≤w komputerowych. W przpadku innych sieci nale┐y dodawaµ do tabeli trasowania konkretne pozycje.

JEDYNYM przypadkiem, kt≤ry chcia│bym om≤wiµ jest sytuacja, gdy tw≤j Linux jest przy│▒czony do sieci LAN, kt≤ra nie jest prz│▒czona do Internetu - a ty chcesz │▒czyµ siΩ ze swoim dostawc▒ Internetu bΩd▒c ca│y czas przy│▒czony do sieci LAN.

Po pierwsze upewnij siΩ, ┐e trasa do wojej sieci Ethernetowej jest tras▒ do konkretnej sieci, a nie tras▒ domy╢ln▒!.

Sprawd╝ to wydaj▒c polecenie route, powiniene╢ zobazcyµ co╢ takiego:

[root@hwin /root]# route -n
Kernel routing table
Destination     Gateway         Genmask         Flags MSS    Window Use Iface
loopback        *               255.255.255.0   U     1936   0       50 lo
10.0.0.0        *               255.255.255.0   U     1436   0      565 eth0

Je╢li twoja karta sieciowa (urz▒dzenie eth0) jest wykorzystywane przez pozycjΩ domy╢│nej trasy (w pierwszej kolumnie bΩdzie s│owo "default", a w ostatniwej eth0) musisz zmodyfikowaµ skrypty inicjuj▒ce tw≤j system, w czΩ╢ci kt≤ra zajmuje siΩ inicjowaniem kart sieciowych i ustawianiem tabeli trasowania, tak aby ustawia│y trasΩ do konkretnej sieci, jak▒ jest rpzecie┐ twoja sieµ lokalna i nie wykorzystywa│y w tym celu trasy domy╢│nej (zobacz NET2-HOWTO, NET-3-HOWTO i NAG).

Powy┐sze zmiany pozwol▒ programowi pppd na dodawania domy╢lnej trasy prowadz▒cej do twojego dostawcy Internetu i dalej:-

[root@hwin /root]# route -n
Kernel routing table

Destination     Gateway         Genmask         Flags MSS    Window Use Iface
10.144.153.51   *               255.255.255.255 UH    488    0        0 ppp0
127.0.0.0       *               255.255.255.0   U     1936   0       50 lo
10.1.0.0        *               255.255.255.0   U     1436   0      569 eth0
default         10.144.153.51   *               UG    488    0        3 ppp0

Zauwa┐y│e╢, ┐e dodawane s▒ dwie pozycje do tabeli, trasa bezpo╢rednio do samogo komputera ( 10.144.153.51), serwera PPP z kt≤rym siΩ pol▒czy│╢ i trasa domy╢│na przez interfejs ppp0 i serwer PPP jako bramΩ do internetu.

Je╢li twoja konfiguracja jest bardziej z│o┐ona - zapoznaj siΩ dokumentami, o kt≤rych wcze╢niej wspomina│em i skonsultuj siΩ ze swoim lokalnym ekspertem w wych sprawach.

Je╢li w twojej sieci s▒ ju┐ routery, masz ju┐ zapewne utworzone po│▒czenia do wiΩkszych sieci. Jednak NADAL powiniene╢ wykorzystywaµ trasΩ domy╢│na do po│▒cze± z internetem, a ewentualnie dodaµ nowe pozycje, dla tras do tych dalszych sieci, z kt≤ymi siΩ │▒czysz przez swoj▒ kartΩ sieciow▒.

22.1 Uwagi na temat bezpiecze±stwa

Je╢li skonfigurujesz Linuxa w│▒czonego do lokalnej sieci LAN jako komputer │▒cz▒cy sie ┐ Internetem , otwierasz w ten spos≤b ca│▒ swoj▒ sieµ lokaln▒ na pr≤by penetracji z internetu. Zanim to zrobisz zalecamy konsultacje ze swoim administratorem sieci i zapoznanie siΩ z obowi▒zuj▒c▒ polityk▒ bezpiecze±stwa sieci. Je╢li tw≤j komputer zostanie wykorzsytany do zaatakowania sieci lokalnej, mo┐e ciΩ spotkac wiΩcej ni┐ z│o╢µ koleg≤w czy administrator≤w sieci. Mo┐esz popa╢µ w naprawdΩ powa┐ne k│opoty.

Zanim przy│▒czysz sieµ LAN do Internetu, zastan≤w siΩ czy nie wykorzystaµ pownej ochrony jaka daj▒ po│▒czenia z DYNAMICZNYM przydzia│em numer≤w IP - mo┐e warto zapoznaµ siΩ z ksi▒┐k▒ "Building Internet Firewalls" wydawnictwa O'Reilly.

23. Gdzie znale╝µ pomoµ je╢li ca│kowicie ugrzΩz│e╢

Je╢li po│▒czenie PPP nadal nie dzia│a, przeczytaj ten dokument raz jeszcze, sprawd╝ wszystko dok│▒dnie, przyj┐yj siΩ komuniokatom w dziennikach generowanych przez program "chat -v" i "pppd -d".

Przeczytaj dokumentacje do PPP , FAQ na ten temat i inne dokumentu, o kt≤rych wspomina│em.

Je╢li nadal stoisz w miejscu, spr≤buj zadaµ pytanie na pl.comp.os.linux.

W szczeg≤lno╢ci - NIE WYSYLAJ MN╙STWA WYDRUK╙W ODPLUSKWIANIA DO GRUP NOWINKOWYCH, ANI POCZTA DO MNIE - to pierwsze zajmuje tylko │▒cza, a drugie zostanie od razu wrzucone do /dev/null (chyba, ┐e specjalnie o to poprosze).

24. Zwyk│e klopoty z dzia│aj▒cym │▒czem

Wielu dostawc≤w mog▒ wspomagaµ instalajΩ tylko tego oprogramowania, kt≤re dostarczaj▒ nowym u┐ytkownikom. Sa to zwykle programy po MS Windows :-( - wiele os≤b zajmuj▒cych siΩ pomaganiem nowym u┐ytkownikom nic nie wie na temat Unixa (czy Linuxa). Muszisz byµ przygotowany, ┐e w takij systuacji nie znajdziesz u nich pomocy.

Mog│by╢ zrobiµ takiej osobie przys│ugΩ i wyja╢niµ jej co nieco na ten temat (wiΩkszo╢µ os≤b pracuj▒cych przy pomaganiu ludziom powinna byµ rozs▒dna).

24.1 Nie moge wyj╢µ poza serwer PPP do kt≤rego jestem pod│▒czony

OK, twoje po│▒czenie PPP dzia│a poprawnie i mo┐esz 'pingn▒c' serwer PPP podaj▒c jefo numer IP (drugi lub oznaczony jako "remote" numer IP wy╢wietlony przez polecnie ifconfig ppp0), lez nie mo┐esz osi▒gn▒µ komputer≤w poza nim.

Po pierwsze spr≤buj 'pingn▒µ' numery IP, jakie poda│e╢ w pliku /etc/resolv.conf. Je╢li zadzia│a, to znaczy, ┐e mo┐esz wyj╢µ poza serwer PPP (chyba, ┐e w /etc/resolv.conf jest w│a╢nie podany numer IP serwera PPP). Spr≤buj teraz 'pingn▒c' pe│n▒ nazwe twojego dostawcy - np.

ping komputer.mojego dostawcy.pl

Je╢li to nie zadzia│a, masz problem z rozwi▒zywaniem nazw. Mo┐e byµ spowodowany liter≤wk▒ w pliku /etc/reslov.conf. Sprawd╝ to dokladnie z informacjami jakie sobie zanotowa│e╢ zanim zacz▒│e╢ onfigurowaµ PPP. Je╢li wszystko siΩ zgadza, zadzwo± do dostawcy i dowiedz siΩ, czy poprawnie zapisa│es ten numer.

Je╢li nadal nie dzia│a (a tw≤j dostawca potwierdzi│ poprawno╢µ numeru serwera DNS i to, ┐Ω s▒ sprawne), problem le┐y gdzie╢ indziej. SugerujΩ sprawdzenie dok│adnie twojej instalacji linuxa (zwracaj▒csczeg≤ln▒ uwagΩ na atrybuty plik≤w).

Je╢li NADAL nie mo┐esz 'pingn▒µ' komputera swojego dostawcy podaj▒c jego nazwe, nie numer to mo┐e on byµ wy│▒czony (zadzwo± i siΩ dowiedz) albo twoj dostawca ma klopoty z trasowaniem (routingiem). Zadzwo± i sprawd╝ to.

Jedn▒ z mo┐│iwo╢ci jest sytuacja, kiedy zdalnym serwerem PPP jest linux, z wy│▒czon▒ w j▒drze opcj▒ przesy│ania pakiet≤w (IP forwarding).

Dobrym testem jest pr≤ba po│▒czenie siΩ za pomoc▒ oprogramowania, kt≤re on dostarcza (zwykle dla MS Windows). Je╢li wszystwo dzia│a poprawnie dla innego systemu operacyjnego i dokladnie tego samego konta u dostawcy, to znaczy, ┐e problem le┐y po stronie twojego Linuxa, a NIE dostawcy.

24.2 MogΩ wy│aµ poczte, lecz nie otrzymuj▒ ┐adnych list≤w

Je╢li korzystasz z pol▒czenia z dyamicznym przydzia│em numer≤w IP zobacz rozdia│ "Konfiguraja us│ug" poni┐ej.

24.3 Dlaczego ludzie nie mog▒ krzystaµ z us│ug finger, WWW, gopher,talk mojego komputera

Ponownie, je╢li korzystasz z pol▒czenia z dyamicznym przydzia│em numer≤w IP zobacz rozdia│ "Konfiguraja us│ug" poni┐ej.

25. Korzystanie z us│ug sieciowych w przypadku dynamicznyhc numer≤w IP

Je╢li korzystasz z dynamicznych numer≤w IP (wielu dostawc≤w umo┐liwi ci korzystanie z PPP jedynie tylko w ten spos≤b, chyba, ┐e zap│acisz odpowiedno du┐▒ sumΩ pieniΩdzy) musisz sobie zdawaµ z ograniczΩµ jakie to ze sob▒ niesie.

Po pierwsze korzystanie z us│ug zewnΩtrznych dzia│a poprawnie. To znaczy mo┐esz wys│aµ poczte sendmailem, pobraµ pliki przez ftp, korzystaµ z www,fingera itp.

W szczeg≤lno╢ci mo┐esz odpowiadaµ na poczte, zostanie zmagazynowana podczas gdy nie by│o pol▒czenia i zostanie wy│ana tu┐ po jego nawi▒zaniu.

PamiΩtaj, ┐e tw≤j komputer nie ejst pod│▒czony do internetu przez 24 godziny, ani nie posiada przy ka┐dym po│▒czeniu tego samego numeru IP. Dlatego nie mo┐esz otrzymywaµ poczty bezpo╢rednio na sw≤j komputer i jest bardzo trudno umo┐liwiµ twoim kolegom przeg│adanie twojego serwera www czy ftp. Tak d│ugo kiedy m≤wimy o Interneie, tw≤j komputer nie istnieje jako pe│noprawny, unikalny, ca│y czas osi▒galny komputer internetowy poniewa┐ nie posiada jednoznacznego, sta│ego numeru IP (pamietaj, ┐e numer IP nie jest przydzielony do komputera tylko do linii telefonicznej, gdy nie jeste╢ po│▒czony z "twojgo" numeru IP korzysta kto╢ inny.

Je╢li uruchimisz serwer WWW (lub inna us│ugΩ), nikt o niej nie wie, CHYBA, ┐e kto╢ wie, ┐e tw≤j komputer jest w tej chwili pod│▒czony do internetu i zna numer IP, kt≤rego w danej chwili u┐ywasz. Tak▒ informacjΩ mo┐na zdobyµ na wiele sposob≤w, mo┐esz informowaµ ludzi telefonicznie, listowanie, zostawiµ ospowiednie inforamcje w pliku  /.plan na komputerze dostawcy (pod warunkiem, ┐e masz dostΩp do interpertera).

Nie jest to problem wiΩkszo╢ci u┐ytkownik≤w. Oni chc▒ jedynie wysy│aµ i otrzymywaµ pocztΩ (korzystaj▒c z konta u dostawcy) i korzystaµ z internetowych serwer≤w WWW i ftp. Je╢li koniecznie MUSISZ mieµ mo┐liwo╢µ udostΩpniania w│asnych us│ug, powiniene╢ otrzymaµ statyczny numer IP. Albo pr≤bowaµ siΩ ratowaµ metodami opisanymi powy┐ej...

25.1 Konfiguracja poczty elektronicznej

Nawet w przypadku korzystania z dynamicznych adres≤w IP, mo┐esz tak skonfogurowaµ sendmail, aby wysy│a│ listy napisane lokalnie na twoim komputerze. Konfiguracja sendmaila mo┐e byµ BARDZO trudna - nie mamy zamiaru uczyµ ciΩ, jak to siΩ robi. Powieniene╢ skonfigurowaµ sendmail podaj▒c jako "smart host" komputer pocztowy twojego dostawc (opcja DS w pliku /etc/sendmail.cf). Szczeg≤│owe instrukcje na temat konfiguracji sendmaila znajdziesz w jego dokumantacji - przyj┐yj siΩ plikom m4, kt≤re wchodz▒ w sklad dystrybucji sendmaila. Na pewno znajdziesz tam jeden, kt≤ry spe│ni twoje wymagania.

DostΩpne s▒ r≤wnie┐ wspania│e ksi▒┐ki na temat sendmaila, lecz zwykle nie nadaj▒ siΩ dla pocz▒tkuj▒cych u┐ytkownik≤w.

Je╢li ju┐ uda ci siΩ skonfigurowaµ sendmaila, bedziesz zapewne chcia│ tuz po nawi▒zaniu po│▒zcenia PPP op≤┐niaµ kolejkΩ z list≤w czekaj▒cyh na wys│anie do adresat≤w gdzie╢ tam w internecie. W tym celu dodaj do pliku /etc/ppp/ip-up polecenie

sendmail -q &

Przychodz▒ca poczta jest problemem dla os≤b korzystaj▒cych z dynamicznych numer≤w IP. Rozwi▒zaniem jest :-

Mo┐esz zautomatyzowaµ ca│y ten proces umiesczaj▒c niezbΩdne polecenia w pliku /etc/ppp/ip-up (pisali╢my o tym wcz╢niej).

25.2 Konfiguracja lokalnego serwera DNA

Choµ mo┐esz korzystaµ zserwera DNS, kt≤ry zapewnia ci tw≤j dostawca ISP, mo┐esz r≤wnie┐ uruchomiµ lokalny serwer DNS (tylko buforuj▒cy) w│▒czany przez sktypt ip-up. Zalet▒ tego rozwi▒zania jest osczΩdno╢µ czasu i │▒cza w przypadku czΩstego nawi▒zywania po│▒cze± z tymi samymi komputerami.

Konfiguracja serwera DNS do pracy w trybie buforowania jest ca│kiem prosta (opcja forwarders w pliku /etc/named.boot wskazujaca serwer DNS twojego dostawcy). Ksi▒┐ka wydawnictwa O'Reilly "DNS and Bind" odpowie na wszelkie twoje pytania.

DostΩpny jest r≤wnie┐ dokument DNS-HOWTO.

Jeden z punkt≤w Netykiety m≤wi: zanim zaczniesz u┐ywaµ drugorzΩdnego serwera DNS do buforowania, wewn▒trz domey twojego dostawcy, spytaj go wpierw o pozwolenie. Poprawnie skonfigurowany serwer DNS nie jest problemem dla twego dostawcy, lecz je╢li pope│nisz ajki╢ b│▒d, mo┐e wtedy sprawiaµ k│opoty.

26. Konfiguracja serwera PPP

Jak ju┐ wspomina│em istnieje wiele metod na wykonanie tego zadania. To co chcΩ zaprezentowaµ to spos≤b, kt≤rego u┐ywam (korzystaj▒c z wieloportowej karty Cycades i kilku linii telefonicznych na wspolnym numerze).

Je╢li ci siΩ nie spodoba, mo┐esz to zrobiµ na sw≤j spos≤b. Zawsze chΩtnie w kolejnych wersjach tego dokumentu umieszczΩ inne sprawdzone metody. Je╢li znasz tak▒ przy╢lij mi jej opis wraz ze swoimi uwagami.

PamiΩtaj, ze w tej czΩ╢ci m≤wimy jedynie o konfiguracji Linuxa jako sewera PPP. Nie zamierzam kiedykolwiek umieszczaµ tutaj informacji o konfigurowaniu specjalnych terminali dostΩpowych i innych tego typu zabawek.

Czekaj▒ mnie jescze eksperymenty z shadow password. Aktualnie prezentowane informacje NIE zawieraj▒ ┐anych udogoniej jakie mo┐na uzyskaµ korzystaj▒c z shadow password.

26.1 Kompilacja j▒dra

Wszelki wcze╢niejsze uwagi na temat wersji j▒dra i pakietu PPP s▒ nadal aktualne. Zk│adam, ┐e przeczyta│e╢ poprzednie rozdzia│y.

MUSISZ w│▒czyµ w j▒rdze orzesy│anie pakiet≤w (IP forwarding). Mo┐e to byµ dobry moment do w│▒czenia r≤wnie┐ takich udogodniej jak zliczanie pakiet≤e (accounting) i firewall.

Je╢li korzystasz z kart wieloportowych muszisz oczywiscie korzystaµ z ich drajwer≤w.(zobacz Serial-JTZ).

26.2 Zarys konfiguracji serwera

Oferujemy konta PPP (i SLIP) oraz konta zwyk│e sprawdzaj▒c to┐samo╢µ za pomoc▒ identyfikatora i has│a. Jest to dla nas u│atwieniem, poniewa┐ uzytkownik korzystaj▒c z jednego konta ma dostΩp do wszystkich us│ug.

Poniewa┐ jestemy organizacj▒ edukacyjn▒, nie pobieramy op│at za korzystanie z systemu i nie musimy siΩ martwiµ o zliczanie ruchu i naliczanie op│at.

Firewall dzia│aj▒cy pomiΩdzy nasz▒ sieci▒ a internetem ogranicza dostΩp naszysch u┐ytkownik≤w do wybranych us│ug internetowych, poniewa┐ │▒cz▒c siΩ z naszym serwerem pracuj▒ wewn▒trz naszej sieci, lecz nie bΩdzeimy tutaj rozwijaµ tego tematu.

Proces uruchomie po│▒czenia PPP przez uzytwkonika posiadaj▒cego onto na serwerze wygl▒da nastΩpujaco:-

Serwer korzysta z indywidualnych plik≤w /etc/ppp/options.ttyXX ka┐dego portu wej╢ciowego, gdzie jest zapisany zdalny numer IP (dynamiczny przydzia│ numer≤w IP). Do zapewnienia komunikacji z komputerami sieci lokalnej i koputerem po drygiej stronie po│▒czenia PPP serwer korzysta z proxyarp (w│▒czonej przez odpowiedni▒ opcjΩ pppd) unikaj▒c uruchomienia takich program≤w jak routed lub gated.

Kiedy u┐ytkownik zamyka po│▒czenie PPP, pppd na serwerze to wykrywa, poleca modemowi przerwaµ po│▒czenie likwiduj▒c w tym samym czasie │▒cze PPP.

26.3 Przygotowanie niezbΩdnego oprogramowania

Potrzebne bΩd▒ nastΩpuj▒ce programy:-

26.4 Konfiguracja zwyk│ego konta

Zanim skonfigurujesz sw≤j komputer jako serwer PPP, musi on wpierw umo┐liwiaµ dostΩp u┐ytkownikom di uch kont.

Nie zamieszcamy w tym dokumencie informacji jak to zrobiµ. Przeczytaj dokumentacjΩ programu getty i Serial-JTZ.

26.5 Konfiguracja plik≤w z opcjami programu pppd

Musisz stworzyµ plik z opcjami dotyczacymi wszystkich po│▒cze± /etc/ppp/options. My u┐ywamy takich opcji:


asyncmap 0
netmask 255.255.254.0
proxyarp
lock
crtscts
modem

Zauwa┐, ┐e NIE korzystamy z trasowania - a w sczeg≤lno╢ci nie ma domy╢lnej trasy, poniewa┐ jako serwer PPP powiniene╢ jedynie zapewniµ przesy│anie pakiet≤w z komputer klienta do Internetu i twojej sieci lokalnej i z Internetu (sieci lokalnej) do komputera klienta.

Wszystko co jest wymagane do realizacji tego celu, to trasa do komputer klienta i u┐ycie opcjie 'proxyarp' w programi pppd.

Opcja 'proxyarp' dodaje do tabeli apr serwera PPP ppozycj▒ proxy arp (ju┐ wszystko jasne :), kt≤ra powiadamia komputery sieci lokalnej, ┐e wszystkie pa kiety przeznaczone dla klineta PPP nale┐y przesy│aµ bezpo╢rednio do serwera - nie mo┐na jej niestety u┐yµ przy routingu pakiet≤w pomiΩdzy dwiema sieciami LAN - muszisz dodaµ do tabeli routingu odpowiednie trasy.

Prawdopodobnie chcesz aby u┐ytkownicy twojego serwera PPP korzystali z dysnamicznego przydzielania adres≤w IP. Mo┐na to osi▒gn▒µ przypisuj▒c ka┐demu portowi szeregowemu inny adres IP. Zrobisz to umieszczaj▒c odpowiedni▒ inforamacje w plikach /etc/ppp/options.ttyXX.

Po prostu umie╢µ tam lokalny muer IP (serwera PPP) i numer IP, kt≤ry ma byµ wykorzystywany przez ten port. Np.


kepler:slip01

W szczeg≤lno╢ci, zamiast numer≤w IP mo┐esz podawaµ nazwy komputer≤w (ja sam pamiΩtem tylko numery najwa┐niejszych komputer≤w i urz▒dze±, nazwy jest │atwiej zapamiΩtaµ).

26.6 KOnfiguracja pppd umo┐liwiaj▒ca zwk│ym u┐ytkownikomna uruchomienie po│▒czenia

Poniewa┐ uruchomienie po│▒zeniea PPP jest zwi▒zane z konfiguracj▒ urz▒dze± sieciowych i manipulowaniem tabel▒ routingu, dlatego wymagane s▒ do tego specjalne uprawnienia - w rzeczywisto╢ci uprawnienia administratora.

Na szczΩ╢ci pppd zosta│ zaprojektowany do takiego u┐ycia i mo┐emy w│▒czyµ bit suid root. Musisz po prostu wydaµ polecenie


chmod u+s /usr/sbin/pppd

Teraz atrybuty tego pliku powinny wyg│adaµ tak


-rwsr-xr-x   1 root     root        74224 Apr 28 07:17 /usr/sbin/pppd

Je╢li tego nie zrobisz, twoi u┐ytkownicy nie bΩd▒ mogli uruchomiµ po│▒czenia PPP.

26.7 Ustanawianie og≤lnego aliasu dla pppd

Aby upro╢ciµ u┐ytkownikom pewne dzia│ania, w pliku /etc/bashrc tworzymy globalny alias, tak aby proste polecenie uruchamia│o ca│▒ procedurΩ PPP po stronie serwera.

This looks like


alias ppp="exec /usr/sbin/pppd -detach"

Co to znaczy?

U┐ytkownicy, k≤trzy loguj▒ siΩ w ten spos≤b bΩd▒ przedstawiani przez polecenie w mniej wiΩcej tak
  6:24pm  up 3 days,  7:00,  4 users,  load average: 0.05, 0.03, 0.00
User     tty       login@  idle   JCPU   PCPU  what
hartr    ttyC0     3:05am  9:14                -

I to ju┐ wszystko... m≤wi│em, ┐e zrobienie prostego serwera PPP jest banalne.

27. Korzystanie z PPP przy wykorzystaniu kabli bezmodemowych(bezpo╢rednie po│▒zcenie port≤w szeregowych)

TO jest jeszcze prostsze - nie ma modemu to znaczy nie trzeba dzwoniµ.

Po pierwsze wybierz ,kt≤ry kompter bΩdzie pracowa│ jako 'serwer'. Muszisz skonfigurowaµ na porcie szeregowym getty, aby╢ mog│ za pomoc▒ minicomu przetestowaµ po│▒czenie z drugiego komputera.

Je╢li po│▒czenie miΩdzy portami dzia│a poprawnie, mo┐esz usun▒µ niepotrzebne getty, CHYB, ┐e chcesz aby to po│▒czenie bylo weryfikowane przez identyfikator i has│o. Poniewa┐ masz kontrolΩ nad oby komputerami podej┐ewam, ┐e nie jest ci to potrzebne.

Teraz, na serwerze nale┐y usun▒µ getty i upewniµ siΩ, ┐e porty na obu komputerach s▒ skonfigurowane tak samo.

Teraz musisz tylko ruchomiµna obu systemach pppd. Zak│adam, ┐e po obu stronach bΩdzie to port /dev/cua4. Na oby komputerach wydaj polecenie :-


pppd -detach crtscts lock <local IP>:<remote IP> /dev/cua4 38400 &

Spowoduje to zestawienie po│▒czenia - lecz nie masz jescze poprawionych tabel routingu. Mo┐esz przetestowaµ po│▒czenie 'pinguj▒c' komputery nawzajem, a nastΩpnie zamkn▒µ po│▒czeni zabijaj▒c jeden z proces≤w pppd.

Routing jaki jest potrzebny zale┐y od tego co tak naprawdΩ chcesz robiµ. Zwykle jeden z komputer≤w bΩdzie przy│▒czony do Ethernetu, a przez to do Internetu, wiΩc wymagany routing jest taki sam, jak w przypadku serwera i klienta PPP.

Na komputerze wyposarzonym w kartΩ Ethernetu nale┐y wydaµ polecenie


pppd -detach crtscts lock proxyarp <local IP>:<remote IP> /dev/cua4 38400 &

a na tym drugim


pppd -detach crtscts lock defaultroute <local IP>:<remote IP> /dev/cua4 38400 &

Je╢li │▒czysz w ten spos≤b dwie sieci (przez │▒cze szeregowe!) lub masz bardziej skomplikowane wymagania dotycz▒ce routingu, mo┐esz skorzystaµ ze skrypt≤w ppp-on i ppp-off w dok│adnie taki sam spos≤b, jaki zosta│ opisany wcze╢niej.

Robert Hart
Port Hedland, Western Australia
August 1996

28. Od t│umacza

Zdaje sobie sprawΩ, ┐e niniejsze t│umaczenie zawiera mn≤stwo b│Ωd≤w. Niestety nie jestem w stanie dok│adnie sprawdziµ ca│Ωgo dokumentu i ╢wiadomie pozostawiam tΩ pracΩ czytelnikowi. BΩdΩ wdziΩczny za wszelkie uwagi na temat tego dokumentu, wytykanie b│Ωd≤w, liter≤wek, sk│adni i wszelkie inne, kt≤re mog▒ przyczyniµ siΩ do jego ulepszenia.

Wszelkie tego typu uwagi proszΩ przesy│aµ na adres piotr.pogorzelski@ippt.gov.pl

Inne przet│umaczone dokumenty mo┐na znale╝µ na stronie http://www.jtz.org.pl/. Zapraszamy!.

piotr.pogorzelski@ippt.gov.pl.