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