Hallo !
Ich denke, ein Problem ist auch das jeglicher dynip updater nix von einem IP-Change mit bekommen würde, da er davon einfach nicht in Kenntniss gesetzt wird.
Vorschlag: Wir hängen und in die /bin/onlinechanged ein, und bauen auch etwas an der Fritzbox-Software rum.
Das Script bekommt einige Parameter und Environment-Variablen:
Code:
#!/bin/sh
#- important variables
#$1={online|offline]
#DNS1=
#DNS2=
#IPADDR=
#GATEWAY=
Das dsl-Interface für WAN oder DSL hat immer die IP 169.254.2.1 sofern da niemand dran gedreht hat.
Wir könnten folgendes tun:
1. Die default route richtig setzen: Die AVM Soft setzt die default route ekelig:
Code:
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
[...]
0.0.0.0 0.0.0.0 0.0.0.0 UG 0 0 0 dsl
Huch eine Default-Route ohne Gateway, pfui. OpenVPN ist z.B. wenn, der OVPN-Server eine Route mit "net_gateway" setzt.
Folgende Idee wenn das Script mit "online" als ersten Parameter aufgerufen wird.
1. Externe IP auf das DSL-If setzen.
ifconfig dsl $IPADDR dstaddr $IPADDR
2. Damit Forwardings noch funktiionieren.
ifconfig dsl:myself 169.254.2.1 dstaddr 169.254.2.1
3. Das Default GW auf $IPADDR setzen.
route del default
route add default gw $IPADDR dev dsl
4. Eine Art Hotplug-Chain durchlaufen in der alle Pakete die wissen sollten das es neue DNS-Server gibt oder eine neue IP sollten da drin davon in Kenntnis gesetzt werden.
z.B. dnsmasq - killall -HUP dnsmasq
openvpn - je nach Verwendungszweck.
inadyn
5. nicht vergessen /var/tmp/onlinechanged
aufzurufen.
just my 2 pens