Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Internet a sítě => Téma založeno: navsteva 22 Března 2017, 10:31:29
-
Poradí někdo, jak na aktualizaci DDNS IPv6 v Xubuntu u poskytovatele duckdns.org?
Na turrisu (openwrt) v případě, že se mi aktualizuje IPv6 záznam, tak se automaticky nová ip adresa sesynchronizuje. Nastavení mám v /etc/config/ddns takovéto:
config ddns 'global'
option date_format '%F %R'
option log_lines '250'
option allow_local_ip '0'
config service 'myddns_ipv6'
option interface 'wan6'
option service_name 'duckdns.org'
option password 'mojeheslo'
option enabled '1'
option lookup_host 'mojedomena.duckdns.org'
option force_interval '1'
option use_ipv6 '1'
option domain 'mojedomena'
option ip_source 'interface'
option ip_interface '6to4-wan6'
option check_interval '5'
Potřeboval bych upravit, aby to fungovalo i na ubuntu, s tím rozdílem, že by ip adresu bralo z interface teredo.
Pokoušel jsem se aktualizovat pomocí curl, ale to mi nějak nefungovalo - přes curl to dokáže aktualizovat IPv4, ale ne IPv6. Nebo jsem něco dělal špatně.
curl "http://nouser:mojeheslo@www.duckdns.org/v3/update?hostname=mojedomena&myip=mojeipv6"
vrátí to NOCHG, i když IPv6 byla změněna.
Píší:
we host a DynDns compatible endpoint https://help.dyn.com/remote-access-api/perform-update/
A zde: https://help.dyn.com/remote-access-api/perform-update/ (https://help.dyn.com/remote-access-api/perform-update/)
https://{user}:{updater client key}@members.dyndns.org/v3/update?hostname={hostname}&myip={IP Address}
NOTE: This authentication method supports both IPv6 and IPv4 addresses. Use commas to separate multiple IP addresses in the myip field.
Co dělám špatně?
-
Nikdo neví?
-
na první pohled http x https ?
Ale fakt nevím ...
-
na první pohled http x https ?
Ale fakt nevím ...
V tom to není, v případě http a ipv4 se změny provedou.
Oni na serveru nemají IPv6 adresu, protože to neumí nějaký jejich load balancer, takže to ty změny hlásí přes ipv4, ale to by nemělo vadit, to by vadilo jen v případě, kdyby ta ip adresa nebyla uvedena a ip adresu by to detekovalo na jejich straně. Pak by ovšem ta hláška NOCHG dávala smysl. Zadávám tu IPv6 v nějakém špatném formátu? Nemám to zadávat v [literal]?
-
Tak vyřešeno přes jiného poskytovatele:
curl "https://dynv6.com/api/update?hostname=mojehostname.dns.army&ipv4=auto&ipv6=auto&token=můjtoken"
Funguje jak na ipv6, tak na ipv4. Myslím, že bude chyba někde u duckdns.org. Zkoušel jsem i https://{user}:{updater client key}@members.dyndns.org/v3/update?hostname={hostname}&myipv6={IP Address}, literal formát, všechno možné, ale nic nezabralo. Takže změna ddns poskytovatele.
-
ok, označuji za vyřešené
-
Ještě pro ty, co by to chtěli nějak automatizovat.
Používám automatický IPv6 tunel Teredo přes balíček miredo, ipv6 teredo ten mód ipv6=auto nepozná, je potřeba tu ipv6 jim tam nasypat jinak (do dynv6.net).
Tohle mám už ozkoušené, že funguje:
v souboru /etc/rc.local => přidat před exit 0:
sleep 20 && systemctl start miredo &
sleep 30 && ipv6=$(ip a | grep -s -i -o '2001\:[a-f0-9\.:]*') && curl -m 30 "https://dynv6.com/api/update?hostname=mojehostname.dns.army&ipv6=$ipv6&token=můjtoken" &
Můžeme nastavit i cron, já mám takto /etc/cron.d/dynv6, třeba by někdo vymyslel něco lepšího.
PATH=/sbin:/usr/sbin:/bin:/usr/bin
* * * * * root ipv6=$(ip a | grep -s -i -o '2001\:[a-f0-9\.:]*') && curl -m 30 "https://dynv6.com/api/update?hostname=mojehostname.dns.army&ipv6=$ipv6&token=můjtoken"
Pak vzdálené připojení na stroj přes SSH funguje klasicky, a je jedno, jestli je tam devatero natů mezitím.
ssh uzivatel@mojehostname.dns.army -6
(-6 je potřeba použít, pokud je nastaven i ipv4 záznam; ipv4 může být totiž veřejná ipv4 na natu, a ne koncového stroje).