r5: enable dynamic dns updates
4 files changed, 31 insertions(+), 0 deletions(-)
M system/hosts/r5.nix → system/hosts/r5.nix
@@ -15,6 +15,7 @@ ../roles/home.nix ../roles/server.nix ../roles/router.nix ../roles/local-ca.nix + ../roles/dynamic-dns.nix ../roles/tailscale-subnet-router.nix ../settings/hardware/usb-serial-tty.nix ];
A system/roles/dynamic-dns.nix
@@ -0,0 +1,25 @@ +{ + config, + ... +}: +let + zone = "alin.ovh"; + server = "pdns.${zone}"; + domains = [ + "home.${zone}" + ]; +in +{ + age.secrets = { + dyndns.file = ../../secrets/dyndns.age; + }; + + services.ddclient = { + enable = true; + + inherit zone server domains; + + protocol = "nsupdate"; + passwordFile = config.age.secrets.dyndns.path; + }; +}
M system/roles/router.nix → system/roles/router.nix
@@ -173,6 +173,11 @@ # "net.ipv6.conf.${wan}.accept_ra" = 2; "net.ipv6.conf.${wan}.autoconf" = 1; }; + services.ddclient = { + usev4 = "disabled"; + usev6 = "ifv6, ifv6=${wan}"; + }; + services.dnsmasq = { enable = dnsmasqEnable; alwaysKeepRunning = true;