PPPoE mit 2.4er Kernel

Breitband-Pinguin

Seit fast zwei Jahren ist DSL verfügbar. Wer aber unter Linux in den Genuss des breitbandigen Surfens kommen will, muss selbst Hand anlegen. Wenn die eigene Distribution auf einem Kernel der 2.4er Serie aufbaut, gilt es dabei andere Wege zu beschreiten als mit Kernel 2.2.x.

"Linux, damit kenne ich mich nicht aus, wird von uns auch nicht unterstützt." Wer kennt sie nicht, die Antworten der Hotline? Dabei sollte man meinen, dass mit der stetig wachsenden Verbreitung von Linux auch dieses Betriebssystem zum Supportumfang des Zugangsproviders gehören sollte.

Doch statt sich darauf zu verlassen, ist ein Blick in einige Howtos (http://www.linux.org/docs/index.html) oft hilfreicher, will man dem Pinguin einen breitbandigen Anschluss ans weltweite Netz verschaffen. Die Problematik liegt in einem speziellen Protokoll namens "Point to Point over Ethernet" (PPPoE) begründet, nachzulesen unter http://rfc.net/rfc2516.html. Da die meisten DSL-Provider in Deutschland diese Technik wählen, kommt die Masse der DSL-Kunden nicht darum herum, ihre Rechner entsprechend auszustatten. Dazu bestehen zwei Möglichkeiten.

Pseudo-Terminal oder Kernel-Patches?

Der einfachste Weg ist der ab Seite 18 beschriebene über ein Pseudo-Terminal.

Die von mir bevorzugte Lösung ist eine Implementierung des Protokolls im Kernel. Standardmäßig bietet der 2.2er Kernel aber keine PPPoE-Unterstützung. Die meisten Distributionen bringen jedoch nicht die von Linus Torvalds veröffentlichte Version mit, sondern haben die Kernel-Quellen bereits mit einigen Patches versehen. Somit ist es wahrscheinlich, dass auf dieses Protokoll dennoch zurückgegriffen werden kann. Damit beschäftigt sich ein eigener Artikel ab Seite 28.

Kernel-Version 2.4 enthält PPPoE-Unterstützung bereits in den ungepatchten Quellen. Einige neuere Distributionen (z. B. SuSE 7.1) bieten auch schon eine mehr oder weniger komfortable, menügesteuerte Konfiguration des DSL-Zugangs an, allerdings meist nur für den 2.2er Kernel. Eine Ausnahme ist die neue SuSE 7.2, welche eine komfortable Konfiguration über das grafische Setup-Tool YaST2 anbietet. Über das Tool lassen sich nicht nur die ADSL-Zugänge der Deutschen Telekom (T-DSL, Abbildung 1) konfigurieren, sondern auch andere ADSL-Verbindungen (Abbildung 2). Dieses aktuelle YaST2 erspart auch den weiter unten beschriebenen Konfigurationsmarathon.

Abbildung 1: T-DSL-Konfiguration mit YaST2
Abbildung 2: SuSE 7.2 unterstützt auch andere ADSL-Zugänge

Soll der 2.4er Kernel mit seinen zahlreichen Verbesserungen zur Anwendung kommen, sind einige Änderungen nötig. Damit PPPoE überhaupt möglich wird, muss er mit PPP support kompiliert werden (Abbildung 3). Folgende Zeile sollte Gewissheit verschaffen, ob die eingesetzte Distribution PPPoE unterstützt:

find /lib/modules/`cat /proc/sys/kernel/osrelease`/ -name "*pppo*"
Abbildung 3: PPP-Unterstützung im Kernel anschalten

Erscheinen zwei Zeilen von der Form

/lib/modules/Kernel-Version/kernel/driver/net/pppoe.o
 /lib/modules/Kernel-Version/kernel/driver/net/pppox.o

als Antwort, so bietet der eingesetzte Kernel PPPoE-Support.

Außerdem gilt es, den "Point to Point Protocol Daemon" (pppd) zu ersetzen. Die Vorgehensweise ist im Kasten "Selbstkompiliert: pppd mit PPPoE-Support" beschrieben.

Selbstkompiliert:

pppd

mit PPPoE-Support

Um ein auf Kernel 2.4.x basierendes System PPPoE-fähig zu machen, benötigt man die Quellen des pppd (ppp-2.4.1-pppoe2.tgz von http://www.shoshin.uwaterloo.ca/~mostrows/). Es handelt sich hierbei um den für PPPoE gepatchten PPP-Daemon in der Version 2.4.1. Der (ungepatchte) Quellcode pppd-2.4.1.tar.gz kann nicht verwendet werden bzw. muss zunächst mit dem ebenfalls unter dieser URL erhältlichen Patch ppp-2.4.1-pppoe.patch2 angepasst werden.

Installation

Die Quellen werden mit tar xvfz ppp-2.4.1-pppoe2.tgz entpackt. Nach dem Wechsel ins neu entstandene Verzeichnis mit cd ppp-2.4.1-pppoe2 bereitet man die Quellen mit ./configure --prefix=/usr für die Kompilation mit einem C-Compiler (mindestens gcc in der Version 2.95.2) vor.

Diese Compiler-Suite ist Bestandteil einer jeden Standardinstallation. Gegebenenfalls muss sie mit Hilfe des Paketmanagement-Tools der jeweiligen Distribution nachträglich installiert werden. Dieses wird auf ggf. nicht erfüllte Paketabhängigkeiten aufmerksam machen und bietet oft sogar die Option an, fehlende Pakete automatisch einzuspielen.

Zusätzlich zum Compiler müssen autoconf und make installiert sein. Sind alle für das Kompilieren notwendigen Programme an Board, kann mit make die Übersetzung der Programme in den Binärcode beginnen. Tritt dabei ein Fehler auf, erfährt man davon, indem in den letzten Zeilen der Ausgabe mehrfach ein ** ERROR * auftaucht.

Bevor der Superuser root die erstellten Dateien nach einem fehlerfreien Kompilationsvorgang mit make install in die jeweiligen Verzeichnisse kopiert, sollten die Original-pppd-Dateien gesichert werden:

cp /usr/sbin/ppp* backupverzeichnis_fuer_pppd

Konfiguration

Wenn selbstkompilierte Versionen von pppd und pppoed zum Einsatz kommen, ist im Gegensatz zu den vorkompilierten Versionen von SuSE Folgendes zu beachten: Die Konfiguration nimmt man in einer Datei /etc/ppp/options vor, nicht in zwei Dateien, wie in den Listings 2 und 3. Den Inhalt dieser Datei entnehmen Sie bitte Listing 1.

Start

Aufgebaut wird die Verbindung mit

pppd eth1 file /etc/ppp/options

eth1 steht für die Ethernetkarte, welche mit dem DSL-Modem verbunden ist; in diesem Fall die zweite Netzwerkkarte.

Listing 1

/etc/ppp/options

für den selbstkompilierten

pppd-2.4.1

mit PPPoE-Support

# /etc/ppp/options
 #
 #
 # Die Optionen koennen mit man pppd
 # nachgelesen werden.
 # Obwohl sich diese Manpage auf die
 # Datei pppd.conf und deren Optionen
 # bezieht, sind die Erklaerungen
 # auch fuer diese Datei gueltig.
 #
 #
 # pppd-2.4.1-Optionen
 # fuer Kernel 2.4
 #
 # Unterstuetzung fuer PPPoE
 plugin /usr/lib/pppd/2.4.1/pppoe.so
 #
 # Plugin ermoeglicht die Weitergabe
 # des Passworts an den pppd
 plugin /usr/lib/pppd/2.4.1/passprompt.so
 #
 # Keine besondere Authentifizierung
 noauth
 #
 # Empfangen der DNS-Adressen vom
 # Provider
 usepeerdns
 #
 defaultroute
 #
 # Die lokale und die Point-to-
 # Point-Adresse werden vom
 # Provider vorgegeben
 ipcp-accept-local
 ipcp-accept-remote
 #
 # dial on demand - automatischer
 # Verbindungsaufbau
 # Weglassen des Stichworts == kein
 # automatischer Verbinungsaufbau
 demand
 #
 # Benutzername und Passwort
 # (muessen auch in
 # /etc/ppp/pap-secrets eingetragen sein)
 user "[Anschlusskennung][T-onlineNr]0001@t-online.de"
 password "geheim"
 #
 # Passwort wird nicht protokolliert
 hide-password
 nodetach
 # Kompressionsverfahren muessen
 # ausgeschaltet werden
 nopcomp
 novjccomp
 noccp
 #
 # Auflegen nach 180 s Inaktivitaet
 idle 180
 # max. Uebertragungseinheit
 # (Empfang und Versand)
 mru 1492
 mtu 1492
 # Die Adressen fuer ppp0, wenn
 # keine Verbindung aufgebaut wurde
 192.168.2.1:192.168.2.254

SuSE bietet hierzu speziell für den 2.4er Kernel gepatchte Versionen an. Obwohl sich diese noch im Beta-Stadium befinden, laufen sie auf meinem Rechner seit ca. drei Monaten anstandslos. Die vorkompilierten Pakete, zu finden unter ftp://ftp.suse.com/pub/people/bk/pppoe/ppp-2.4.0-5.i386.rpm und ftp://ftp.suse.com/pub/people/bk/pppoe/pppoed-0.48b1-6.i386.rpm, werden mit

rpm -Uhv ppp-2.4.0-5.i386.rpm
 rpm -Uhv pppoed-0.48b1-6.i386.rpm

installiert. Verweigert der Paketmanager die ppp-Installation, kann man ihn mit rpm -Uhv --force --nodeps ppp-2.4.0-5.i386.rpm zur Mitarbeit überreden. Allerdings sollten Sie diesen Befehl nur verwenden, wenn Sie wissen, was Sie tun!

Jetzt müssen noch zwei Konfigurationsdateien geändert werden.

Konfigurationsmarathon

In der Datei /etc/ppp/peers/pppoe24 (Listing 2) legt man Optionen für das Programm pppoe24 fest, welches den pppd initiiert. Lassen Sie sich nicht von der Zahl 24 im Namen verwirren! Damit unterscheidet SuSE Linux zwischen dem pppoe24 für Kernel 2.4.x und pppoe für Kernel 2.2.x. Wenn Sie den pppoed selbst kompiliert haben, trägt das Binary keine Zahl zur Unterscheidung im Namen.

Listing 3 gibt die modifizierte Konfigurationsdatei /etc/pppoed.conf für den pppoed24 wieder. Diese Datei wird auch vom Konfigurationstool YaST2 modifiziert.

Listing 2

Modifizierte

/etc/ppp/peers/pppoe24

für das vorkompilierte SuSE-Paket

pppoed-0.48b1-6.i386.rpm
# /etc/ppp/peers/pppoe24
 #
 #
 # Die Optionen koennen mit man pppd
 # nachgelesen werden.
 # Obwohl sich diese Manpage auf die
 # Datei pppd.conf und deren Optionen
 # bezieht, sind die Erklaerungen
 # auch fuer diese Datei gueltig.
 #
 #
 # PPPoE-Optionen
 # fuer Kernel 2.4
 #
 # Unterstuetzung fuer PPPoE
 plugin /usr/lib/pppd/plugins/pppoe.so
 #
 # Plugin ermoeglicht die Weitergabe
 # des Passworts an den pppd
 plugin /usr/lib/pppd/passwordfd.so
 #
 # Keine besondere Authentifizierung
 noauth
 #
 # Empfangen der DNS-Adressen vom
 # Provider
 usepeerdns
 #
 noipdefault
 # Die lokale und die Point-to-
 # Point-Adresse werden vom
 # Provider vorgegeben
 ipcp-accept-local
 ipcp-accept-remote
 # Passwort wird nicht protokolliert
 hide-password
 nodetach
 # Kompressionsverfahren muessen
 # ausgeschaltet werden
 nopcomp
 novjccomp
 noccp
 # max. Uebertragungseinheit
 # (Empfang und Versand)
 mru 1492
 mtu 1492
 # Die Adressen fuer ppp0, wenn
 # keine Verbindung aufgebaut wurde
 192.168.2.1:192.168.2.254

Listing 3

Neue

/etc/pppoed.conf

für SuSE

# /etc/pppoed.conf
 # Vgl. man pppoed fuer die
 # Erklaerung der Optionen
 #
 # Welche Netzwerkkarte ist mit dem
 # DSL-Modem verbunden?
 interface = eth1
 #
 # Benutzername (user) und Passwort
 # (password)
 # (Allgemeines Beispiel fuer
 # T-Online)
 user = "[Anschlusskennung][T-onlineNr]0001@t-online.de"
 password = "geheim"
 #
 # (Leerlauf-)Zeit, nach der die
 # Verbindung getrennt werden soll
 # (in Sekunden)
 idle = 180
 #
 # Dial on demand (automatischer
 # Verbindungsaufbau)
 demand = yes

In der pppoed.conf verstecken sich persönlichen Zugangsdaten für den DSL-Zugang sowie Besonderheiten der eigenen Hardware. interface gibt an, an welcher Netzwerkkarte das DSL-Modem angeschlossen ist. idle bezeichnet die Zeit (in Sekunden), nach der die Verbindung getrennt wird, wenn über diesen Zeitraum keine Daten mehr geflossen sind. Mit demand=yes oder demand=no kann ein automatischer Verbindungsaufbau an- bzw. abgeschaltet werden.

Die hinter user= und password= gemachten Angaben müssen sich zusätzlich in folgender Form in der Datei /etc/ppp/pap-secrets wiederfinden:

#
 # /etc/ppp/pap-secrets
 #
 "[Anschlusskennung][T-onlineNr]0001@t-online.de"    *   "geheim"

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • PPPoE mit 2.2er Kernel
    Auch Linux-Systeme mit 2.2er Kernel gehören noch nicht zum alten Eisen. Um damit einen DSL-Anschluss mit PPPoE zu nutzen, ist etwas mehr Arbeit nötig, doch auch hier steht man nicht vor unüberwindlichen Hürden.
  • Dr. Linux
  • Roaring Penguin Software's DSL-Software
    Wessen Linux-Distribution noch kein komfortables DSL-Frontend mitbringt, der wird sich über das freie Konfigurations-Tool von Roaring Penguin Software freuen: DSL in wenigen Schritten.
  • Distribution Tails stopft Sicherheitslücken und aktualisiert Software
    Mit Tails sollen Anwender anonym und sicher im Internet surfen. Die jetzt freigegebene Version 3.2 stopft vor allem einige Sicherheitslücken, weshalb Anwender möglichst schnell umsteigen sollten.
  • Schneller ins Netz
    Die Abkürzung WWW wurde in den letzten Jahren gelegentlich als "World Wide Waiting" übersetzt: Die langen Wartezeiten beim Surfen im Netz können an Server- oder Netzüberlastung liegen, häufig ist aber einfach eine zu langsame Internet-Anbindung das Problem - DSL hilft.
Kommentare

Infos zur Publikation

LU 11/2017: Server für Daheim

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 2 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...