Home / LinuxUser / 2001 / 08 / PPPoE mit 2.4er Kernel

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

War doch klar...
(243 Punkte bei 15 Stimmen)
Re: War doch klar...
(179 Punkte bei 5 Stimmen)
Re: Skype für 64-Bit-Prozessor u. Suse 12.1
(161 Punkte bei 4 Stimmen)
Kubuntu verliert Finanzierung
(130 Punkte bei 4 Stimmen)
Offen fürs Geschäft
(80 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Breitband-Pinguin

PPPoE mit 2.4er Kernel

01.08.2001 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
"
Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

411 Hits
Wertung: 0 Punkte (1 Stimme)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 03/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Duden Korrektor unter 64-Bit
Duden Korrektor unter 64-Bit
Tim Schürmann, 06.02.2012 10:36, 0 Kommentare

Der Duden Korrektor bietet eine äußerst nützliche Rechtschreib- und Grammatikkorrektur für LibreOffice und bringt in der aktuellen Version 8 e...

Aktuelle Fragen

N24 Stick (Huawei E173) und Ubuntu 11.04
Patrick Obenauer, 11.02.2012 11:54, 1 Antworten
Hallo zusammen! Ich benutze einen alten Laptop, der mit Ubuntu 11.04 flott und problemlos läuft....
Wie kann man beim Einsatz von Compiz die Fenster-Dekoration einstellen?
GoaSkin , 10.02.2012 20:12, 0 Antworten
Hallo, ich nutze Linux Mint mit dem Gnome-Derivat Mate. Da die Distribution Compiz nicht autom...
rndc reload zone - failed bad zone
Ludwig jun. B., 06.02.2012 16:08, 2 Antworten
Schönen guten Tag, ich habe folgendes Problem. Immer wenn ich folgendes Kommando ausführen bek...
Skype für 64-Bit-Prozessor u. Suse 12.1
Klaus Sigerist, 05.02.2012 11:39, 3 Antworten
Hallo Gemeinde! Ich bin nur ein einfacher Nutzer und habe Probleme mit der Installation von Skyp...
8! Anfängerfrage :) Wie finde ich in Ubuntu die Datenträger (Bild, Text)
samuel leusam, 04.02.2012 15:53, 2 Antworten
Ich habe neu Ubuntu. Wenn ich die SD Karte im Laptop einstecke, erkennt er sie und gibt ihr den N...