27.7PPP-Grundlagen

Das Point-to-Point Protocol (PPP) ermöglicht eine TCP/IP-Verbindung zwischen zwei Rechnern über eine serielle Verbindung. PPP kam in der Vergangenheit bei der Verwendung von Analog- und ISDN-Modems zum Einsatz. Für ADSL- und UMTS-Modems sowie für VPNs mit PPTP spielt PPP bis heute eine wichtige Rolle. Dieser Abschnitt fasst daher einige Grundlagen rund um PPP zusammen. Die Informationen sind vor allem dann relevant, wenn Sie eine PPP-Verbindung manuell konfigurieren müssen, was in der Praxis glücklicherweise nur ganz selten notwendig ist.

Unter Linux ist der PPP-Dämon pppd für die PPP-Verbindung verantwortlich. Dieses Programm kann grundsätzlich sowohl als Client als auch als Server eingesetzt werden – hier geht es aber ausschließlich um die Client-Variante.

Bei ADSL-Verbindungen kommt zumeist eine der drei folgenden pppd-Erweiterungen zum Einsatz:

Am Beginn des PPP-Verbindungsaufbaus steht immer die Authentifizierung: Ihr Rechner muss sich also beim Internet-Provider mit einem Login-Namen und einem dazugehörenden Passwort anmelden. Hierfür gibt es zwei Verfahren: PAP und CHAP.

CHAP unterstützt wiederum zahllose Varianten (z.B. MS-CHAPv2), die das Verfahren sicherer machen.

pppd-Konfigurationsdateien und -Scripts

/etc/ppp/options enthält globale pppd-Optionen. Diese Optionen gelten als Defaulteinstellung für alle Verbindungen, die mit pppd hergestellt werden. Um Konflikte zwischen verschiedenen PPP-Einsatzformen zu vermeiden, sollte options möglichst wenige Einstellungen enthalten. Verwenden Sie zur Optionseinstellung stattdessen die verbindungsspezifischen Dateien in /etc/ppp/peers/! Sie vermeiden damit, dass eine Option, die für die Verbindungsvariante A zutrifft, eventuell einen Verbindungsaufbau bei Variante B blockiert.

/etc/ppp/peers/name enthält verbindungsspezifische Optionen. Um pppd unter Anwendung dieser Optionen zu starten, führen Sie das folgende Kommando aus:

root# pppd call name

Einstellungen in /etc/ppp/peers/name haben Vorrang gegenüber /etc/ppp/options.

/etc/ppp/pap-secrets und chap-secrets enthalten eine Liste aller Login-Namen und Passwörter für die PAP- bzw. CHAP-Authentifizierung. Wenn Sie nicht sicher sind, ob die Authentifizierung per PAP oder CHAP erfolgt, fügen Sie denselben Eintrag einfach sowohl in pap-secrets als auch in chap-secrets ein. Sicherer und weiter verbreitet sind CHAP-Varianten (CHAP, MS-CHAP oder MS-CHAPv2). Die Einträge für Client-Verbindungen sehen so aus:

#/etc/ppp/pap-secrets und /etc/ppp/chap-secrets #login name server IP address password client IP adress "hofer" * "qwe44trE" *

Statt des * zwischen dem Login-Namen und dem Passwort kann die IP-Adresse des PPP-Servers angegeben werden, zu dem die Verbindung hergestellt werden soll. In diesem Fall gilt die Passwortinformation nur für diese IP-Adresse. Das ist ein zusätzlicher Schutzmechanismus gegen missbräuchliche Verwendung, der aber nur möglich ist, wenn die IP-Adresse bekannt und unveränderlich ist.

Statt des zweiten Sterns können Sie angeben, für welche Client-IP-Adresse die Kombination aus Login-Name und Passwort gelten soll. Diese Adresse ist in der Regel unbekannt, weil der PPP-Server dem Client bei jedem Verbindungsaufbau eine andere, gerade freie Adresse zuweist. Der zweite Stern erlaubt daher beliebige Client-IP-Adressen.

Die beiden Script-Dateien /etc/ppp/ip-up und /etc/ppp/ip-down werden unmittelbar nach Herstellung der Verbindung bzw. nach deren Beendigung ausgeführt. Mögliche Anwendungen sind die Einstellung von /etc/resolv.conf sowie das Einrichten oder Verändern von Routing-, Masquerading- und Firewall-Funktionen.

An die beiden Scripts werden sechs Parameter übergeben. Der erste Parameter enthält den Schnittstellennamen (z.B. ppp0), der vierte die lokale IP-Adresse, der fünfte die IP-Adresse des PPP-Partners und der sechste die Identifikationszeichenkette der PPP-Verbindung (Option ipparam). Die Parameter zwei und drei sind ungenutzt. Wenn beim Verbindungsaufbau DNS-Adressen übertragen werden (Option usepeerdns), stehen außerdem in den Variablen DNS1 und DNS2 die beiden Adressen zur Verfügung.