Instalace PPP
Pro použití PPP musíme mít zkompilovanou jeho podporu v jádře (zjistíme v dmesg) nebo jako moduly (slhc, ppp_generic, ppp_async, popř. i ostatní ppp_*)
V Linuxu se pro vytvoření a správu PPP spojeni používá PPP daemon - pppd. Můžeme nainstalovat binárky (apt-get install ppp) nebo kompilovat zdroje (apt-get source -b ppp atd.)
Výsledkem by měly být binárky pppd, pppstats, pppdump a chat v /usr/sbin/, manové stránky a dokumentace a několik skriptů v adresářích /etc/ a /etc/ppp/(zjistíme pomocí dpkg -L ppp).
Součástí balíčku je i několik utilitek: jsou to pon, poff a plog. Používají se k navazování, ukončování a vypisování PPP spojení.
Obvyklé navazování spojení z hlediska uživatele vypadá asi takto:
- Uživatel se připojí pomocí příkazu pon [ spojení [ options ] ], popř. /usr/bin/pppd call [ spojení [ options ] ]
- pppd přečte nastavení postupně s /etc/ppp/options, ~/.ppprc a /etc/ppp/options.ttyname. Pokud jsme zadali spojení, pokusí se pppd přečíst nastavení z /etc/peers/spojení. Pokud jsme spojení nezdali, dafaultní je /etc/peers/provider. Jako poslední se vyhodnotí options z příkazového řádku.
- Pokud se úspěšně naváže spojení, je proveden skript /etc/ppp/ip-up (viz níže)
- Případná autentikace (volba auth|noauth) - pomocí PAP nebo CHAP a souborů /etc/pap-secrets a /etc/chap-secrets
- Pokud autentizace proběhla úspěšně, vykoná se /etc/ppp/auth-up
- Probíhá výměna paketů, dokud není ukončena
- Byl-li vykonán /etc/ppp/auth-up, provede se /etc/ppp/auth-down
- Provede se ip-down
Některé z těchto skriptů si rozebereme podrobněji:
/etc/ppp/ppp_on_boot
Pokud exituje je vykonán při každém startu systému.
/etc/ppp/ip-up
Teto skript je volán po ustanovení IP linky. Nastaví některé proměnné a pomocí run-parts(8) spustí skripty v adresáři /etc/ppp/ip-down.d
Volá se těmito argumenty:
Arg Jméno Příklad
-----------------------------------------------
$1 Interface name ppp0
$2 The tty ttyS1
$3 The link speed 38400
$4 Local IP number 147.251.50.9
$5 Peer IP number 147.251.48.1
$6 Optional ``ipparam'' value foo
/etc/ppp/ip-down
Volaný po odpojení linky. Funkce i argumenty podobné jako u ip-up.
Podobně můžeme použít i skripty pro jiné protokoly než IP, např. ipx-up, ipv6-up atd.
Obvyklé volby pppd
Volby můžeme zapsat do jednoho z konfiguračních souborů (viz výše) nebo do příkazového řádku:
/usr/sbin/pppd /dev/ttyS0 asyncmap 0 auth crtscts lock noipdefault modem\
debug netmask 255.255.255.0 connect /etc/peers/provider
- asyncmap- bitová mapa znaků, které zakážete přenos (nastavte 0)
- auth - budeme volat na autorizovanou službu
- crtscts - hardwareová kontrola toku dat (určitě zapnout)
- lock - zavře zařízení používané pppd
- noipdefault - případně si necháme přidělit ip adresu
- modem - typ zařízení
- debug - zvýší debug level
a jiné (viz man).
CHAP a PAP
Challange (Cryptografic) Handshake Authentication Protocol a Password Authentication Protocol mají své souboury v /etc/ppp/chap-secrets a /etc/ppp/pap-secrets.
Obsahují řádky tvaru
klient server heslo akceptovatelná_ip_adresa
přičemž poslední položka je nepovinná.