Wenn die hier beschriebene Konfiguration nachvollzogen wird, so wird folgendes eingerichtet:
pon
, ppp-on
, ppp-up
(abhängig von der verwendeten Distribution)pap
(es wird hier angenommen, daß dies vom Provider gefordert wird; in späteren Versionen werden auch andere Wege erläutert werden)poff
, ppp-off
, ppp-down
(wiederum abhängig von der verwendeten Distribution)Zunächst wählt chat
Provider an und stellt die Verbindung der beiden Modems her (Einigung über Protokolle etc.). Entsprechend pap
nimmt chat
das Einloggen am Server vor und übergibt dann die Kontrolle an pppd
, welcher das PP-Protokoll weiter initiiert.
Die für die Konfiguration wichtigen Dateien sind: /etc/ppp/ppp.chatscript
, /etc/ppp/options
, /etc/ppp/pap-secrets
, /etc/ppp/ip-up
und ip-down
.
Dieses kann auch unter /etc/ppp
liegen.
TIMEOUT 60
ABORT "NO CARRIER"
ABORT BUSY
ABORT "NO DIALTONE"
ABORT ERROR
"" +++ATZ
OK ATDT[Telephonnummer des Providers]
CONNECT ""
disconnect "chat -- \d+++\d\c OK ath0 OK"
asyncmap 0
crtscts
lock
115200 # maximale Geschwindigkeit des Modems
modem
[netmask 255.255.255.0] # wenn nötig nach Providerangabe
noipdefault
debug
user [UserID] # eigene UserID beim Provider einsetzen
# client server secret IP addresses
UserID * passwd # UserID und Password einsetzen
Achtung! Bei pap-secrets
unbedingt die Rechte kontrollieren!
root: ls -l pap-secrets
muß ergeben
-rw------- 1 root root 1501 Feb 6 20:38 pap-secrets
Bitte beachten, daß hier die Pfade zu ppp.chatscript
und ppp.options
korrekt angegeben sind.
Nach meiner Debian:
#!/bin/sh
if [ -r /etc/ppp/options -a -r /etc/ppp/ppp.chatscript ]; then \
/usr/sbin/pppd connect "/usr/sbin/chat -v -f /etc/ppp/ppp.chatscript" \
`cat /etc/ppp/options`
else
echo "You do not have permissions to access /etc/ppp/ppp.chatscript or \ /etc/ppp/options"
fi
Aus meiner Debian.
#!/bin/sh
# Lets see how many pppds are running....
N=`ls /var/run/ppp* 2>/dev/null| wc -l`
# If there no ppp running then poff does not make much sense
if [ $N = 0 ]; then
echo "No pppd is running"
exit 1
fi
# If one is running then it cal be killed with killall
if [ $N = 1 ]; then
killall pppd
exit 0
fi
# More than one! Aieehh.. Dont know which one to kill.
echo "More than one pppd running. None stopped"
exit 1
Diese Dateien werden ausgeführt, wenn eine Verbindung hergstellt (ip-up
) bzw. beendet wurde (ip-down
). Dies kann man sich zunutze machen, um Aufgaben, die regelmäßig nach einem Verbindugsaufbau erledigt werden müssen, im Hintergrund abzuarbeiten (z.B. holen/schicken von Mails und News). Dazu aber später mehr. Vorerst lassen wir diese beiden Files unberührt.
Aus historischen Gründen kann eine serielle Leitung unter Linux nur bis maximal 38.4Kb spezifizert werden (auch, wenn wir es hier einige Male anders gemacht haben). Aufgrund der verschiedenen Standards ist es aber möglich, mit einem 28.8Kb Modem einen Durchsatz von maximal 112Kb/s zu erreichen. Um die serielle Schnittstelle entsprechend zu tunen, wird in /etc/rc.boot/0setserial
folgender Eintrag aufgenommen (eventuell liegt sie auch an anderer Stelle und heißt setserial
:
${SETSERIAL -b /dev/ttyS0 ${AUTO_IRQ skip_test autoconfig spd_vhi
/dev/ttyS0
entspricht dem Anschluß com1
unter DOS; entsprechend /dev/ttyS1
com2
. Wenn jetzt dev/ttyS0
mit 38.4Kb angesprochen wird, antwortet es mit "Ich kann auch noch mehr". Mit setserial -b /dev/ttyS*
läßt sich die Einstellung überprüfen.
Wenn jetzt das Modem angeschlossen ist, zeigt uns die Eingabe von pon
, ppp-on
oder ppp-up
(als root natürlich), ob wir alles richtig gemacht haben.
Als Test machen wir hier ein ping
auf eine vom Provider angegebene IP eines Nameservers:
root: ping [IP]
sollte etwas in der Art
PING 134.99.128.5 (134.99.128.5): 56 data bytes
64 bytes from 134.99.128.5: icmp_seq=0 ttl=253 time=189.4 ms
64 bytes from 134.99.128.5: icmp_seq=1 ttl=254 time=180.5 ms
64 bytes from 134.99.128.5: icmp_seq=2 ttl=254 time=240.1 ms
64 bytes from 134.99.128.5: icmp_seq=3 ttl=254 time=180.4 ms
--- 134.99.128.5 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 180.4/197.6/240.1 ms
liefern (Abbruch mit <Strg>+<C>
).
Wenn das nun alles geschafft ist, können wir uns an die nächste Aufgabe begeben: der Einrichtung des Mailservers.