Jak poznamenal Wouter, vaše stávající nastavení se již zdá docela slušné.
Pokud chcete něco méně závislého na dhclient
, můžete se podívat na mnoho dynamických DNS klientů zabalených v Debianu.
Například ddclient
může reagovat na změny DHCP nebo jednoduše monitorovat rozhraní Ethernet; když se IP adresa změní (a teprve potom), může aktualizovat dynamický záznam DNS (u libovolného počtu poskytovatelů) a také spustit samostatný skript (který by pokryl oba vaše případy použití).
Navrhuji vaše řešení dále zjednodušit/rozdělit podle principu oddělení zájmů:
- skript
/etc/dhcp/dhclient-exit-hooks.d/trigger_on_ip_change
by měl pouze rozhodnout, zda je třeba provést akci, a odložit akci na samostatný skript/usr/local/bin/act_on_ip_change
- skript
/usr/local/bin/act_on_ip_change
by měl provádět pouze nezbytné změny
Důvody pro oddělení těchto obav jsou:
- můžete samostatně otestovat, zda
dhclient
spouští správně (aniž byste během ladění cokoli ve vašem systému měnili) - můžete otestovat „provádění změn“, aniž byste museli obnovovat (a tedy potenciálně ztratit) svou IP
- můžete spustit
/usr/local/bin/act_on_ip_change
ručně v případě potřeby - části jsou mnohem srozumitelnější
Stručně řečeno, navrhoval bych to mít v /etc/dhcp/dhclient-exit-hooks.d/trigger_on_ip_change_action
:
# based on /etc/dhcp/dhclient-exit-hooks.d/debug
if [ "$reason" = "BOUND" -a "$old_ip_address" != "$new_ip_address" ]; then
/usr/local/bin/act_on_ip_change
fi
Linux ekvivalentní vzdálené vzdálené komunikaci PowerShell typu one-to-many
lsmod ukazuje -2 ve sloupci „Použito“.