Fórum Root.cz

Hlavní témata => Sítě => Téma založeno: beer 02. 04. 2017, 23:29:57

Název: if up script pro dyndns
Přispěvatel: 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.



Kód: [Vybrat]

#!/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íť.
Název: Re:if up script pro dyndns
Přispěvatel: beer 03. 04. 2017, 12:02:35
ping
Název: Re:if up script pro dyndns
Přispěvatel: Ladislav Michl 03. 04. 2017, 13:16:59
Pong. Pro začátek by stálo za to zjistit jestli "nefunguje" a pak budem řešit proč nebo jestli se nespustí.
Název: Re:if up script pro dyndns
Přispěvatel: beer 03. 04. 2017, 13:35:22
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á.

Kód: [Vybrat]
if [ "$ADDRFAM" = "ipx" ] || [ "$ADDRFAM" = "inet6" ]; then
exit 0
fi

za
Kód: [Vybrat]
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