Fórum Root.cz
Hlavní témata => Sítě => Téma založeno: beer 02. 04. 2017, 23:29:57
-
Vytvořil jsem si ifup script pro dynamické dns. Poraďte prosím proč nefunguje. Umístěný je v /etc/network/if-up.d/dynv6, práva má 755. Xubuntu 16.04 s network managerem a systemd.
#!/bin/bash
# Reload dynv6 when an interface comes up
PATH=/sbin:/usr/sbin:/bin:/usr/bin
ipv6=$(ip a | grep -s -i -o '200[1-2]\:[a-f0-9\.:]*' | head -n 1)
hostname="mojehostname.dynv6.net"
token="mojeheslo"
curl -m 30 "https://dynv6.com/api/update?hostname=$hostname&ipv6=$ipv6&token=$token"
exit 0
Když ho spustím ručně, tak funguje. Rád bych, aby se spustil vždy, když změním síť.
-
ping
-
Pong. Pro začátek by stálo za to zjistit jestli "nefunguje" a pak budem řešit proč nebo jestli se nespustí.
-
Nefunguje při změně wifi sítě. Zatímco, když je nainstalované miredo, a v souboru /etc/network/if-up.d/miredo jsem nahradil viz níže, tak to přes miredo fungovalo i při změně sítě. To, co jsem dával v prvním příspěvku reaguje možná jen na aktivaci rozhraní, a to ještě kdoví jestli, ale script se při změně wifi sítě nevykonná.
if [ "$ADDRFAM" = "ipx" ] || [ "$ADDRFAM" = "inet6" ]; then
exit 0
fi
za
if [ "$ADDRFAM" = "ipx" ] || [ "$ADDRFAM" = "inet6" ]; then
ip -6 route add default dev teredo;
ipv6=$(ip a | grep -s -i -o '200[1-2]\:[a-f0-9\.:]*' | head -n 1) && curl -m 30 "https://dynv6.com/api/update?hostname="mojehostname"&ipv6=$ipv6token="mojeheslo"; exit 0
fi