Fritz!Box Schneller Reconnect unter Linux

Es gibt einige Gründe warum man gerne zu einem bestimmten Zeitpunkt seine IP Adresse wechseln möchte z.B. um IP Sperren zu umgehen um z.B. eine grade programmierte IP Sperre zu testen oder ähnliches. Erfreulicher Weise bieten die Meisten Router dafür eine interne Möglichkeit an, welche zu einer schnellen Trennung und einem schnellen Wiederaufbau der Internetverbindung führt. Dies geschieht meist über eine so genannte UPNP Statusinformationen. Eine solche Neuverbindung dauert meist nur um die 2 Sekunden wohingegen ein Neustart einer Fritz!Box meist länger als 30 Sekunden dauert.

Um diesen Effekt unter Windows hervorzurufen gibt es viele Programme welche sich beispielsweise in den Systemtray legen und per Klick eine Neuverbindung aufrufen. Nach einigem Recherchieren habe ich auch eine Möglichkeit gefunden, einen solchen Reconnect auch unter Linux auszuführen. Dabei beziehe ich mich auf eine Fritz!Box, da ich selber eine solche besitze (7170 FON WLAN).

Um den Reconnect hervorzurufen werden zwei Dateien benötigt. Einmal eine Datei, welche die UPNP-Informationen enthält die an den Router gesendet werden sollen und dann eine Datei, welche die Informationen an den Router sendet. Dies ist in dem Beispiel ein einfaches Bash-Skript.

Die Datei mit den Daten (data.txt):

<?xml version="1.0" encoding="utf-8"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<u:ForceTermination xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1" />
</s:Body>
</s:Envelope>

Die Datei zum übertragen der Daten (reconnect.sh):

#!/bin/bash
curl "http://fritz.box:49000/upnp/control/WANIPConn1" -H "Content-Type: text/xml; charset="utf-8"" -H "SoapAction: urn:schemas-upnp-org:service:WANIPConnection:1#ForceTermination" -d "@data.txt"

Die Datei reconnect.sh muss noch ausführbar gemacht werden. Dies geschieht entweder in einer Konsole mit dem Befehl „chmod +x reconnect.sh“ oder in einem Dateimanager wie Nautilus (Gnome) durch einen Haken bei „Rechtsklick/Eigenschaften/Berechtigung/Ausführbar“. Die fett markierten Stellen müssen gegebenenfalls noch angepasst werden. Wenn die Fritz!Box nicht über „fritz.box“ erreichbar ist muss an der Stelle die IP eingegeben werden (z.B: 192.168.178.1) und wenn die Datei reconnect.sh von einem anderen Verzeichnis aus ausgeführt wird muss „data.txt“ durch „/pfad/zur/datei/data.txt“ ersetzt werden.

Um nun einen neue IP zu bekommen reicht es einen Doppelklick auf „reconnect.sh“ zu machen.