[systemd-devel] resolved vs. DNS servers listening on Linux dummy interfaces

Peter Mattern pmattern at arcor.de
Mon May 9 14:08:36 UTC 2022


 > use DNSStubListenerExtra=
It's indeed this directive I'm using on the downstream interface. Maybe 
I should have mentioned that.


Configuration / results (MACs etc. obfuscated, but all correct on the 
running system):

# head -n-0 /etc/systemd/network/linux-dummy_local0.{netdev,network}
==> /etc/systemd/network/linux-dummy_local0.netdev <==
[NetDev]
Description=[...]
Kind=dummy
Name=local0

==> /etc/systemd/network/linux-dummy_local0.network <==
[Match]
Name=local0

[Network]
Description=[...]
Address=<static IPv6>/64
Address=<static IPv4>/24
DNSSEC=false
Domains=~home.example.org
LLMNR=false
MulticastDNS=false

# networkctl status local0
5: local0
                      Link File: /usr/lib/systemd/network/99-default.link
                Network File: 
/etc/systemd/network/linux-dummy_local0.network
                            Type: ether
                           State: routable (configured)
                Online state: online
                         Driver: dummy
       Hardware Address: <MAC>
                            MTU: 1500
                          QDisc: noqueue
   IPv6 Address Generation Mode: eui64
           Queue Length (Tx/Rx): 1/1
                        Address: <static IPv4 as configured in *.network>
                                      <static IPv6 as configured in 
*.network>
                                      fe80::[...]
                  Route Domains: home.example.org
              Activation Policy: up
            Required For Online: yes
              DHCP6 Client DUID: DUID-EN/Vendor:[...]

Mai 08 23:08:07 rpi3b-router systemd-networkd[378]: local0: netdev ready
Mai 08 23:08:07 rpi3b-router systemd-networkd[378]: local0: Link UP
Mai 08 23:08:07 rpi3b-router systemd-networkd[378]: local0: Gained carrier
Mai 08 23:08:07 rpi3b-router systemd-networkd[378]: local0: Gained IPv6LL

# ip address show local0
5: local0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state 
UNKNOWN group default qlen 1000
     link/ether [...] brd ff:ff:ff:ff:ff:ff
     inet [...]/24 brd [...] scope global local0
        valid_lft forever preferred_lft forever
     inet6 [...]/64 scope global
        valid_lft forever preferred_lft forever
     inet6 fe80::[...]/64 scope link
        valid_lft forever preferred_lft forever

# resolvectl status local0
Link 5 (local0)
Current Scopes: none
      Protocols: -DefaultRoute -LLMNR -mDNS -DNSOverTLS 
DNSSEC=no/unsupported
     DNS Domain: ~home.example.org


And with all these results a querying a DNS server on local0 e. g. by 
"drill @<IP of local0> home.example.org" works but "resolvectl query 
home.example.org" fails.


More information about the systemd-devel mailing list