bind9 用于 DNS64,dnsmasq 用于 RA 和本地 DNS

bind9 用于 DNS64,dnsmasq 用于 RA 和本地 DNS

我需要在四个接口上运行 bind9 作为 DNS64 服务器,并运行 dnsmasq 来为环回接口进行 DNS 解析并为 DNS64 接口提供路由器通告。

bind9 在以下接口上处于活动状态:gphy0、gphy1、gphy2 和 gphy3(地址分别为:fd70:1234:1234::/64、fd70:1234:1234:1::/64、fd70:1234:1234:2::/64 和 fd70:1234:1234:3::/64)。我已将 bind9 配置为仅监听这些接口:

listen-on-v6 { fd70:3d33:7f39::/64; fd70:3d33:7f39:1::/64; fd70:3d33:7f39:2::/64; fd70:3d33:7f39:3::/64;};

一切按预期进行,我获得了 DNS64 解析:

root@host:~# netstat -tulpn | grep 53
tcp6       0      0 fd70:3d33:7f39:3:d09:53 :::*                    LISTEN      1232/named
tcp6       0      0 fd70:3d33:7f39:2:a81:53 :::*                    LISTEN      1232/named
tcp6       0      0 fd70:3d33:7f39:1:fcf:53 :::*                    LISTEN      1232/named
tcp6       0      0 fd70:3d33:7f39:0:903:53 :::*                    LISTEN      1232/named
tcp6       0      0 fd70:3d33:7f39:3:::53   :::*                    LISTEN      1232/named
tcp6       0      0 fd70:3d33:7f39:2:::53   :::*                    LISTEN      1232/named
tcp6       0      0 fd70:3d33:7f39:1:::53   :::*                    LISTEN      1232/named
tcp6       0      0 fd70:3d33:7f39:::53     :::*                    LISTEN      1232/named
udp6       0      0 fd70:3d33:7f39:3:d09:53 :::*                                1232/named
udp6       0      0 fd70:3d33:7f39:2:a81:53 :::*                                1232/named
udp6       0      0 fd70:3d33:7f39:1:fcf:53 :::*                                1232/named
udp6       0      0 fd70:3d33:7f39:0:903:53 :::*                                1232/named
udp6       0      0 fd70:3d33:7f39:3:::53   :::*                                1232/named
udp6       0      0 fd70:3d33:7f39:2:::53   :::*                                1232/named
udp6       0      0 fd70:3d33:7f39:1:::53   :::*                                1232/named
udp6       0      0 fd70:3d33:7f39:::53     :::*                                1232/named

现在我希望 dnsmasq 仅在环回接口上提供 DNS 解析,并在这些 gphyX 接口上启用路由器通告。这是我的 dnsmasq.conf:

domain-needed
bogus-priv
resolv-file=/run/resolv.conf
server=/domain.com/8.8.8.8
user=daemon
group=daemon
no-hosts
interface=
bind-interfaces
dhcp-range=::,constructor:gphy0,ra-only,12h
dhcp-range=::,constructor:gphy1,ra-only,12h
dhcp-range=::,constructor:gphy2,ra-only,12h
dhcp-range=::,constructor:gphy3,ra-only,12h
enable-ra

绑定接口接口=我尝试仅在环回接口上运行 dnsmasq(以提供本地 DNS 解析)。不幸的是,这似乎会破坏 RA(我在 gphy0 tcpdump 中看不到 RA)。

如果我将这两个配置键替换为端口=0,我在 gphyX 接口上获得了 RA(并且 DNS64 正常工作),但是显然没有本地 DNS 解析。

如何才能同时激活 bind9(仅用于这四个接口上的 DNS64)和 dnsmasq(用于本地 DNS 解析和这四个接口的 RA)?

如果缺少任何相关信息,请告诉我,我会编辑我的问题。

答案1

替换为port=20054在非标准端口上运行 dnsmasq 的 DNS 服务,然后在 BIND 中定义forwardstatic-stub区域以将“内部”域的查询传递到 Dnsmasq,同时让 BIND 处理所有其他 DNS 解析。(类似于对反向代理后面的基于 HTTP 的服务所做的操作。)

相关内容