windows10gegner
Goto Top

Cisco IOS MTU per DHCP festlegen

Hallo,
ich habe nun den Übeltäter gefunden, der dafür sorgt, dass manche Seiten nicht aufrufbar sind, da laufen dann minutenlang TLS-Handshakes.
Da ich einen SIT-Tunnel für IPv6 nutze, muss laut Hurricane Electric die MTU am PC auf 1472 gesetzt werden (wie beim Tunnel auch).
Sobald ich das manuell mache funktioniert auch der Seitenaufruf.
Standard am PC ist 1500.

1. Die MUT gilt ja für alle Ethernet-Pakete, die da rausgehen.
Kommt es zu Problemen, wenn man global die MTU auf 1472 setzt?

2.
Ich würde das gerne per DHCP über den DHCP-Server des Cisco machen, da gibt es auch die Möglichkeit, die Option 26 (MTU) festzulegen.
Leider funktioniert das nicht, der Wireshark kennzeichnet das auch in rot.

Hexadezimal kann ich das dem Cisco auch nicht beibringen

LG Win10Gegner

Content-Key: 584531

Url: https://administrator.de/contentid/584531

Printed on: March 25, 2023 at 18:03 o'clock

Mitglied: 144705
144705 Jul 03, 2020 updated at 14:09:38 (UTC)
Goto Top
Auf dem Client musst du nicht von Hand an der MTU drehen, das ist Blödsinn. Auf dem Router sollte die MTU aber passend für den Tunnel gesetzt sein. Durch "Path MTU Discovery" wird die maximale Größe der Pakete meist sowieso dem Client mitgeteilt.

Das ganze funktioniert dann ganz grob wie folgt: Dein Rechner versucht mittels seiner Standard MTU ein Packet zu senden. Der erste Router, welcher auf dem jeweiligen Interface eine andere MTU braucht, meldet per ICMP, dass der Rechner zu einer gewissen MTU runter regeln muss. Sobald dies erfolgt ist, wird für die jeweilige Verbindung nur noch die passende MTU verwendet.
https://www.cisco.com/c/en/us/support/docs/ip/generic-routing-encapsulat ...

Kommt es zu Problemen, wenn man global die MTU auf 1472 setzt?
Nein, aber kleinere Pakete == geringerer Durchsatz.
Member: Windows10Gegner
Windows10Gegner Jul 03, 2020 at 14:09:23 (UTC)
Goto Top
Der Tunnel hat eine MTU von 1472 am Cisco.
Das hat auch der HE-Support gefragt.

Soll ich mal die problematische Seite aufrufen und das im Wireshark mitsniffen und das hier hochladen?
Ich stelle dann die MTU am PC wieder auf 1500, dann sollten ja die ICMP-Pakete geschickt werden.
Mitglied: 144705
144705 Jul 03, 2020 updated at 14:10:35 (UTC)
Goto Top
Member: aqui
aqui Jul 03, 2020 updated at 16:52:16 (UTC)
Goto Top
muss laut Hurricane Electric die MTU am PC auf 1472 gesetzt werden
Allseits bekanntes Problem ! Guckst du hier:
https://www.cisco.com/c/en/us/support/docs/long-reach-ethernet-lre-digit ...
Die Paket Overheads und die daraus resultierende MTU kannst du dir auch ganz einfach selber zusammenrechnen. Guckst du hier:
https://baturin.org/tools/encapcalc/

Was vermutlich falsch ist, ist die Tatsache das du der Option 26 einen ascii Wert zugewiesen hast. Das ist es aber nicht sondern ein Binärwert (2 Bytes) !
http://www.networksorcery.com/enp/protocol/bootp/option026.htm
Deshalb zeigt der Wireshark als Option Content auch so einen vollig wirren Wert von 31343732 an.
Der Kollege @latavia hat aber absolut Recht oben, denn das gibst du ja nie dem Endgerät mit oder solltest es wenigstens nicht. Die Endgeräte kaspern das immer mit der MTU Patch Discovery selber aus.
Der Router sollte nur immer die korrekten MTUs bzw. die MSS Werte gesetzt haben !
Laut deiner_Konfig hast du das ja auch richtig gemacht sollte diese noch stimmen ?!
Hier sind die Zusammenhänge recht gut dokumentiert:
https://networklessons.com/cisco/ccie-routing-switching/pppoe-mtu-troubl ...
Wenn du das anpasst sollte das fehlerlos klappen. Zusätzlich solltest du noch ip tcp path-mtu-discovery auf dem Router konfigurieren.
Auch direkt unter dem Tunnel Interface gibt es ein spezifisches Kommando zur automatischen Patch Discovery bei Cisco.
https://www.cisco.com/c/en/us/support/docs/ip/generic-routing-encapsulat ...
Member: Windows10Gegner
Windows10Gegner Jul 03, 2020 at 16:56:53 (UTC)
Goto Top
Obwohl also die Syntax mit ascii vorschlägt, soll ich einen Binärwert eingeben. Interessant. face-smile

