Internetverbindungsprobleme - IPv6 MTU DNS: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
(Netzwerk)
(alles)
Zeile 3: Zeile 3:
 
Zunächst einmal muss geklärt werden:
 
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 ?
+
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):
 
Es gibt drei Standardursachen für dieses Problem (nicht notwendigerweise in dieser Reihenfolge):
  
1. TCP/IP v6 (abschalten)<br />
+
# TCP/IP v6 (abschalten)
2. bei DSL ist die MTU zu groß<br />
+
# bei DSL ist die MTU zu groß
3. Probleme mit dem DNS<br />
+
# 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.
+
Ihr solltet keineswegs einfach mal alles so abändern wie hier beschrieben. Es geht hier darum, einen Fehler einzukreisen und zu umgehen. Ein 'korrekt' arbeitendes System wird hierdurch nicht schneller.
  
 
Der Reihe nach:
 
Der Reihe nach:
Zeile 19: Zeile 19:
  
  
TCP/IP verwendet vier Bytes zur Adressierung von Rechnern. Durch das rasante Anwachsen des Internets besteht das Problem dass so langsam die Adressen ausgehen.
+
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.
+
Deswegen hat man einen Nachfolger definiert, der 16 statt 4 Bytes für die Adressierung verwendet.
  
 
Details: http://de.wikipedia.org/wiki/Ipv6
 
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-Referenzmodell|TCP/IP]] zu benutzen. Da ipv6 momentan im Internet noch nicht benutzt wird kann man es auf dem Client abschalten.
+
Wenn ipv6 aktiviert ist, passiert es, dass Linux zuerst versucht, ipv6 und dann das 'gute alte' ipv4 (([[TCP/IP-Referenzmodell|TCP/IP]])) zu benutzen. Da ipv6 momentan im Internet noch nicht flächendeckend benutzt wird, kann man es auf dem Client abschalten.
  
Wie man ipv6 abschaltet steht in diesem Artikel der SuSE Supportdatenbank:
+
Wie man ipv6 abschaltet, steht in diesem Artikel der SuSE Supportdatenbank:
  
 
http://portal.suse.com/sdb/de/2003/10/90_mozilla_ipv6.html
 
http://portal.suse.com/sdb/de/2003/10/90_mozilla_ipv6.html
Zeile 36: Zeile 36:
 
Sobald sie irgendetwas in die Mozilla URL-Leiste eingeben friert Mozilla ein.
 
Sobald sie irgendetwas in die Mozilla URL-Leiste eingeben friert Mozilla ein.
  
Ursache
+
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.
+
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
+
Lösung:
  
 
Sie können, wenn Sie ihn nicht benötigen, den IPv6 Support komplett abschalten.
 
