Unitymedia default route ipv6 (Technicolor 7200)
Posted: Wed 19. Oct 2016, 13:56
Hallo,
ich nutze den feste-ip Service schon fast zwei Jahre - bis zum 15.8.2016 funktionierte alles tadellos, dann bekam ich ein Technicolor Router Update und seither gibt es immer wieder Aussetzer im Internet, die fip Anmeldung ging nicht mehr. Ich hatte erste jetzt Zeit die Sache zu analysieren. Die raspberry pi fip box fand ueber ipv6 keine route mehr nach draussen, daher gingen auch die feste-ip.net Updates nicht mehr. Auf die Schnelle habe ich mir einen Hack gebaut, ich logge mich via Curl in die Technicolor Box ein und hole mir die IPv6 Adresse:
Crontab hab ich auch eingetragen, ist aber mir Vorsicht zu geniessen, da jedesmal ein route add gemacht wird.
Fuer eine elegantere Loesung ware ich dankbar.
Gruesse,
Alexander
ich nutze den feste-ip Service schon fast zwei Jahre - bis zum 15.8.2016 funktionierte alles tadellos, dann bekam ich ein Technicolor Router Update und seither gibt es immer wieder Aussetzer im Internet, die fip Anmeldung ging nicht mehr. Ich hatte erste jetzt Zeit die Sache zu analysieren. Die raspberry pi fip box fand ueber ipv6 keine route mehr nach draussen, daher gingen auch die feste-ip.net Updates nicht mehr. Auf die Schnelle habe ich mir einen Hack gebaut, ich logge mich via Curl in die Technicolor Box ein und hole mir die IPv6 Adresse:
Code: Select all
$ cat /home/pi/unitymedia-box.bash
function unitymedia-box-gw() {
# $ curl http://v6.checkip.feste-ip.net
# <html><head><title>Current IP Check</title></head><body>Current IP Address: 2a02:908:2611:32e0:ba27:ebff:fecd:309f</body></html>
# TC 7200 Grundeinstellung auswählen und dort auf Lokales Netzwerk (LAN)
# IPv6 DNS Server 1: 2620:0:ccc::2 ## testen
# IPv6 DNS Server 2: 2620:0:ccd::2 ## testen
local pass pf="$HOME/.unitymedia-box-gw.pass"
read pass < "$pf" || { echo "$FUNCNAME: please supply password in file '$pf'"; return 1; }
local url='http://192.168.0.1'
local cs=('curl' '--silent')
local csrf=$("${cs[@]}" "$url/login.asp" | grep -i CSRFValue\" | sed 's,^.*CSRFValue" value=\([0-9]*\)>,\1,') # get anti csrf token
"${cs[@]}" "$url/goform/login" --data "CSRFValue=$csrf&loginUsername=admin&loginPassword=$pass&logoffUser=0" # login with user and pass
"${cs[@]}" "$url/basic/local.asp" | grep 'ipv6address' | sed 's,.*</label>\([0-9a-f:]*\)/64<div.*,\1,' # extract ipv6address
"${cs[@]}" "$url/logout.asp" >/dev/null # logout
}
function unitymedia-box() {
sudo /sbin/route -A inet6 add default gw $(unitymedia-box-gw)
}
unitymedia-box
Code: Select all
$ crontab -l
11 * * * * bash /home/pi/unitymedia-box.bash >/home/pi/unitymedia-box.bash.out 2>&1
Gruesse,
Alexander