diff options
| author | Isabella Bastaja <isabella@sorre.xyz> | 2026-05-30 12:18:16 +0200 |
|---|---|---|
| committer | Isabella Bastaja <isabella@sorre.xyz> | 2026-05-30 13:13:34 +0200 |
| commit | 9ff883faef5d22180df873ac71568ea4f48d87dd (patch) | |
| tree | b5d6b9e5fb1ff771c649686e91a86e456c4bc84b | |
| parent | f5c160af2c322a38ca22628f69f7c78763d8f969 (diff) | |
wg: fix mdns
| -rw-r--r-- | wireguard.nix | 41 |
1 files changed, 39 insertions, 2 deletions
diff --git a/wireguard.nix b/wireguard.nix index 58c447e..d36d8f3 100644 --- a/wireguard.nix +++ b/wireguard.nix @@ -46,14 +46,39 @@ in format = "binary"; }; - networking.firewall.allowedUDPPorts = [ wgPort ]; + networking = { + firewall.allowedUDPPorts = [ wgPort ]; + nftables = { + enable = true; + tables.wg-mdns = { + enable = true; + family = "inet"; + content = '' + # chain prerouting { + # type filter hook prerouting priority mangle; + # iifname "wg0" meta mark set ${toString firewallMark} + # } + + chain input { + type filter hook input priority filter; + + # Allow mDNS only over wireguard + # udp dport 5353 meta mark ${toString firewallMark} accept + udp dport 5353 accept + } + ''; + }; + }; + }; + + services.resolved.settings.Resolve.MulticastDNS = false; systemd.network = { enable = true; + networks."50-wg" = { matchConfig.Name = "wg0"; address = [ conf.address ]; - networkConfig.MulticastDNS = true; }; netdevs."50-wg" = { @@ -76,4 +101,16 @@ in wireguardPeers = generatePeers hostname; }; }; + + services.avahi = { + enable = true; + nssmdns6 = true; + reflector = true; + allowInterfaces = [ "wg0" ]; + publish = { + enable = true; + addresses = true; + workstation = true; + }; + }; } |
