27.9ADSL-Interna
Bei einem ADSL-Zugang gibt es zwei prinzipielle Varianten, wie Ihr Rechner mit dem Internet verbunden wird: Heute sind zum Glück ADSL-Router üblich; in der Vergangenheit mussten Sie sich hingegen oft mit der Konfiguration eines ADSL-Modems plagen.
-
ADSL-Router: Ein ADSL-Router verbindet die Funktionen eines ADSL-Modems mit denen eines Routers bzw. Gateways. An den Router können Sie über Netzwerkkabel oder via WLAN mehrere Computer anschließen. Die Computer beziehen alle Konfigurationsdaten via DHCP vom ADSL-Router, sodass keine Client-Konfiguration erforderlich ist.
-
ADSL-Modem: Bei einem ADSL-Modem handelt es sich genau genommen um ein ADSL-Network-Termination-Gerät, kurz ANT. An ein ADSL-Modem kann nur ein Rechner angeschlossen werden. Die Kommunikation zwischen Ihrem Computer und dem Modem erfolgt über ein Ethernet- oder USB-Kabel.
Je nach Modem und Provider kommen die Protokolle PPPoE, PPPoA oder PPTP zum Einsatz. Die vielen Varianten können die Konfiguration schwierig machen. Mit etwas Glück gelingt die Konfiguration mit dem NetworkManager oder mit distributionsspezifischen Werkzeugen, also mit pppoeconfig bei Debian und SUSE, mit system-config-network bei Fedora und Red Hat oder mit YaST bei SUSE. Sollte das nicht der Fall sein, finden Sie auf den folgenden Seiten eine Anleitung zur manuellen Konfiguration.
Manuelle ADSL-Modem-Konfiguration für PPPoE
Die Verbindung zwischen dem ADSL-Modem und Ihrem Computer erfolgt über ein Ethernet-Kabel. Dabei wird allerdings nicht wie sonst üblich das Protokoll TCP/IP verwendet. Daher werden weder die IP-Adresse noch die Netzmaske der Netzwerkschnittstelle berücksichtigt. Eine Konfiguration ist daher nicht erforderlich. Insbesondere darf die Netzwerkschnittstelle nicht als Gateway konfiguriert werden!
PPPoE wird unter Linux von einem Kernelmodul verarbeitet. Damit pppd die Netzwerkschnittstelle für PPPoE nutzen kann, setzen Sie das pppd-Plugin rp-pppoe.so ein. Diese Datei wird bei den meisten gängigen Linux-Distributionen zusammen mit pppd installiert.
Zur pppd-Konfiguration benötigen Sie eine Konfigurationsdatei in /etc/ppp/peers/. Die folgenden Zeilen setzen voraus, dass /etc/options leer ist. Das Passwort zur name-Einstellung muss sich in chap- oder pap-secrets befinden.
Durch persist wird die Verbindung nach einem Abbruch automatisch wiederhergestellt. holdoff stellt die Wartezeit zwischen einem Verbindungsabbruch und dem Neustart ein. maxfail gibt an, nach wie vielen erfolglosen Verbindungsversuchen pppd aufgibt.
Die ipparam-Option ist notwendig, damit die automatische DNS-Konfiguration bei Red Hat bzw. Fedora funktioniert. Dort ist zusätzlich die folgende Datei erforderlich:
pppd bemerkt unter Umständen nicht selbstständig, wenn bei Ihrem Internet-Provider Probleme auftreten und dieser nicht mehr reagiert. Die folgenden Erweiterungen in der Konfigurationsdatei bewirken, dass pppd alle 60 Sekunden eine Aufforderung an den Provider sendet, sich zu melden. Wenn zweimal hintereinander keine Antwort kommt, beendet pppd die Verbindung. Falls die Konfigurationsdatei persist enthält, wird anschließend die Verbindung sofort wieder neu aufgebaut, in der Hoffnung, dass es dann wieder funktioniert.
Im Internet werden Daten nicht Byte für Byte, sondern in Paketen übertragen. Die Ethernet-Defaultgröße für solche Pakete beträgt 1500 Byte. Falls sich auf dem Weg zwischen zwei Internetpartnern Hard- oder Software befindet, für die die Datenpakete zu groß sind, werden sie automatisch in kleinere Pakete zerlegt und später wieder zusammengesetzt. Das ist allerdings nicht besonders effizient, weswegen manche Betriebssysteme (unter ihnen Linux) versuchen, die maximale Paketgröße durch das Versenden spezieller ICMP-Pakete herauszufinden. Diese Pakete werden allerdings von manchen Firewalls verschluckt, weswegen die Feststellung der richtigen Paketgröße versagt und mit etwas Pech die Datenübertragung ganz scheitert.
Dieses Problem tritt normalerweise nicht auf, weil der kleinste gemeinsame Nenner, nämlich eine Paketgröße von 1500 Byte, selten überschritten wird. Genau das passiert aber bei PPPoE-Verbindungen, weil ein paar der 1500 Byte für zusätzliche Protokollinformationen verloren gehen. Deswegen müssen MTU (Maximum Transmit Unit) und MRU (Maximum Receive Unit) auf 1492 reduziert werden.
Leider gelten die MTU- und MRU-Optionen für pppd nur für den lokalen Rechner. Wenn dieser Rechner gleichzeitig ein Internet-Gateway für andere Rechner ist (siehe das folgende Kapitel), dann müsste auch auf jedem Client-Rechner die MTU-Einstellung verändert werden.
Um den dadurch verursachten Konfigurationsaufwand zu vermeiden, gibt es eine bessere Lösung, das sogenannte MSS-Clamping. Dabei wird am Gateway die MSS-Option von TCP-Datenpaketen an den lokalen MTU-Wert angepasst. (MSS steht für Maximum Segment Size. Um wirklich zu verstehen, was hier vor sich geht, müssen Sie TCP-Experte sein.)
Um das MSS-Clamping kümmert sich das iptables-System des Kernels, wenn Sie die folgende Paketfilterregel aktivieren. Dabei ersetzen Sie enp4s0 durch die Schnittstelle, an die Ihr ADSL-Modem angeschlossen ist:
Üblicherweise wird dieses Kommando Teil des Firewall-Scripts des Gateway-Rechners sein. Sie können die Regel aber auch in das oben beschriebene Init-Script einbauen. Allerdings müssen Sie dann sicherstellen, dass die Regel bei einem mehrfachen Start des ADSL-Systems nur einmal ausgeführt wird.