View previous topic :: View next topic |
Author |
Message |
glasfaserauge n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 11 Sep 2005 Posts: 30
|
Posted: Tue Sep 20, 2005 12:48 pm Post subject: merkwürdiges Routing |
|
|
Hallo,
ich betreibe einen gentoo-PC als Router. An diesen ist ein WLAN-Router angeschlossen, der das Internet dann im Haus verteilt. Auf einem Laptop (meinem ) geht alles einwandfrei. Auf anderen aber funktionieren einige Seiten nicht, d.h. sie werde nicht geladen. Firewalls auf den Laptops sind aus. Es scheint also ob der gentoo-Router einfach nicht die angeforderten Seiten rüberschiebt, aber eben nur auf einigen Laptops. Wenn ich diese aber direkt an die Telefonleitung anschließe und über das interne Modem einwähle funtkioniert alles. Deswegen kam ich auf den Trichter, dass es der gentoo-Router sein muss. Auf den Laptpos ist Win XP SP2 installiert.
Bei gentoo handelt es sich um den 2.6er Kernel.
Wenn zur Lösung dieses Mysteriums noch irgendwelche Infos gebraucht werden rücke ich die selbstverständlich raus ![Very Happy :D](images/smiles/icon_biggrin.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
kopfsalat Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
Joined: 01 Dec 2003 Posts: 181 Location: Cologne, Germany
|
Posted: Tue Sep 20, 2005 1:57 pm Post subject: |
|
|
Da es ja auf einem Client einwandfrei funktioniert würde ich ja eher auf eine Fehlkonfiguration der XP-Kisten tippen
Wenn ein ping ins Internet mit IP Adresse funktioniert aber nicht mit hostnamen dann ist es höchstwahrscheinlich ein DNS Problem.
Ich nehme an die Clients beziehen ihre Konfiguration via DHCP vom WLAN router. Ich würde mal versuchen die IP-Adresse und insbesondere die Nameserver (die vom Provider) manuell einzutragen. Kann man wahrscheinlich auch in der Router-Konfiguration machen, so daß diese via DHCP weitergereicht werden. Der integrierte Nameserver im Router ist nicht selten mangelhaft - z.B. bei Auflösung von vhosts. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
glasfaserauge n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 11 Sep 2005 Posts: 30
|
Posted: Tue Sep 20, 2005 4:14 pm Post subject: |
|
|
Neue Erkenntisse:
Am DNS kanns nicht liegen, denn die IP-Adressen werden beim Pingversuch korrekt angezeigt. Ein Ping mit der entsprechenden IP bleibt genau wie das direkte Anpingen/Aufrufen der Seite unbeantwortet. Es sind seltsamerweise auf allen beiden Laptops, auf denen das Problem auftritt, die gleichen Seiten: Quelle, eBay, Otto.. mehr hab ich noch nicht gefunden
Wenn ich z.B. einen trace zu eBay machen lasse geht der fröhlich aus dem Netzwerk, zum Provider und über ein paar andere Server, bleibt dann aber stecken. Und es ist auch nicht zufällig so, dass die traces von allen Seiten an der gleichen Stelle stecken bleiben.
Ich bin verwirrt
Kann man sich von den iptables irgendwo eine logfile anschauen? |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
kopfsalat Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
Joined: 01 Dec 2003 Posts: 181 Location: Cologne, Germany
|
Posted: Tue Sep 20, 2005 4:41 pm Post subject: |
|
|
Ich weiss ja nicht so genau wie das bei Dir aussieht. Versuche mal auf der Linux-Kiste ein
Code: |
# /usr/sbin/iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
|
abzusetzen.
Sollte es dann wider erwarten immer noch nicht funktionieren, dann versuche unter der Annahme eth0 sei die Netzwerkkarte die am DSL-modem hängt ein
Code: |
# ifconfig eth0 mtu=1492
|
|
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
think4urs11 Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/8534934054bad29b51e5fa.jpg)
Joined: 25 Jun 2003 Posts: 6659 Location: above the cloud
|
Posted: Tue Sep 20, 2005 7:24 pm Post subject: |
|
|
glasfaserauge wrote: | Wenn ich z.B. einen trace zu eBay machen lasse geht der fröhlich aus dem Netzwerk, zum Provider und über ein paar andere Server, bleibt dann aber stecken. Und es ist auch nicht zufällig so, dass die traces von allen Seiten an der gleichen Stelle stecken bleiben. |
Na die Traces dürften schlicht an der Firewall vor diesen Websites hängen bleiben - du kannst ja mal ersatzweise ein tcptraceroute www.otto.de 80 machen; der sollte den entscheidenden Schritt weiter durchkommen.
Ansonsten würde ich mal die MTU-Size checken, sowohl auf einer Maschine die funktioniert und auf einer die nicht funktioniert, ich würde beinahe wetten die sind unterschiedlich. _________________ Nothing is secure / Security is always a trade-off with usability / Do not assume anything / Trust no-one, nothing / Paranoia is your friend / Think for yourself |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
glasfaserauge n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 11 Sep 2005 Posts: 30
|
Posted: Wed Sep 21, 2005 1:44 pm Post subject: |
|
|
@kopfsalat:
Wa genau soll denn das
Code: | # /usr/sbin/iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu |
bewirken?
@Think4UrS11:
Also die Tracegeschichte von mir, damit meinte ich, wenn man das von einem der Clients aus macht, bei denen z.B. www.otto.de nicht geht. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
kopfsalat Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
Joined: 01 Dec 2003 Posts: 181 Location: Cologne, Germany
|
Posted: Wed Sep 21, 2005 2:48 pm Post subject: |
|
|
Die mss ist ein Wert der IP-Paketen auf die Reise mitgegeben wird und bestimmt die maximale Datengröße mit der die Gegenstelle antwortet. Ist diese zu groß für die maximale Paketgröße (mtu) irgendwo auf dem Rückweg, müssten Pakete aufgeteilt werden, was die Knoten im Internet so nicht mitmachen.
Das IP-Protokoll sieht für diesen Fall vor das mittels entsprechender Mechanismen die maximale mtu auf dem Weg herausgefunden werden kann und daß das Paket mit entsprechender mtu neu versendet wird. Da aber viele Sites aus Paranoia die dafür notwendigen ICMP-Pakete mit ihrer Firewall blockieren, kriegen Sie davon nichts mit und denken alles wäre prima angekommen.
Die Symptome sind zumindest typisch für diesen Effekt.
Also muss gewährleistet sein daß
mss + Protokolloverhead <= kleinste mtu auf dem Weg zur Gegenstelle
gilt.
Durch obigen Befehl wird die mss gerouteter Pakete auf die mtu der Provider-Gegenstelle - dem Flaschenhals bei DSL-Verbindungen - "geclampt", so daß eine Paketfragmentierung von Antworten vermieten wird.
Eine Alternative zu obigen Befehl ist die Umstellung aller betroffenen Clients auf eine kleinere mtu - üblicherweise wird dann auch eine entsprechende mss verwendet. Keine Ahnung wie das bei XP geht. Das am Router zu lösen erscheint mir ohnehin eleganter.
Ich hoffe das erklärt es einigermaßen. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
glasfaserauge n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 11 Sep 2005 Posts: 30
|
Posted: Wed Sep 21, 2005 8:05 pm Post subject: |
|
|
Habs verstanden
Gilt das auch für Modemverbindungen? Also 56k? |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
kopfsalat Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
Joined: 01 Dec 2003 Posts: 181 Location: Cologne, Germany
|
Posted: Wed Sep 21, 2005 9:23 pm Post subject: |
|
|
Die mtu für Ethernet ist 1500, PPPoE hat einen Overhead von 8 Bytes. Effektiv hat eine DSL-Verbindung somit nur 1492 für ein Paket zur Verfügung. Die mss eines LAN Rechners wird allerdings üblicherweise von der Netzwerkkarte, dementsprechend Ethernet, ausgehend gesetzt auf 1500 - 40. 40 ist der Protokoll-Overhead durch IP- und TCP-Header.
Möglicherweise hattest Du auf dem funktionierenden Client mal DSL konfiguriert.
Prinzipiell gibt es auch bei analogen Verbindungen mtu und mss. Wenn ich mich recht entsinne musste man diese damals in grauer Vorzeit (Win 3.1 und Trumpet Winsock) korrekt einstellen: mss=mtu-40. Die Modemverbindung selbst hat demnach keinen Overhead.
Durch richtige Abstimmung der mtu konnte man höchstens ein wenig Leistung aus seinem Modem kitzeln. Die Technik ist mittlerweile ausgereift genug, daß man sich darum heutzutage nicht mehr kümmern muß
Aber viel wichtiger: Funktioniert denn nun alles? |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
glasfaserauge n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 11 Sep 2005 Posts: 30
|
Posted: Thu Sep 22, 2005 9:53 am Post subject: |
|
|
Heureka! Es geht! Danke kopfsalat!!!
Was es nicht alles gibt...
Seltsam ist jetzt nur: otto, eBay, quelle werde ordnungsgemäß aufgebaut, aber ich kann sie von keinem Rechner aus mehr anpingen... aber wer will das schon?
Also großes Danke!
edit: Und dass das auf meinem Laptop alles ging liegt wahrscheinlich wirklich daran, dass er mal für DSL konfiguriert gewesen sein muss. Zumindest stehen bei mir in der Registry Schlüssel für MTU-Werte was bei einem anderen Client nicht der Fall war.
nochmal edit: Wie ich gerade festgestellt habe, muss man diese Zeile jedes mal eingeben, wenn gentoo neustartet. Wie und wo sage ich gentoo, dass er das jedes mal beim starten ausführen soll? mit rc-update add iptables [...] default? |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
glasfaserauge n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 11 Sep 2005 Posts: 30
|
Posted: Fri Sep 23, 2005 4:40 pm Post subject: |
|
|
Hat jemand eine Idee, wie ich gentoo dazu überreden kann die magische Codezeile von kopfsalat bei jedem Start auszuführen?
Das Hinzufügen dieser Zeile in etc/conf.d/local.start hat nichts gebracht ![Sad :(](images/smiles/icon_sad.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
kopfsalat Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
Joined: 01 Dec 2003 Posts: 181 Location: Cologne, Germany
|
Posted: Fri Sep 23, 2005 7:42 pm Post subject: |
|
|
Am besten ans Ende eines vorhandenen iptable scripts - die meisten fangen nämlich mit dem Löschen aller Regeln an. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
glasfaserauge n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 11 Sep 2005 Posts: 30
|
Posted: Fri Sep 23, 2005 8:00 pm Post subject: |
|
|
Wäre rc-firewall-2.4 so ein Skript? |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
kopfsalat Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
Joined: 01 Dec 2003 Posts: 181 Location: Cologne, Germany
|
Posted: Fri Sep 23, 2005 9:37 pm Post subject: |
|
|
Ich habe unter Gentoo speziell noch nie einen Router betrieben, wo also die scripte für die Firewall abgelegt werden weiß ich nicht. Wenn viele iptables Aufrufe in dem Script sind, halte ich die Wahrscheinlichkeit für groß.
Einfach Zeile anfügen
und schauen ob es klappt. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
glasfaserauge n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 11 Sep 2005 Posts: 30
|
Posted: Sun Sep 25, 2005 9:09 am Post subject: |
|
|
Und diese zwei Befehle bewirken das gleich wie die "magische Codezeile"? |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
kopfsalat Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
Joined: 01 Dec 2003 Posts: 181 Location: Cologne, Germany
|
Posted: Sun Sep 25, 2005 11:11 am Post subject: |
|
|
Oh nein, war vielleicht etwas missverständlich. Ich meinte die Datei editieren und die iptables Zeile anfügen, >anschliessend< mit init 1 und init 5 das Netzwerk neu starten - geht schneller als ein reboot. init wechselt zwischen den Runleveln. Siehe
und /etc/inittab. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
glasfaserauge n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 11 Sep 2005 Posts: 30
|
Posted: Sun Sep 25, 2005 4:11 pm Post subject: |
|
|
Ah, Okay. Die Init-Befehle kannte ich nicht. So kann man das ja wirklich komfortabler testen
Ich werds ausprobieren. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
glasfaserauge n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 11 Sep 2005 Posts: 30
|
Posted: Tue Sep 27, 2005 11:43 am Post subject: |
|
|
Ich habe die magische Codezeile am Ende des Firewall-Skripts eingefügt und es geht jetzt alles wunderbar!
Danke ![Smile :)](images/smiles/icon_smile.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
|