Wie muss dieser denn dann eingegeben werden?
1472 zu bin wäre dann 0b10111000000
Ist das dann so einzugeben oder ohne das 0b am Anfang?

Welche Option soll ich davon nehmen?
Member: aqui
aqui Jul 03, 2020 updated at 17:07:04 (UTC)
Goto Top
soll ich einen Binärwert eingeben. Interessant.
Du siehst ja im Wireshark Trace das der "ascii" Wert 1472 im Paket in einem irrealen Wert von 31343732 endet. Folglich kann ja dann das Format nicht stimmen.
Gib mal spaßeshalber einen Wert von ascii 10 ein und check mal den Wireshark was daraus wird.
Kannst du dir vermutlich sparen und gleich option 26 ascii "1472" eingeben.
Das sollte dann eigentlich den richtigen Wert auch im Wireshark erbringen.
Member: Windows10Gegner
Windows10Gegner Jul 03, 2020 at 18:07:11 (UTC)
Goto Top
Das geht leider auch nicht.
Member: aqui
aqui Jul 03, 2020 updated at 18:16:08 (UTC)
Goto Top
Dann stimmt das ascii Format wie befürchtet nicht. Laut Defintion ist das ein 2 Byte Werte also numerisch oder binär. Das Format doer der Wer tist falsch.
Aber wie gesagt, versteif dich nicht so dehr drauf. Normal kaspern entgeräte das immer über die Path MTU Discovery automatisch aus. Bei IPv6 ist das zudem absolute Pflicht und fest im Protokoll implementiert:
Siehe hier:
https://danrl.com/projects/ipv6-workshop/
Seite 68 und Kapitel 5
Member: Windows10Gegner
Windows10Gegner Jul 03, 2020 at 18:21:30 (UTC)
Goto Top
Sobald die MTU 1500 ist (Standard), sind bestimmte Seiten nicht mehr nutzbar, ein Beispiel wäre rt.com
Der TLS-Handshake dauert so 10 Minuten.
Setzt man die MTU auf 1472 geht alles normal.
Member: aqui
aqui Jul 03, 2020 at 18:31:08 (UTC)
Goto Top
Wo denn ?? Auf dem Endgerät ?
Wie gesagt wenn du am Cisco lokalen LAN die MSS auf 1452 setzt bist du immer im sicheren Bereich. das Endgerät sendet dann keine Frames größer 1452.
Die MTUs der Tunnel und PPPoE Interfaces (Dialer) sollten natürlich auch stimmen.
Wie gesagt, bei IPv6 ist die MTU Discovery fest ins Protokoll eingebaut. Dort kann es also niemals zu Mismatches kommen wenn die MTU Werte im Router bzw. dem gesamten Pfad stimmen.
Im Buch ist ein SiXX Tunnel Beispiel beschrieben bei dem die MTU erheblich geringer ist. 1270.
Bist du dir also sicher das deine stimmt ?!
Member: Windows10Gegner
Windows10Gegner Jul 03, 2020 at 18:37:21 (UTC)
Goto Top
Sollte passen, aber der PC (Ubuntu) hat immer eine von 1500, es sei denn ich lege die manuell fest (in meinem Fall auf 1472).
Sobald ich die am PC von 1500 auf 1472 setze, ist alles ok. Sonst eben nicht.
Member: aqui
aqui Jul 03, 2020 at 18:42:13 (UTC)
Goto Top
Siehe hier:
https://www.cellstream.com/reference-reading/tipsandtricks/407-ipv6-path ...
Zitat: //
"My understanding from reading the Ubuntu docs on this is that whatever you have set for the IPv4 probing, the IPv6 stack mimicks the setting."//
Also sysctl net.ipv4.tcp_mtu_probing im /etc/sysctl aktivieren was die MTU Discovery aktiviert.
Hast du das gemacht in deinem Ubuntu ?
Member: Windows10Gegner
Windows10Gegner Jul 03, 2020 at 18:49:05 (UTC)
Goto Top
Jetzt ja, ändert aber nichts an der Sache, ich habe die MTU vorher wieder auf 1500 gesetzt.
Ich habe da aber vorher nie irgendwas eingestellt.
Setze ich sie wieder manuell auf 1472 geht wieder alles.
Member: aqui
aqui Jul 03, 2020 at 18:53:57 (UTC)
Goto Top
Krank...raff ich aber dann auch nicht warum. face-sad Sollte so eigentlich nicht sein.
Welche Seite macht diese Kinken ? Ich teste das hier mit einem nativen IPv6 Anschluss auch mal aus.
Member: Windows10Gegner
Windows10Gegner Jul 03, 2020 at 19:02:59 (UTC)
Goto Top
Aufgefallen ist es mir bei rt.com und deutsch.com, bei anderen Seiten bisher nicht.
Member: Windows10Gegner
Windows10Gegner Jul 04, 2020 at 16:10:06 (UTC)
Goto Top
Wie verlief denn der Test?

