Timeouts in der NAT Tabelle

Mit dem hoch gesetztem Limit sollte man nun aber die Haltezeit der Verbindungen herabsetzen, somit wird ein Timeout schneller erreicht und die Tabelle wird nicht zu gemüllt. So kann man UDP und insbesondere DNS Anfragen getrost stark herab setzen da diese in der Regel sehr fix beantwortet werden und keine Empfangsprüfung durchführen. Bei TCP Paketen ist dies anders, hier sollte der Timeout nicht zu knapp bemessen werden da dies zu unerwünschtem Verhalten führen kann wenn bestehende Verbindungen getrennt werden.

Wie konfigurieren ?

Nun zur Praxis, es reicht ein beliebiger Telnet Client zur Konfiguration. Ich empfehle und verwende selbst das weit verbreitete PuTTY.

  1. Einfach eine Verbindung zum Router via Telnet aufbauen. z.B. telnet oder eben via Putty.
  2. Der Zyxel Router startet in einer Telnet Textoberfläche, noch nicht im CLI. Um von der Oberfläche ins CLI zu wechseln:
    24 (system maintenance)  –>    8  (command line interpreter)
  3. nun befindet man sich in einem CLI Prompt, hier können wir uns die aktuellen werte ansehen in dem wir eingeben:
    ip nat session
    Die Ausgabe müsste dann in etwa so aussehen:
    • gw> ip nat session
      NAT session number per host: 256
  4. Hier sieht man die Session Limitierung auf 256 zeitgleiche Sessions. Das gefällt nicht daher ändert man es mit:
    ip nat session 2000
  5. Das Problem ist das diese Einstellung nur temporär gültig ist, rebooted man den Router ist alles wieder beim alten.
    Dies kann man in der autoexec.net ändern. Die aktuelle kann man sich mit dem Befehl:
    sys view autoexec.net
    anzeigen lassen.
  6. Hier tragen wir nun unsere Befehle direkt ein:
    sys edit autoexec.net
    Der “Editor“ ist etwas gewöhnungsbedürftig da er nur die grundlegenden Funktionen bietet. Wir drücken nun die Taste ‘n’ bis wir Zeilen sehen die mit tcp net beginnen. Hier drücken wir dann die Taste ‘i’ für “Insert” nun kann man direkt nach dem Druck auf die Taste ‘i’ anfangen mit der Befehlseingabe. In unserem Fall erst mal:
    ip nat session 2000
    das wird dann mit Enter bestätigt. Nun mit ‘n’ in die nächste Zeile und wieder ‘i’ für Insert, diesmal jedoch den angepassten UDP Timeout:
    ip nat timeout udp 53 8
    dies setzt DNS Anfragen einen Timeout von 8 Sekunden, was für eine Namensauflösung eine Ewigkeit ist.
    Dies kann man natürlich auf für Verbindungen beliebiger Filesharing Clients machen.
  7. Nun muss die autoexec.net noch gespeichert werden. Dies erledigt die Taste ‘x’. Nun sollte man sich wieder im CLI befinden.
  8. Man sollte nun noch ein blick auf den MSS Wert werfen:
    ip tcp mss
    Ist dieser kleiner als 1000 sollte man diesen wie ab Schritt 5. beschrieben mittels ip tcp mss 1024 auf 1024 setzen.
  9. Zu guter letzt nimmt man sich noch den default TCP Session Timeout vor. Dieser ist Standardmäßig 9000 Sekunden (2.5h) was, in den meisten Nutzungsfällen, viel zu lang ist. Hier reichen 15 Minuten (900 sec) der Befehl lautet hier:
    ip nat timeout tcp zum betrachten, bzw. ip nat timeout tcp 900 zum setzen. Auch dies muss, damit es den Reboot übersteht in die autoexec.net
  10. Wenn man alle Änderungen vorgenommen hat kann man den Router vom CLI durch die Eingabe von sys r neu starten. Nach dem Reboot sollte man überprüfen ob die Werte übernommen wurden.

Viel spaß beim Surfen.

✉ MG// CEST

Follow Icon
Don’t miss out and subscribe by email:
Don't worry! NO Spam and FREE; Receive a summarizing email for new posts, easy to unsubscribe at any time.
← Other Blog Posts