[Eisfair] avm-fritz-toolbox

Olaf Jaehrling eisfair at ojaehrling.de
So Nov 20 18:23:48 CET 2016


Hallo Marcus,

Marcus Roeckrath schrieb am 20.11.2016 um 17:47:

> 
> Ich habe mich damit auch schwer getan; es ist halt bei einigen Befehlen sehr
> viel zu beachten, damit korrekte Anfragen an die Fritzbox zustandkommen.
> 
> Bin da für Anregungen aus Anwendersicht offen.

siehe weiter unten.

> 
>> Nun kann die Frau mit Handy das WLAN für den Bengel einschalten und
>> ausschalten.  ......
> 
> Wie hast Du das praktisch gelöst?

Per Handy-app Moba-SSH (Unter Android JuiceSSH mit Cluster Snippes)
Einen SSH-Key ohne Pasword nur für diese App (um bei Verlust zu
sperren), dann loggt diese sich per SSH ein und führt ein initscript
aus, wo verschiedene Clients verschiedene Berechtigungen bekommen können.
So darf zu Beispiel der PC nur über das normale WLAN geschützt durch
eine Firewall ins Netz, die XBOX aber über das GastWLAN direkt ins
Internet. Also Unterschiedliche WLAN-Hardware (normales WLAN an einem
TP-Link) und WLAN für Gäste und XBox über die Fritzbox direkt.
> 
>> Und der WAF ist wiedermal gestiegen. :) 

WAF=Woman Acceptance Factor :D :D
> 
>
>>
>> Von der Sache her ein Menu.
>> ACTIVAT
>> FBIP
>> FB-PORT
>> FB-SSLPORT
>> COMMAND_N
>> COMMAND_1= -> und dort frei wählbar oder per dialogscript.
> 
> Das ist doch kein Menü, sondern eine Konfigurationsoberfläche.

Jupp, liegt hat unter /var/install/menu :) :)

> 
> Ich habe auch schon darüber nachgedacht, obwohl der Ansatzpunkt des Projekts
> ein Skript zur Nutzung in anderen Skripten oder einem cronjob war und nicht
> ein interaktives System.
> 
> Prinzipiell könnte sich ja jemand auch eine cgi-Skript für den Apachen
> basteln und hinter den Seitenbuttons dann entsprechende Skriptbefehle
> hinterlegen.

Jup. darüber hatte ich auch schonmal nachgedacht. Die Handyapp war mir
dann aber sicherer.

> 
>> In der Hilfe mal ein Paar Beispiele. z.Bsp.:
>> avm-fritz-toolbox.sh wlan1switch --active --experimental (für 2,4Ghz)
>> avm-fritz-toolbox.sh wlan2switch --active --experimental (für 5Ghz)
>> avm-fritz-toolbox.sh wlan3switch --active --experimental (für GastWLAN)
> 
> also ist auch die per help-Kommando erhältliche Hilfe nicht ausreichend, die
> z. B. obige Kommandos so erklärt:
> 
> wlan?switch (*) : Activates/deactivates wlan (2.4GHz, 5 GHz|guest wlan,
> guest wlan); ? = 1, 2 or 3.
> [...]
> --active                         add, *switch
> [...]
> --experimental                   enables experimental commands (*)

Jein, die Reihenfolge ist das entscheidende. Wenn man

avm-fritz-toolbox.sh --active wlan1switch eingibt, kommt eine
Fehlermeldung mit irgendeiner Portmeldung. Logisch, da active dann eine
Portfreigabe erwartet. Hier muss halt erst wlan.... kommen.
Mit ein paar Beispielen in der Hilfe wird das schnell klarer.

> 
> Übrigens ist bei manchen Fritzboxen auch nur wlan1 und wlan2 verfügbar, da
> ist dann wlan2 das Gäste-Wlan; das sind Boxen ohne 5GHz-WLan.
> 
> Das mit experimental werde ich für wlan wohl wieder entfernen. Ich bin da
> bei Tests mit meiner Fritzbox auf die Nase gefallen, die das wlanswitching
> mit kompletter Deaktivierung des WLan-Teils quittiert hatte.

Würde ich drin lassen, da die unterschiedlichen Boxen evtl. anders
reagieren.

> 
> Mein Fehler war wohl, benutze den WLan-Teil der Fritz nicht, dass ich den
> nie konfiguriert hatte (Passwort, ...).
> 
> Welche Box in welcher Software-Version hast Du?

FRITZ!Box Fon WLAN 7390 84.06.51

> 
> Musstest Du diese Fixes aktivieren?

Nein, Aber ich habe auch nur die WLAN-Funktion im Moment getestet.
Um die Fritte neu zu starten oder neu zu verbinden nutze ich noch alte
upnp-scripte

IP-Adresse abfragen:
curl -s "http://192.168.178.4: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:ForceTermination
xmlns:u='urn:schemas-upnp-org:service:WANIPConnection:1' /> </s:Body>
</s:Envelope>"| grep -Eo "\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>"

reconnect:
curl "http://192.168.178.4:49000/igdupnp/control/WANIPConn1" -H
"Content-Type: text/xml; charset="utf-8"" -H
"SoapAction:urn:schemas-upnp-org:service:WANIPConnection:1#ForceTermination"
-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:ForceTermination
xmlns:u='urn:schemas-upnp-org:service:WANIPConnection:1' /> </s:Body>
</s:Envelope>"

restart:
curl "http://192.168.178.4:49000/igdupnp/control/deviceconfig" -H
"Content-Type: text/xml; charset="utf-8"" -H
"SoapAction:urn:schemas-upnp-org:service:DeviceConfig:1#reboot" -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:ForceTermination
xmlns:u='urn:schemas-upnp-org:service:DeviceConfig:1' /> </s:Body>
</s:Envelope>"



Danke und Gruß

Olaf


Mehr Informationen über die Mailingliste Eisfair