An einem zweiten Standort mit FB7490 und HE-Tunnel geht alles problemlos, das ist auch ein Ubuntu 20.04, die MTU ist beim Adapter auch 1500, da habe ich nichts manuell eingestellt.
Die Seiten sind da problemlos aufrufbar.
Member: aqui
aqui Jul 05, 2020 at 14:41:17 (UTC)
Goto Top
Hier bei nativem v6 (Telekom) und Cisco Router (15.7er latest IOS) komplett problemlos und keine Fehler. Es sind die gleichen MTU/MSS Settings wie hier im Cisco_Tutorial beschrieben.
Keine Ahnung was sich da verschluckt hat...???
Die v6 ICMP Typen hast du alle in der CBAC ACL Liste freigegeben ?
Member: Windows10Gegner
Windows10Gegner Jul 05, 2020 at 15:03:42 (UTC)
Goto Top
access-list 111 permit icmp any any
sollte alles was mit ICMP zu tun hat durchlassen. Betrifft das auch ICMPv6?
Ich habe im Tunnel keine Firewall aktiviert (kein ip inspect myfw out).
Member: aqui
aqui Jul 05, 2020 at 15:35:44 (UTC)
Goto Top
Vorsicht, das oben sind IPv4 ACLs aber keine v6 ACLs ! Die sind separat !!
ipv6 access-list access-list-name
Member: Windows10Gegner
Windows10Gegner Jul 05, 2020 at 16:27:08 (UTC)
Goto Top
Da habe ich keine angelegt.
Soll ich eine anlegen?
Müsste dann nicht auch auf dem Tunnel-Interface was konfiguriert werden?
Member: aqui
aqui Jul 05, 2020 updated at 20:35:55 (UTC)
Goto Top
Ähhh...ja ! So wirken die ACL ja nicht die die v6 ICMPs passieren lassen müssen !!
https://www.net.in.tum.de/fileadmin/TUM/NET/NET-2016-09-1/NET-2016-09-1_ ...
Kapitel: 3.2, Seite 5
Und auch hier:
https://tools.ietf.org/html/rfc4890

Du hast wieder mal deine eigenen Threads nicht richtig gelesen !!!
DHCPv6 mit DNS unter Cisco IOS einrichten
Member: Windows10Gegner
Windows10Gegner Jul 05, 2020 at 20:47:22 (UTC)
Goto Top
Ich nutze nicht die Zonen-FW, sondern die CBAC-FW.
Daher frage ich, wie das dann umgesetzt werden muss.
Ich möchte gerne da nichts blockieren.
Member: aqui
aqui Jul 05, 2020 updated at 20:50:59 (UTC)
Goto Top
Das ist egal. Der Cisco unterscheidet strikt zwischen v6 und v4 ACLs ! Die werden immer mit ipv6 access-list... konfiguriert. Dort gibt es auch ganz andere ICMP Typen, da v6 erheblich mehr ICMP nutzt als v4. Siehe Workshop Buch oden ! face-wink
Member: Windows10Gegner
Windows10Gegner Jul 06, 2020 at 06:17:23 (UTC)
Goto Top
Ich habe nun eine angelegt.

Im Tunnel0


Leider führt auch das nicht zum Ziel.
Wenn ich es richtig verstanden habe wäre diese ACL redundant, da permit icmp any any die letzten 3 Zeilen auch abdeckt.
Member: aqui
aqui Jul 06, 2020 updated at 12:32:48 (UTC)
Goto Top
Deinen ACL ist nicht nur falsch sondern auch noch gefährlich, denn damit lässt du jeglichen v6 Traffic von außen zu !!! (permit ipv6 any any)
Ein abolutes NoGo, denn das hebelt die CBAC Firewall aus !

