Mit Skript eine neue Internet-IP-Adresse einer Fritz.Box anfordern

Im Webinterface meiner Fritz.Box habe ich keinen Button gefunden um einen Reconnect durchzuführen. Kurz recherchiert und eine elegante Lösung per Skript gefunden. Voraussetzung ist, dass uPnP aktiviert ist. Wie das geht ist z.B: hier beschrieben.

Skript erstellen

Also habe ich mir ein kleines Skript gebastelt, was die Aufgabe für mich übernimmt:

#!/bin/bash

### macht einen Reconnect für eine neue IP bei einer Fritz.Box!

IP_BEFORE=`curl -s checkip.dyndns.org | sed -e 's/[^:]*: //' -e 's/<.*$//'`
echo "IP vorher: $IP_BEFORE"

echo "Fuehre Reconnect durch"
curl -s "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 '




' >/dev/null 2>&1

IP_AFTER=`curl -s checkip.dyndns.org | sed -e 's/[^:]*: //' -e 's/<.*$//'`
echo "IP nachher: $IP_AFTER"

In meinem Home-Bin angelegt, ausführbar (chmod +x) gemacht und schon kann ich über den Befehl fritz.reconnect.sh mir eine neue IP-Adresse besorgen. Zur Überprüfung habe ich noch einen whatismyip-curl-Befehl rein gebastelt.

Fritz.Box Reconnect-Skript testen:

Die Ausgabe sieht wie folgt aus:

user@pc / $ fritz.reconnect.sh 
IP vorher: 87.12.69.47
Fuehre Reconnect durch
IP nachher: 217.88.165.88