Sie können, wenn Sie ihn nicht benötigen, den IPv6 Support komplett abschalten.
Zeile 101: Zeile 101:
  
  
MTU und DNS sind Hauptverdächtige wenn sich bestimmte Webseiten nicht aufrufen lassen.
+
MTU und DNS sind Hauptverdächtige wenn sich bestimmte Webseiten nicht aufrufen lassen. Allerdings sind hier die Seitenbetreiber schuld[http://www.phildev.net/mss/].
  
 
MTU = Maximum Transfer Unit
 
MTU = Maximum Transfer Unit
Zeile 109: Zeile 109:
 
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.
 
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.
+
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.
 
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.
Zeile 119: Zeile 119:
 
yast2- Netzwerkgeraete - Netzwerkkarte - ändern - Karte auswählen - Erweitert - Besondere Einstellungen - MTU
 
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.
+
Man kann aber auch (als root) die zugehörige Konfigurationsdatei in <code>/etc/sysconfig/network</code> selbst bearbeiten.
  
Unter SuSE 9.0 heißen die:
+
Unter SuSE 9.0 heißen diese <code>/etc/sysconfig/network/ifcfg-ethX</code>, wobei <code>ethX</code> hier als Platzhalter für <code>eth0</code>, <code>eth1</code> und so weiter steht.
  
/etc/sysconfig/network/ifcfg-ethx
+
Unter SuSE 9.1 heißen die Dateien etwas anders, <code>/etc/sysconfig/network/ifcfg-eth-id-00:00:39:c8:91:88</code> oder ähnlich. Hier wird die MAC-Adresse der Netzwerkkarte zur Identifikation verwendet.
 
 
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='.
 
Da drin gibt es eine Zeile 'MTU='.
Zeile 159: Zeile 151:
  
  
=== Weitere Infos zum Thema 'MTU' gibts hier ===
+
=== Weitere Infos zum Thema 'MTU' gibt es hier ===
  
  
Zeile 180: Zeile 172:
  
  
Es hat sich gezeigt dass manche [[DSL]]-[[Router]] Probleme mit der DNS-Weiterleitung haben.Der DSL-Router bekommt in der Regel bei der Einwahl über 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 Gründen 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 können. 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 ausfällt. Da viele T-DSL über T-Online verwenden hier ein Link mit Adressen mehrerer DNS-Server von T-Online:
+
Es hat sich gezeigt dass manche [[DSL]]-[[Router]] Probleme mit der DNS-Weiterleitung haben. Der DSL-Router bekommt in der Regel bei der Einwahl über PPP die Adresse eines DNS-Servers des Providers mitgeteilt. 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 Gründen 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, dass es unter Windows funktioniert, unter Linux aber nicht. Ich habe schon mal mit einem Firmwareupdate des DSL-Routers Besserung erzielen können. 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 ausfällt. Da viele T-DSL über T-Online verwenden hier ein Link mit Adressen mehrerer DNS-Server von T-Online:
 
* http://atelier89.de/users/dirk/t-o/010.html
 
* 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 lässt sich auch so einstellen:
+
Bei meinem DSL-Router kann man im Webinterface nachsehen, welche DNS-Server er momentan benutzt. Der DNS-Server lässt sich auch so einstellen:
 
  yast2 - Netzwerkdienste - DNS- und Hostname
 
  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  
+
'''Nachtrag:''' Ein Fehler in der Datei <code>/etc/nsswitch.conf</code> kann dazu führen, dass DNS zur Namensauflösung gar nicht verwendet wird. Deshalb sicherheitshalber die Zeile 'hosts:' überprüfen. Eine i.A. funktionierende Variante ist:
  
 
  hosts: files dns
 
  hosts: files dns

Version vom 3. Juni 2007, 15:31 Uhr

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 zu umgehen. Ein 'korrekt' arbeitendes System wird hierdurch nicht schneller.

Der Reihe nach:


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' ipv4 ((TCP/IP)) zu benutzen. Da ipv6 momentan im Internet noch nicht flächendeckend 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. Allerdings sind hier die Seitenbetreiber schuld[1].

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 diese /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, /etc/sysconfig/network/ifcfg-eth-id-00:00:39:c8:91:88 oder ähnlich. Hier wird die MAC-Adresse der Netzwerkkarte zur Identifikation 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:


iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu



Weitere Infos zum Thema 'MTU' gibt es hier

Ermitteln des optimalen MTU Wertes:

Internetverbindung: Manche Webseiten lassen sich nicht aufrufen: http://portal.suse.de/sdb/de/2001/11/cg_internet.html

MTU optimieren:

MTU-Mini-FAQ (für xDSL-Zugänge über PPPoE)

Lexikonbeschreibung MTU

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 über PPP die Adresse eines DNS-Servers des Providers mitgeteilt. 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 Gründen 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, dass es unter Windows funktioniert, unter Linux aber nicht. Ich habe schon mal mit einem Firmwareupdate des DSL-Routers Besserung erzielen können. 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 ausfällt. Da viele T-DSL über T-Online verwenden hier ein Link mit Adressen mehrerer DNS-Server von T-Online:

Bei meinem DSL-Router kann man im Webinterface nachsehen, welche DNS-Server er momentan benutzt. Der DNS-Server lässt sich auch so einstellen:

yast2 - Netzwerkdienste - DNS- und Hostname

Nachtrag: Ein Fehler in der Datei /etc/nsswitch.conf kann dazu führen, dass 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

about:config

eingeben.

Folgenden Wert suchen:

network.dns.disableIPv6  Standard  boolean   false


Durch anklicken ändern in:

network.dns.disableIPv6  vom Ben..  boolean   true


Noch kurz Firefox neustarten!

Anmerkung

Höhe=24px
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


zurück zum Netzwerk