Internetverbindungsprobleme - IPv6 MTU DNS
Autor: Martin Breidenbach
Zunächst einmal muss geklärt werden:
ist die Datentransferrate niedrig (z.B. bei Downloads) oder dauert es ewig bis z.B. im Mozilla eine Seite aufgebaut wird ? Oder lassen sich bestimmte Seiten einfach nicht aufrufen ?
Es gibt drei Standardursachen für dieses Problem (nicht notwendigerweise in dieser Reihenfolge):
1. TCP/IP v6 (abschalten)
2. bei DSL ist die MTU zu groß
3. Probleme mit dem DNS
Ihr solltet keineswegs einfach mal alles so abändern wie hier beschrieben. Es geht hier darum einen Fehler einzukreisen und zum umgehen. Ein 'korrekt' arbeitendes System wird hierdurch nicht schneller.
Der Reihe nach:
Inhaltsverzeichnis
IPv6 abschalten
TCP/IP verwendet vier Bytes zur Adressierung von Rechnern. Durch das rasante Anwachsen des Internets besteht das Problem dass so langsam die Adressen ausgehen.
Deswegen hat man einen Nachfolger definiert der 16 statt 4 Bytes für die Adressierung verwendet.
Details: http://de.wikipedia.org/wiki/Ipv6
Wenn ipv6 aktiviert ist passiert es dass Linux zuerst versucht ipv6 und dann das 'gute alte' TCP/IP zu benutzen. Da ipv6 momentan im Internet noch nicht benutzt wird kann man es auf dem Client abschalten.
Wie man ipv6 abschaltet steht in diesem Artikel der SuSE Supportdatenbank:
http://portal.suse.com/sdb/de/2003/10/90_mozilla_ipv6.html
Zitat: Symptom
Sobald sie irgendetwas in die Mozilla URL-Leiste eingeben friert Mozilla ein.
Ursache
Mozilla versucht Namensauflösung zuerst über IPv6. Wenn Sie SuSEfirewall2 benutzen ist IPv6 allerdings komplett gesperrt. Deswegen läuft die Abfrage ins Leere und wartet auf einen Timeout von ca. 60 Sekunden.
Lösung
Sie können, wenn Sie ihn nicht benötigen, den IPv6 Support komplett abschalten.
Für SUSE Linux 9.0 können Sie dies tun Sie, indem Sie folgende Zeilen in der Datei /etc/modules.conf ändern.
alias net-pf-10 ipv6
- alias net-pf-10 off
nach
- alias net-pf-10 ipv6
alias net-pf-10 off
Alternativ steht über das Online Update mittlerweile eine modifizierte Version der SuSEfirewall2 zur Verfügung, die die nötigen Pakete auf dem lokalen Rechner nicht mehr blockiert.
Unter SUSE Linux 9.1 (genauer: mit Kernel 2.6.x) gibt es statt der Datei /etc/modules.conf jetzt die Datei /etc/modprobe.conf.
Wenn Sie unter SUSE Linux 9.1 IPv6 grundsätzlich deaktivieren möchten, müssen Sie in der Datei /etc/modprobe.conf die folgende Änderung vornehmen:
alias net-pf-10 ipv6
nach
alias net-pf-10 ipv6 install ipv6 /bin/true
Weiter unten gibt es noch Hinweise wie man IPv6 für Konqueror und Firefox abschalten kann.
Noch ein Artikel zu dem Thema:
http://support.novell.com/cgi-bin/search/searchtid.cgi?10098152.htm
Zitat: The following steps should be followed to disable IPV6 on SuSE Linux Enterprise Server 9:
1- Modify /etc/modprobe.conf.local by adding the following:
- please add local extensions to this file
install ipv6 /bin/true
2- reboot
- In some circumstances, it is also necessary to modify the /etc/modprobe.conf and change the following:
alias net-pf-10 ipv6
to
alias net-pf-10 off
Hinweis: Das hier für SLES9 beschriebene Verfahren funktioniert auch für SuSE Pro 10 (jedefalls bei mir).
MTU zu gross
MTU und DNS sind Hauptverdächtige wenn sich bestimmte Webseiten nicht aufrufen lassen.
MTU = Maximum Transfer Unit PPP = Point-to-Point Protocol PPPoE = PPP over Ethernet
DSL verwendet hierzulande in der Regel das PPPoE Protokoll. PPP ist ein Protokoll zur Einwahl in TCP/IP-Netze das z.B. bei der Einwahl über Analog-Modem oder ISDN verwendet wird. PPPoE verwendet das PPP-Protokoll, nur eben über Ethernet und nicht Telefonleitung.
Das Problem besteht nun darin dass Ethernet-Pakete eine maximale Paketgröße haben. Wenn man nun ein Ethernet-Paket in ein PPP-Paket verpackt und das wiederum in ein Ethernet-Paket steckt (so wie das bei PPPoE geschieht) dann wird der maximal nutzbare Teil des Paketes kleiner. Und dieser ist die MTU.
Eigentlich sollte das automatisch umgesetzt werden und ein zu großes Paket gesplittet werden. Da das nicht immer so funktioniert kann man das Problem umgehen indem man auf dem Client die MTU kleiner macht.
Ein guter Wert für T-DSL ist 1492 bytes.
Die Einstellung für die MTU befinden sich bei SuSE 9.1 tief versteckt im Yast2 in den Experteneinstellungen zur Netzwerkkarte:
yast2- Netzwerkgeraete - Netzwerkkarte - ändern - Karte auswählen - Erweitert - Besondere Einstellungen - MTU
Man kann aber auch (als root) die zugehörige Konfigurationsdatei in /etc/sysconfig/network selbst bearbeiten.
Unter SuSE 9.0 heißen die: Code:
/etc/sysconfig/network/ifcfg-ethx
wobei 'ethx' hier als Platzhalter für eth0, eth1 und so weiter steht.
Unter SuSE 9.1 heißen die Dateien etwas anders: Code:
/etc/sysconfig/network/ifcfg-eth-id-00:00:39:c8:91:88
oder so ähnlich. Hier wird die MAC-Adresse der Netzwerkkarte zum Identifizieren verwendet.
Da drin gibt es eine Zeile 'MTU='.
Hier ein Beispiel:
BOOTPROTO='static' BROADCAST='192.168.1.255' IPADDR='192.168.1.70' MTU='1492' NETMASK='255.255.255.0' NETWORK='192.168.1.0' REMOTE_IPADDR= STARTMODE='onboot' UNIQUE='7EWs.weGuQ9ywYPF' _nm_name='bus-pci-0000:00:11.0'
Wenn man einen eigenen linuxbasierten DSL-Router hat dann besteht die Möglichkeit daß dieser via iptables die Datenpakete an die MTU anpaßt. Dazu muß das Firewallskript erweitert werden um folgende Zeile:
Code:
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Weitere Infos zum Thema 'MTU' gibts hier
Ermitteln des optimalen MTU Wertes: http://www.gschwarz.de/mtu-wert.htm
Internetverbindung: Manche Webseiten lassen sich nicht aufrufen: http://portal.suse.de/sdb/de/2001/11/cg_internet.html
MTU optimieren: http://gw.renner.bei.t-online.de/windowsxp/mtu.htm
MTU-Mini-FAQ (für xDSL-Zugänge über PPPoE) http://www.sauff.com/dsl-faq/mtu-mini-faq.html
Lexikonbeschreibung MTU http://de.wikipedia.org/wiki/Maximum_Transfer_Unit
DNS-Probleme
Es hat sich gezeigt dass manche DSL-Router Probleme mit der DNS-Weiterleitung haben.
Der DSL-Router bekommt in der Regel bei der Einwahl ueber PPPoE die Adresse eines DNS-Servers des Providers dynamisch zugewiesen.
Client-PCs wiederum verwenden dann als DNS-Server die IP-Adresse des DSL-Routers. Der DSL-Router soll DNS-Anfragen von Clients an den DNS-Server des Providers weiterleiten und ebenso die Antwort an den Client weiterreichen.
Aus irgendwelchen mir unbekannten Gruenden hakt es dabei immer wieder.
Die Symptome sind nicht eindeutig - mal gehts, mal nicht, mal gehen bestimmte Seiten aber andere nicht.
Es wurde auch schon mehrfach berichtet daß es unter Windows funktioniert, unter Linux aber nicht.
Ich habe schon mal mit einem Firmwareupdate des DSL-Routers Besserung erzielen koennen.
Eine Alternative ist es das Problem einfach zu umgehen und die Adresse eines DNS-Servers des Providers direkt beim Client einzutragen. Das stellt dann ein Problem dar wenn der Provider den DNS auf einen anderen Server umzieht oder bei mehreren DNS-Servern einer ausfaellt.
Da viele T-DSL ueber T-Online verwenden hier ein Link mit Adressen mehrerer DNS-Server von T-Online:
http://atelier89.de/users/dirk/t-o/010.html
Bei meinem DSL-Router kann man im Webinterface nachsehen welche DNS-Server er momentan benutzt.
Der DNS-Server laesst sich auch so einstellen: yast2 - Netzwerkdienste - DNS- und Hostname
Nachtrag: Ein Fehler in der Datei /etc/nsswitch.conf kann dazu führen daß DNS zur Namensauflösung gar nicht verwendet wird. Deshalb sicherheitshalber die Zeile 'hosts:' überprüfen. Eine i.A. funktionierende Variante ist
hosts: files dns
Nachtrag: IPv6 für Konqueror abschalten
wbast hat Folgendes geschrieben: Ich habe jetzt heraus gekriegt woran das lag.
Und zwar versuchte bei mir der Konqueror(und nur der) IPv6-Adressen aufzulösen.
Das habe ich im abgewöhnt mit einem
export KDE_NO_IPV6=1
in der ~/.bashrc
Nachtrag: IPv6 für Firefox abschalten
geko hat Folgendes geschrieben:
Firefox aufrufen und in Adresszeile
Code:
about:config
eingeben.
Folgenden Wert suchen: Code:
network.dns.disableIPv6 Standard boolean false
Durch anklicken ändern in:
Code:
network.dns.disableIPv6 vom Ben.. boolean true
Noch kurz Firefox neustarten!
Anmerkung
Dieses HOWTO zu Linux oder der Abschnitt davon braucht eine Überarbeitung. Weitere Informationen findest Du hier. Deine Hilfe ist gefragt, das HOWTO zu verbessern. Danach entsorge bitte diese Signierung. |
Dort gibt es noch eine weiterführende Diskussion, die habe ich nicht eingearbeitet: http://www.linux-club.de/ftopic16677.html eingefügt von --Yehudi 08:52, 12. Sep 2006 (CEST) TCP/IP-Netzwerke und Internetzugang