PPP Skripte im Eigenbau

Supportdatenbank (olh_ppp)
Bezieht sich auf

SuSE Linux: Versionen ab 6.0

Anliegen:

Sie möchten eine Verbindung ins Internet aufbauen, aber keines der bekannten Wählprogramme sagt Ihnen zu oder Ihre Hardware braucht spezielle Behandlung :)

Dieser Artikel beschreibt die Vorgehensweise zum Erstellen eigener PPP Skripte für den pppd den man sich von http://www.samba.org/ppp/ herunterladen kann.
Vorrausgesetzt wird der PPP Dämon in Version 2.3.x welcher ab SuSE Linux 6.x mitgeliefert wird.

Vorgehen:

Den pppd kann man mit Optionen über die Shell aufrufen oder die Optionen aus einem File lesen lassen. Die zweite Methode wird hier beschrieben. Der pppd wird nach /usr/sbin installiert und sollte folgende Zugriffsrechte haben:
$ ls -l /usr/sbin/pppd
-rwsr-sr--   1 root     dialout    135636 Jul 30 00:51 /usr/sbin/pppd
Somit kann auch die Gruppe dialout das Modem benutzen um z.B. die Routingtabelle zu aktualisieren.

Der pppd liest beim Start einige Optionsdateien ein:
/etc/ppp/options          (immer, Datei muss da sein)
~/.ppprc
/etc/ppp/options.ttyname  (Ist die Schnittstelle)
Folgende Optionen müssen/sollten bei einer normalen Providerverbindung da sein:
Modemspezifisch:
/dev/modem           Schnittstelle festlegen
38400                Portspeed festlegen
crtscts              Hardwareflowcontrol
lock                 Gerät blockieren
modem                
idle 1200            nach X Sekunden auflegen

TCP/IP spezifisch
noipdefault          
defaultroute         Defaultroute nach draussen setzen
noipx                kein IPX über Modem zulassen
ipcp-accept-local    vom Provider eigene IP zuweisen lassen
ipcp-accept-remote   vom Provider IP für Gegenstelle zuweisen lassen
usepeerdns           DNS Server vom Provider anfordern,
                     muss extra gehandelt werden

Authorisierung
user arcor           entsprechender User aus der pap-secrets oder 
                     chap-secrets
noauth               Gegenstelle soll nicht nicht bei uns anmelden
hide-password        Passwort nicht ins Log schreiben

debug                Meldungen ins syslog /var/log/messages schreiben
detach               pppd sofort in den Hintergrund stellen
nodetach             pppd nicht in den Hintergrund schicken,
                     bleibt an der Console
Diese Optionen müssen mindestens verwendet werden. Oft sind in den genannten Dateien noch andere Optionen aktiv. Diese muss man mit einer Raute # auskommentieren.
Folgende Optionen machen Probleme:
proxyarp             Ethernet bezogen, für Einwahlserver interessant
ipx*                 IPX über PPP ist möglich aber kaum verbreitet
Um zu überprüfen welche Optionen aktiv sind gibt man den Befehl
grep -v ^# /etc/ppp/options | grep -v ^$

ein. Dies listet alle aktiven Optionen auf. Die Dateien ~/.ppprc und /etc/ppp/options.ttyXX existieren meist nicht und sind nur für Einwahlserver interessant.
Nach erfolgreicher Authentifizierung wird /etc/ppp/ip-up ausgeführt. Hier kann man die erhaltene IP und DNS IP's auswerten und verarbeiten.
Dann werden noch die PPP Module ppp_deflate und bsd_comp geladen und die Verbindung läuft mit Kompression ab. In der /etc/conf.modules müssen folgende Zeilen stehen:
alias ppp-compress-21          bsd_comp
alias ppp-compress-24          ppp_deflate
alias ppp-compress-26          ppp_deflate
Dies alles läuft nach der erfolgreichen Einwahl ab. Die eigentlich Einwahl wird mit dem Programm chat erledigt. chat steuert das Modem an und vollzieht ein eventuelles Terminallogin (wie z.B. bei Compuserve). Der Aufbau eines Chatfiles ist sehr einfach. Es gibt Steuerbefehle für chat und es gibt Strings auf die chat warten soll und dann entsprechend reagieren:
TIMEOUT 60
ABORT "NO CARRIER"
ABORT BUSY
ABORT "NO DIALTONE"
ABORT ERROR
ABORT BLACKLISTED
"" +++ATZ0
OK AT&FS6=1X3
OK ATM0DT110
CONNECT ""
ame: "CISAGREE"
ID:--ID: "123456,7890/noint/go:pppconnect"
word: "compuserve-passwd"
Hier wird das Timeout auf 60 Sekunden gesetzt und die Strings definiert die als Fehler angesehen werden sollen. Dann wird das Modem initialisiert, gewählt und auf CONNECT gewartet. Dann ist die Verbindung hergestellt und es wird der Login Prozess abgearbeitet, in diesem Falle das Compuserve-Logon. Danach übernimmt der pppd die Leitung und baut die eigentliche PPP Verbindung auf.
Die Authorisierung wird im File pap-secrets oder chap-secrets festgelegt, dieses darf nur von root lesbar sein.
Stichwörter: PPP, MODEM, INTERNET, ISP, SKRIPT, SCRIPT

Kategorien: PPP

Feedback willkommen: Send Mail to olh@suse.de (Geben Sie bitte folgendes Stichwort an: SDB-olh_ppp)
SDB-olh_ppp, Copyright SuSE Linux AG, Nürnberg, Germany - Version: 22. Sep 1999
SuSE Linux AG - Zuletzt generiert: 30. Mai 2002 von olh (sdb_gen 1.40.0)