Fritz!Box hinter Zeitschaltuhr klemmen? Besser nicht!
Das meint jedenfalls der AVM-Support.
Aber alles der Reihe nach:
Wie ich schon in einem früheren Blogpost dargestellt habe, kann ich meinen Anschluss bei Alice leider nicht im vollen Umfang mit meiner Fritz!Box nutzen. Bei Alice benötigt man zwingend ein IAD, das die DSL-Verbindung aufbaut. Aus diesem Grund konnte ich lediglich die Fritz!Box per LAN-Kabel an das IAD anschließen um die Internetverbindung über WLAN an meinen Rechner durchzureichen.
Da ich nun ein energiesparender Mensch bin, der sich zu den üblichen Nachtzeiten schlafen legt, schaltet der besagte Router von AVM nach einer festen Uhrzeit das WLAN ab. Die Fritz!Box an sich läuft aber weiter und benötigt dementsprechend 24/7 Strom.
Idee: Einfach eine Zeitschaltuhr davorstecken und mit dem Abschalten des WLANs der Kiste auch den Strom abdrehen. Jetzt hatte ich aber Bedenken, dass dieses tägliche „harte“ Ausschalten (da die Fritz!Box keinen regulären Ausschalter kennt) der Lebenszeit des Geräts nicht unbedingt zu Gute kommt.
Also schnell mal eine Supportanfrage an AVM zusammengetippt und auf die Antwort gewartet. Die kam bereits am nächsten Tag und bestätigte meine Erwartung: Lieber nicht. Jetzt hab ichs quasi offiziell, auch wenn das nie von AVM eigens getestet wurde, aber es gibt einige Erfahrungen, dass Probleme mit dem Gerät möglicherweise mit häufigen Ein- und Ausschalten zusammenhängen.
Damit wäre das auch geklärt, obwohl mir die Antwort nicht so gut gefällt. An dieser Stelle muss ich dann doch mal ein großes Lob an den Support von AVM raushauen, die Antwortmail kam ziemlich schnell und mir wurde sehr freundlich geantwortet. So wünscht man sich das!
Öffentliche IP-Adresse per Fritz!Box auslesen
Ich bin eben im ubuntuusers-Wiki auf seinen schönen Trick gestoßen um eine Verbindung nach „draußen“ zu vermeiden, wenn man die öffentliche IP-Adresse wissen möchte. Bisher hab ich das immer mit Hilfe einer Webseite wie z.B. wieistmeineip.de erreicht, auch um die IP dann per Conky auf meinem Desktop anzeigen zu lassen.
Das ging mithilfe eines Shell-Skriptes so:
#!/bin/bash
# eigene öffentliche ip anzeigen
wget http://checkip.dyndns.org/ -q -O - | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>'
und dann wurde das Skript noch durch Conky ausgeführt, in der .conkyrc stand also folgendes:
${execi 7200 ~/DATEINAME.sh}
Aber irgendwie ist es doch ein bisschen blöd für so etwas triviales extra eine Internetseite kontaktieren zu müssen. Zudem ist man davon abhängig, dass die Seite ständig online ist. Wenn man eine Fritz!Box als Router verwendet geht es wesentlich einfacher, durch das Abrufen der Einstellungsseite der Fritz!Box (im Browser erreichbar unter fritz.box) und dem Herausfiltern der IP-Adresse, die dort sowieso angezeigt wird:wget ''http://fritz.box/cgi-bin/webcm?getpage=../html/de/menus/menu2.html&var:lang=de&var:menu=home&var:pagename=home'' -q -O - | grep -Eo ''\\<[[:digit:]]{1,3}(\\.[[:digit:]]{1,3}){3}\\>'' | grep -Ev "^0+\\."
Dieser Einzeiler hat aber nur den gewünschten Effekt, wenn die Weboberfläche nicht passwortgeschützt ist, und das sollte sie aus Sicherheitsgründen unbedingt sein. Also muss eine andere Lösung her, und die arbeitet mit UPnP:
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#GetExternalIPAddress" -d "<?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:GetExternalIPAddress xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1" /> </s:Body> </s:Envelope>" -s | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>'
Das funktioniert auch mit Passwortschutz. Ab damit in eine Datei und wie gewohnt durch Conky ausführen lassen.
Da wir gerade bei Bash-Einzeilern im Zusammenhang mit der Fritz!Box sind, hier noch ein anderer netter Befehl. Um die IP-Adresse zu ändern genügt folgende Anweisung: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 " "