Die Liste lautet: //
ipv6 access-list ICMPv6
permit icmp any any unreachable
permit icmp any any packet-too-big
permit icmp any any hop-limit
permit icmp any any reassembly-timeout
permit icmp any any header
permit icmp any any next-header
permit icmp any any parameter-option
permit icmp any any echo-request
permit icmp any any echo-reply
permit icmp any any dhaad-request
permit icmp any any dhaad-reply
permit icmp any any mpd-solicitation
permit icmp any any mpd-advertisement
! //
Die v4 ACL entsprechend: //
access-list 111 permit icmp any any administratively-prohibited
access-list 111 permit icmp any any echo-reply
access-list 111 permit icmp any any packet-too-big
access-list 111 permit icmp any any time-exceeded
access-list 111 permit icmp any any unreachable
//
Auf dem Dialer Interface kommt dann einzig nur die v4 Liste zum Einsatz ! Logisch, denn dein v6 ist ja da noch getunnelt in v4 und unsichtbar für das Dialer Interface ! //
interface Dialer0
description xDSL Einwahl Interface Internet
ip address negotiated
ip access-group 111 in
//
Auf dem Tunnel Interface aber was ja dein natives v6 Interface ist: //
interface Tunnel0
description Hurricane Electric IPv6 Tunnel Broker
no ip address
ip inspect myfw out
ipv6 address 2001:470:xxx:xxx::2/64
ipv6 enable
ipv6 mtu 1472
ipv6 accress-group ICMPv6 in
tunnel source eigene IP
tunnel mode ipv6ip
tunnel destination 216.66.80.30
! //
Ohne eine ACL auf dem Tunnel Interface blockiert die CBAC Firewall doch sämtliche eingehenden ICMPv6 Steuer Pakete.
Member: Windows10Gegner
Windows10Gegner Jul 06, 2020 updated at 12:50:53 (UTC)
Goto Top
Da IPv4 funktioniert ändere ich da nichts.

ipv6 access-group gibt es im Tunnel-Int nicht.
Es gibt ipv6 traffic-filter ipv6acl in, das wird auch auf ne Cisco-Seite genannt, das ist im Tunnel-Int eingetragen.


Sobald ich
entferne, kann man keine Internetseiten per IPv6 mehr aufrufen.


Wenn aber hier alles an ICMP durchgelassen wird, müsste es ja kein Problem geben, der TLS-Handshake läuft aber weiterhin.
Member: aqui
aqui Jul 06, 2020 at 12:56:50 (UTC)
Goto Top
entferne, kann man keine Internetseiten per IPv6 mehr aufrufen.
Kann eigentlichnicht sein ! Die CBAC Firewall lässt ja einzig nur das passieren was ein gesetzte ACK Bit hat bzw. was einen aktiven CBAC Eintrag hat.
Du hast vermutlich die CBAC Firewall gar nicht für IPv6 konfiguriert, oder ?
https://www.cisco.com/en/US/docs/ios-xml/ios/sec_data_cbac_fw/configurat ...
bzw.
https://www.cisco.com/en/US/docs/ios-xml/ios/sec_data_cbac_fw/configurat ...
Was umso fataler wäre...
Guckst du auch hier:
https://www.youtube.com/watch?v=bBSYag-DBPE
Member: Windows10Gegner
Windows10Gegner Jul 06, 2020 updated at 13:41:30 (UTC)
Goto Top
Ich habe das mit inspect jetzt eingerichtet, leider geht es noch immer nicht, es ist wohl noch was falsch.


Member: Windows10Gegner
Windows10Gegner Jul 06, 2020 at 19:54:36 (UTC)
Goto Top
Die neue FW verlangsamt leider das Surfen erheblich, ich habe die FW jetzt wieder aus dem Tunnel rausgenommen, ist jetzt wieder wesentlich schneller.
Gibt es denn eine Option, das mitzuloggen, was verworfen wird?
Ich habe ja keine ACL aktiv, daher wird das nicht wie beschrieben funktionieren mit der ACL und dahinter log.
Member: aqui
aqui Jul 07, 2020 at 08:50:20 (UTC)
Goto Top
Gibt es denn eine Option, das mitzuloggen, was verworfen wird?
Ja, wenn du das ACL Logging aktivierst was die Sache aber noch langsamer macht (Process Switching über die CPU)
Ich habe ja keine ACL aktiv,
Wieso ? Oben sind doch zumindestens 2 ACLs aktiv ? Die am Dialer und die am Tunnel ? Unverständlich ??!
CBAC Statistiken und Drops zeigen die die sh ip inspect Kommandos.
Member: Windows10Gegner
Windows10Gegner Jul 07, 2020 at 08:57:28 (UTC)
Goto Top
Ich habe aus Leistungsgründen die ACL am Tunnel wieder deaktiviert, genauso wie inspect.
Am Dialer ist alles wie gehabt, weiterhin aktiv.

Da du sagst, dass ohne ACL ICMPv6 im Tunnel blockiert wird, würde ich das gerne sehen.
Wenn ich jetzt die ACL wieder eintrage habe ich ja nicht den Zustand ohne ACL, den ich gerne prüfen würde.
Member: Windows10Gegner
Windows10Gegner Aug 16, 2020 at 20:06:16 (UTC)
Goto Top
Lösung für das eigentliche Problem siehe hier: Cisco IOS IPv6 Tunnel MTU Problem dauerhafte TLS-Handshakes