From a6416c92b24f86a0c317e4d8d392011029246094 Mon Sep 17 00:00:00 2001 From: Tim Keller Date: Mon, 21 Sep 2026 13:15:38 -0500 Subject: update dns-dhcp module to explicitly distinguish between local domain (dnsmasq) overrides and proper dns overrides with unbound. fixed dns overrides and imported them for poweredge and poweredge-pro. cleaned up router-hosts.nix on poweredge --- hosts/poweredge-pro/dhcp-hosts.nix | 26 +++++++++++ hosts/poweredge-pro/dns-overrides.nix | 32 +++---------- hosts/poweredge-pro/dns.nix | 1 + hosts/poweredge/router-hosts.nix | 88 ++++++++++------------------------- 4 files changed, 58 insertions(+), 89 deletions(-) create mode 100644 hosts/poweredge-pro/dhcp-hosts.nix (limited to 'hosts') diff --git a/hosts/poweredge-pro/dhcp-hosts.nix b/hosts/poweredge-pro/dhcp-hosts.nix new file mode 100644 index 0000000..643ae10 --- /dev/null +++ b/hosts/poweredge-pro/dhcp-hosts.nix @@ -0,0 +1,26 @@ +let + localResolution.localDomain = "pls.lan"; + dhcp = { + inherit staticLeases; + defaultGateway = "192.168.77.1"; + localhostIp = "192.168.77.2"; + rangeStart = "192.168.77.50"; + rangeEnd = "192.168.77.250"; + }; + staticLeases = { + devel = { macAddress = "00:a0:98:79:81:5a"; staticIp = "192.168.77.3"; }; + mailcow = { macAddress = "00:a0:98:79:20:a2"; staticIp = "192.168.77.7"; }; + tjkeller = { macAddress = "00:a0:98:62:cf:86"; staticIp = "192.168.77.8"; }; + filebrowser = { macAddress = "02:00:00:00:77:12"; staticIp = "192.168.77.12"; }; + WIN-BGBGC27B1PF = { macAddress = "d8:9e:f3:1c:f0:1c"; staticIp = "192.168.77.30"; }; # DACS + DESKTOP-CQ4UIF9 = { macAddress = "08:bf:b8:3f:bd:48"; staticIp = "192.168.77.31"; }; # Kyle + WIN-6FVMAFOID4G = { macAddress = "00:a0:98:58:10:85"; staticIp = "192.168.77.33"; }; # QB + office-precision = { macAddress = "48:4d:7e:f8:96:47"; staticIp = "192.168.77.34"; }; + XRX9C934E85D0A3 = { macAddress = "9c:93:4e:85:d0:a3"; staticIp = "192.168.77.40"; }; # Xerox + nvr = { macAddress = "98:8b:0a:cf:4f:5e"; staticIp = "192.168.77.176"; }; + }; +in { + services._router.dnsDhcpConfig = { + inherit localResolution dhcp; + }; +} diff --git a/hosts/poweredge-pro/dns-overrides.nix b/hosts/poweredge-pro/dns-overrides.nix index 3bcdb90..0ed161c 100644 --- a/hosts/poweredge-pro/dns-overrides.nix +++ b/hosts/poweredge-pro/dns-overrides.nix @@ -1,32 +1,12 @@ let - localResolution.localDomain = "pls.lan"; - dhcp = { - inherit staticLeases; - defaultGateway = "192.168.77.1"; - localhostIp = "192.168.77.2"; - rangeStart = "192.168.77.50"; - rangeEnd = "192.168.77.250"; - }; - staticLeases = { - devel = { macAddress = "00:a0:98:79:81:5a"; staticIp = "192.168.77.3"; }; - mailcow = { macAddress = "00:a0:98:79:20:a2"; staticIp = "192.168.77.7"; }; - tjkeller = { macAddress = "00:a0:98:62:cf:86"; staticIp = "192.168.77.8"; }; - filebrowser = { macAddress = "02:00:00:00:77:12"; staticIp = "192.168.77.12"; }; - WIN-BGBGC27B1PF = { macAddress = "d8:9e:f3:1c:f0:1c"; staticIp = "192.168.77.30"; }; # DACS - DESKTOP-CQ4UIF9 = { macAddress = "08:bf:b8:3f:bd:48"; staticIp = "192.168.77.31"; }; # Kyle - WIN-6FVMAFOID4G = { macAddress = "00:a0:98:58:10:85"; staticIp = "192.168.77.33"; }; # QB - office-precision = { macAddress = "48:4d:7e:f8:96:47"; staticIp = "192.168.77.34"; }; - XRX9C934E85D0A3 = { macAddress = "9c:93:4e:85:d0:a3"; staticIp = "192.168.77.40"; }; # Xerox - nvr = { macAddress = "98:8b:0a:cf:4f:5e"; staticIp = "192.168.77.176"; }; - }; - dns.hostOverrides = { - "docs.chexx.net" = "192.168.77.3"; - "files.chexx.net" = "192.168.77.12"; - "vault.chexx.net" = "192.168.77.3"; - "wg-easy.chexx.net" = "192.168.77.3"; + dns.overrides.records = { + "docs.chexx.net" = { recordType = "A"; value = "192.168.77.3"; }; + "files.chexx.net" = { recordType = "A"; value = "192.168.77.12"; }; + "vault.chexx.net" = { recordType = "A"; value = "192.168.77.3"; }; + "wg-easy.chexx.net" = { recordType = "A"; value = "192.168.77.3"; }; }; in { services._router.dnsDhcpConfig = { - inherit localResolution dhcp dns; + inherit dns; }; } diff --git a/hosts/poweredge-pro/dns.nix b/hosts/poweredge-pro/dns.nix index fb22afb..511f9e2 100644 --- a/hosts/poweredge-pro/dns.nix +++ b/hosts/poweredge-pro/dns.nix @@ -14,6 +14,7 @@ imports = [ ../../nixos/services/router #./router-hosts.nix # Contains dhcp config + static leases + overrides + ./dhcp-hosts.nix ./dns-overrides.nix ]; diff --git a/hosts/poweredge/router-hosts.nix b/hosts/poweredge/router-hosts.nix index 2a08558..b53b2a1 100644 --- a/hosts/poweredge/router-hosts.nix +++ b/hosts/poweredge/router-hosts.nix @@ -9,76 +9,38 @@ let }; staticLeases = { # Network - idrac-7N94GK2 = { - macAddress = "50:9a:4c:5d:c3:7c"; - staticIp = "192.168.1.2"; - }; - OpenWrt-Attic = { - macAddress = "34:98:b5:60:5e:be"; - staticIp = "192.168.1.3"; - }; - OpenWrt-Basement = { - macAddress = "8c:3b:ad:35:c7:8c"; - staticIp = "192.168.1.4"; - }; - ArcherC54 = { - macAddress = "12:eb:b6:13:f9:e2"; - staticIp = "192.168.1.5"; - }; + idrac-7N94GK2 = { macAddress = "50:9a:4c:5d:c3:7c"; staticIp = "192.168.1.2"; }; + OpenWrt-Attic = { macAddress = "34:98:b5:60:5e:be"; staticIp = "192.168.1.3"; }; + OpenWrt-Basement = { macAddress = "8c:3b:ad:35:c7:8c"; staticIp = "192.168.1.4"; }; + ArcherC54 = { macAddress = "14:eb:b6:13:f9:e0"; staticIp = "192.168.1.5"; }; # Desktops - T495 = { - macAddress = "04:33:c2:9d:34:74"; - staticIp = "192.168.1.11"; - }; - optiplex = { - macAddress = "e4:54:e8:bc:ba:05"; - staticIp = "192.168.1.12"; - }; - X230 = { - macAddress = "84:3a:4b:60:34:c4"; - staticIp = "192.168.1.13"; - }; + T495 = { macAddress = "04:33:c2:9d:34:74"; staticIp = "192.168.1.11"; }; + optiplex = { macAddress = "e4:54:e8:bc:ba:05"; staticIp = "192.168.1.12"; }; + X230 = { macAddress = "84:3a:4b:60:34:c4"; staticIp = "192.168.1.13"; }; + # Appliances + # TODO add epson printer + p1s = { macAddress = "3c:0f:02:d5:23:64"; staticIp = "192.168.1.39"; }; + gnuslashprinter = { macAddress = "00:23:24:5b:f0:6d"; staticIp = "192.168.1.40"; }; # Services - gnuslashprinter = { - macAddress = "00:23:24:5b:f0:6d"; - staticIp = "192.168.1.40"; - }; - immich = { - macAddress = "02:00:00:00:00:01"; - staticIp = "192.168.1.41"; - }; - jellyfin = { - macAddress = "02:00:00:00:00:02"; - staticIp = "192.168.1.42"; - }; - gitea = { - macAddress = "02:00:00:00:00:03"; - staticIp = "192.168.1.43"; - }; - bitcoind = { - macAddress = "02:00:00:00:00:04"; - staticIp = "192.168.1.44"; - }; - filebrowser = { - macAddress = "02:00:00:00:00:05"; - staticIp = "192.168.1.45"; - }; - grafana = { - macAddress = "02:00:00:00:00:06"; - staticIp = "192.168.1.46"; - }; - transmission = { - macAddress = "02:00:00:00:00:07"; - staticIp = "192.168.1.47"; - }; + immich = { macAddress = "02:00:00:00:00:01"; staticIp = "192.168.1.41"; }; + jellyfin = { macAddress = "02:00:00:00:00:02"; staticIp = "192.168.1.42"; }; + gitea = { macAddress = "02:00:00:00:00:03"; staticIp = "192.168.1.43"; }; + bitcoind = { macAddress = "02:00:00:00:00:04"; staticIp = "192.168.1.44"; }; + filebrowser = { macAddress = "02:00:00:00:00:05"; staticIp = "192.168.1.45"; }; + grafana = { macAddress = "02:00:00:00:00:06"; staticIp = "192.168.1.46"; }; + transmission = { macAddress = "02:00:00:00:00:07"; staticIp = "192.168.1.47"; }; }; - dns.hostOverrides = { - "router.${localDomain}" = "192.168.1.1"; + localDomainOverrides = { + "router.${localDomain}" = "192.168.1.1"; # FIXME ping router on separate host returns 127.0.0.2 "poweredge.${localDomain}" = "192.168.1.10"; }; in { + imports = [ ../poweredge-pro/dns-overrides.nix ]; services._router.dnsDhcpConfig = { - inherit localDomain dhcp dns; + inherit dhcp; + localResolution = { + inherit localDomain localDomainOverrides; + }; }; networking.hosts."192.168.1.1" = [ "router.${localDomain}" "router" ]; } -- cgit v1.2.3