systemd-resolvedを使用して分割DNSを正しく設定しますか?

systemd-resolvedを使用して分割DNSを正しく設定しますか?

ドメイン内のホストからの要求は、example.com172.31.64.1でホストされているローカルDNSリゾルバに移動し、他のすべてのリクエストはデフォルトリゾルバで処理されることを望みます。

172.31.64.1のソルバーが起動し、正しく構成されました。

$ dig files.example.com @172.31.64.1
files.example.com.      590     IN      A       172.21.0.4
$ dig www.example.com @172.31.64.1
www.example.com.        600     IN      A       172.21.0.2

アドレス 172.31.64.1 はローカルブリッジインターフェイスに属します。

$ ip addr show br-infra
1021: br-infra: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 12:52:36:61:79:8a brd ff:ff:ff:ff:ff:ff
    inet 172.31.64.1/24 brd 172.31.64.255 scope global noprefixroute br-infra
       valid_lft forever preferred_lft forever

基本インターフェイスとbr-infraインターフェイスの解像度設定は次のとおりです。

$ resolvectl status eth0
Link 2 (eth0)
    Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
         Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 192.168.1.1
       DNS Servers: 192.168.1.1
        DNS Domain: house
$ resolvectl status br-infra
Link 1065 (br-infra)
Current Scopes: none
     Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
   DNS Servers: 172.31.64.1
    DNS Domain: example.com

これらの構成にもかかわらず、ドメインのhsotに対する要求は依然としてexample.comプライマリDNSサーバーにルーティングされます。たとえば、tcpdump -i any -n port domainある端末とdig files.example.com別の端末で実行すると、次のようになります。

13:52:02.879796 lo    In  IP 127.0.0.1.45497 > 127.0.0.53.domain: 16287+ [1au] A? files.example.com. (58)
13:52:02.880003 eth0  Out IP 192.168.1.200.58863 > 192.168.1.1.domain: 7738+ A? files.example.com. (35)
13:52:02.899060 eth0  In  IP 192.168.1.1.domain > 192.168.1.200.58863: 7738 NXDomain 0/1/0 (91)
13:52:02.899123 lo    In  IP 127.0.0.53.domain > 127.0.0.1.45497: 16287 NXDomain 0/1/1 (102)

要求は 192.168.1.1 のプライマリ DNS サーバーにルーティングされます。

この構成に欠けているものは何ですか?

関連情報