diff --git a/system/networking.nix b/system/networking.nix index e717574..991a283 100644 --- a/system/networking.nix +++ b/system/networking.nix @@ -3,10 +3,18 @@ let isAdguardHost = config.services.adguardhome.enable; - interfaces.eth = [ + interfaces.lan = [ "enp*" "eth*" ]; + + lan = rec { + IPv4Prefix = "192.168.1"; + IPv4CIDR = "${IPv4Prefix}.1/24"; + IPv6ULAPrefix = "fd1c:ca95:d74d"; + IPv6ULACIDR = "${IPv6ULAPrefix}::/48"; + }; + nameservers = { local = [ "127.0.0.1" @@ -14,8 +22,8 @@ let ]; remote = [ # LAN - "192.168.1.102#dns.felschr.com" - "fd1c:ca95:d74d::102#dns.felschr.com" + "${lan.IPv4Prefix}.102#dns.felschr.com" + "${lan.IPv6ULAPrefix}::102#dns.felschr.com" # Tailnet "100.97.32.60#dns.felschr.com" @@ -24,25 +32,31 @@ let }; in { - networking.useDHCP = false; - networking.nameservers = if isAdguardHost then nameservers.local else nameservers.remote; - networking.search = [ - "lan" - "tail05275.ts.net" - ]; - - networking.nftables.enable = true; - networking.networkmanager.dns = "systemd-resolved"; + networking = { + useDHCP = false; + nameservers = if isAdguardHost then nameservers.local else nameservers.remote; + nftables.enable = true; + firewall.allowedUDPPorts = [ + 5353 # mDNS + ]; + networkmanager.dns = "systemd-resolved"; + }; systemd.network = { enable = true; wait-online.ignoredInterfaces = [ "tailscale0" ]; networks = { "10-lan" = { - matchConfig.Name = interfaces.eth; + matchConfig.Name = interfaces.lan; + domains = [ "local" ]; networkConfig = { - DHCP = true; + DHCP = "ipv4"; IPv6AcceptRA = true; + MulticastDNS = true; + UseDomains = true; + }; + linkConfig = { + Multicast = true; }; }; }; @@ -58,8 +72,11 @@ in "1.1.1.1#one.one.one.one" "1.0.0.1#one.one.one.one" ]; - extraConfig = lib.mkIf isAdguardHost '' - DNSStubListener=no + extraConfig = '' + MulticastDNS=yes + ${lib.optionalString isAdguardHost '' + DNSStubListener=no + ''} ''; }; } diff --git a/system/printing/default.nix b/system/printing/default.nix index 6cf32a0..ab1d538 100644 --- a/system/printing/default.nix +++ b/system/printing/default.nix @@ -2,6 +2,4 @@ { services.printing.enable = true; - services.avahi.enable = true; - services.avahi.nssmdns4 = true; }