DNS Configuration Issues with IPv6 Link Local for PVE & LXC

dom6770

New Member
Jan 22, 2025
2
0
1
Hello!

I just noticed some issues when trying to configure PVE (8.4.5) with a link-local DNS server.

#1 - PVE Host
I use a AdGuard Home LXC, and want to use it's link-local IPv6 address as DNS resolver for PVE, but I cannot get it to work through the Web GUI.
When I edit the DNS settings, and using 'fe80::1234:1234:1234:1234' as "DNS Server 1", the server is not reachable with, f.ex. dig:

Code:
❯ dig @fe80::1234:1234:1234:1234 google.at
;; UDP setup with fe80::1234:1234:1234:1234#53(fe80::1234:1234:1234:1234) for google.at failed: invalid file.
;; no servers could be reached
;; UDP setup withfe80::1234:1234:1234:1234#53(fe80::1234:1234:1234:1234) for google.at failed: invalid file.
;; no servers could be reached
;; UDP setup with fe80::1234:1234:1234:1234#53(fe80::1234:1234:1234:1234) for google.at failed: invalid file.
;; no servers could be reached
❯ dig @fe80::1234:1234:1234:1234%vmbr0 google.at

; <<>> DiG 9.18.33-1~deb12u2-Debian <<>> @fe80::1234:1234:1234:1234%vmbr0 google.at
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28405
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;google.at.                     IN      A

;; ANSWER SECTION:
google.at.              1855    IN      A       142.251.208.163

;; Query time: 0 msec
;; SERVER: fe80::1234:1234:1234:1234%4#53(fe80::1234:1234:1234:1234%vmbr0) (UDP)
;; WHEN: Mon Jul 28 19:23:33 CEST 2025
;; MSG SIZE  rcvd: 54

It only starts working, when I add %vmbr0 to the link-local, buuut PVE won't let me add it to the setting:

9c8c49a2-6706-4419-aadd-adc1ab372997.png


Manually editing resolv.conf works fine too, but I suspect after a reboot / configuration change it will remove the interface again? Haven't tested it yet.

PVE should either automatically attach the main interface, or let us add a server with appending interface, as it should be.

#2 - LXC
Whenever I use 'host' DNS servers the IPv6 link-local server won't work too, because the interface is missing. Even when I manually edit /etc/resolv.conf on the PVE, and then reboot a LXC, it still only uses the link-local address without any interface, thus resulting in no connection

When using the 'host' setting, fe80::1234:1234:1234:1234%vmbr0 should get automatically be translated to the main interface in the LX container: fe80::1234:1234:1234:1234%eth0