bsd_comp.o ppp_async.o ppp_deflate.o ppp_generic.o ppp_synctty.o slhc.oPokiaľ používate jadro rady 2.4, mali by ste vytvoriť zariadenie /dev/ppp.
# mknod /dev/ppp c 108 0 # chmod 600 /dev/pppV Linuxu sa pre vytvorenie a správu PPP spojenia používa PPP daemon - pppd. Môžeme ho nainštalovať buď z binárky (.rpm) alebo kompilovať zo zdrojákov. Ukážka kompilácie:
# bzip2 -dc ppp-2.4.1.tar.bz2 | tar -xv # cd ppp-2.4.1 # ./configure # make # make installVýsledkom by mali byť binárky pppd, pppstats, pppdump a chat v /usr/sbin/, manuálové stránky a dokumentácia a niekoľko skriptov v adresároch /etc/ a /etc/ppp/(zistíme pomocou dpkg -L ppp). Súčasťou balíčku je aj niekoľko utilitek: sú to pon, poff a plog. Používajú sa k naviazaniu, ukončeniu a vypisovaníu PPP spojení. Obvyklé naviazanie spojenia z hľadiska uživateľa vyzerá asi takto:
-rwsr-x--- 1 root dialout 173800 Oct 27 08:34 /usr/sbin/pppdProgram pppd môže pracovať v režime server tak aj v režime klient.
/etc/ppp/scripts/ppp-on # zahajuje spojenie k PPP serveru /etc/ppp/scripts/ppp-on-dialer # druhá časť skriptu ppp-on /etc/ppp/scripts/callback # rozbehne odpovedajúci režim /etc/ppp/scripts/redialer # ako ppp-on-dialer ale skúša viac čísel /etc/ppp/scripts/ppp-off # ukončí existujúce spojenie /etc/ppp/options # parametry spoločné všetkým spojeniam /etc/ppp/options.ttyXX # parametry pre každý port zvlášť
#!/bin/sh 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 TELEPHONE ACCOUNT PASSWORD DIALER_SCRIPT=/etc/ppp/ppp-on-dialer exec /usr/sbin/pppd debug lock modem crtscts /dev/ttyS0 38400 \ asyncmap 20A0000 escape FF kdebug 0 $LOCAL_IP:$REMOTE_IP \ noipdefault netmask $NETMASK defaultroute connect $DIALER_SCRIPT
#!/bin/sh 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 '' \ ogin:--ogin: $ACCOUNT \ assword: $PASSWORD
#!/bin/sh if [ "$1" = "" ]; then DEVICE=ppp0 else DEVICE=$1 fi if [ -r /var/run/$DEVICE.pid ]; then kill -INT `cat /var/run/$DEVICE.pid` if [ ! "$?" = "0" ]; then rm -f /var/run/$DEVICE.pid echo "ERROR: Removed stale pid file" exit 1 fi echo "PPP link to $DEVICE terminated." exit 0 fi echo "ERROR: PPP link is not active on $DEVICE" exit 1
CHAP - zaistí, že ak sú obe strany už dohodnuté na určitom hesle, tak nieje možné heslo odpočúvať. Funguje to asi tak,že jedna strana pošle [HASH(heslo+soľ),soľ] a overovacia strana spočíta HASH(heslo+soľ), jestliže sa HASH zhoduje, je to vporiadku.
PAP - heslo sa posiela v otevrenej forme.
Pre autentizáciu sa používajú súbory:
/etc/ppp/chap-secrets # pre Challenge/Handshake Authentication Protocol /etc/ppp/pap-secrets # pre Password Authentication ProtocolObsahujú riadky tvaru klient server heslo akceptovateľná_IP_adresa, kde jednotlivé položky sú od seba oddelené bielym znakom. Poslednú položku na riadku môžeme vynechať, čo znamená, že nám bude dynamicky pridelená IP adresa.
prihlasovaciemeno * heslo
Na jednej strane sa spustí:
/usr/sbin/pppd 115200 local crtscts lock asyncmap 0 noauth 10.1.1.1:10.1.1.2 /dev/modema na druhej
/usr/sbin/pppd 115200 local crtscts lock asyncmap 0 noauth 10.1.1.1:10.1.1.2 /dev/modem passivePotom sa vytvorí nové ppp0 sieťové zariadenie.
Parametry ppp-démona:
115200
Je maximálna rychlosť, ktorou je ochotný sériový port komunikovať, resp. je to rychlosť, ktorú je schopený váš modem
zvládnuť.
modem
To aby pppd vedel, že komunikuje s modemom.
crtscts
Zapne hardwarovú kontrolu toku dat. Ak je vaše pripojenie rýchlejšie ako 9600 bps, určite to použite.
asyncmap 0
Toto číslo je bitová maska, ktorou môžete explicitne zakázať prenos znakov s kódom 0-31. Kôli rychlosti prenosu sa
doporučuje nastaviť na 0.
defaultroute
vám nastaví routovaciu tabuľku tak, že ako implicitnú gateway máte ppp0 (IP serveru providera na druhej strane
pripojenía).
noipdefault
klasické pripojenie na internet pomocou modemu funguje tak, že vám provider prideľuje ip dynamicky. Keby tu tento
parameter nebol, počítač by sa snažil vnutiť providerovi vlastnú IP.
lock
Spôsobí zamknutie /dev/modem, tak zamedzí ostatným programom do neho zapisovať a rušiť tak spojenie.
Vhodný je parameter debug, ktorý značne rozšíri hlášky, ktoré sa píšu do logu, to zjednodušuje ladenie.
ppp0 Link encap:Point-to-Point Protocol inet addr:212.11.117.56 P-t-P:212.11.105.2 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:414 errors:0 dropped:0 overruns:0 frame:0 TX packets:461 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:208481 (203.5 Kb) TX bytes:54777 (53.4 Kb)Pre ďalšie testovanie linky skuste príkazy ping, netstat alebo route.
id:runlevels:respawn:/sbin/mgetty [parametry] <zariadenie>Niektoré dôležité parametry sú:
-x <level> # debugging level -s <speed> # rychlosť portu -p <login_prompt> # prompt pri logováni -n <rings> # koľko zvonení než sa začne odpovedať -i /etc/issue # pred loginom zobrazí /etc/issueKonfigurační soubory:
/etc/mgetty+sendfax/mgetty.config # hlavný konfiguračný súbor /etc/mgetty+sendfax/sendfax.config # konfiguracia sendfaxu /etc/mgetty+sendfax/login.config # kvôli komu spúštať ktorý program /etc/mgetty+sendfax/callback.config # konfigurácia callbacku /etc/mgetty+sendfax/dialin.config # kontrola vstupu podľa volajúcehoViac podrobností v manuálových stránkach a v súboru policy.h, ktorý ste editovali pred kompiláciou.
ATA - otvorenie linky a pokus o odpoveď na prichádzajúce spojenie ATD<cis> - otvorenie linky a vytočenie čísla <cis> ATDS=<c1> - voľba čísla uloženého v pamäti modemu, viz příkaz AT&Z ATH0 - zavesenie linky ATL<cis> - nastavenie hlasitosti modemu, kde <cis> je z {0,1,2,3} ATP - pri vytáčaní použíť pulznú voľbu ATT - pri vytáčaní použíť tónovú voľbu ATX<cis> - štandartne je <cis>=4 a kontroluje sa oznamovací aj obsadzovací signál, v prípade chyby skuste ATX3, <cis> je z {0,1,2,3,4} ATZ<cis> - reset modemu a načítanie uloženého profilu, nepovinné <cis> je z {0,1} AT&F<cis> - nacítanie konfiguracie od výrobcu, nepovinné <cis> je z {0,1} AT&V - zobrazenie konfigurácie AT&W<cis> - zapísanie aktuálnej konfiguracie do profilu <cis>, <cis> je z {0,1} AT&Z<c1>=<c2> - uloží do pamäti <c1> číslo <c2>, <c1> je z {0,1,2,3}