使用 radvd 向所有客户端公布 Google(或任何)IPv6 DNS 地址?

使用 radvd 向所有客户端公布 Google(或任何)IPv6 DNS 地址?

我正在尝试让运行 dd-wrt(DD-WRT v3.0-r35030M kongac(02/19/18))的 NETGEAR R7000 通过其补充 IPv6 DNS 服务器提供 IPv6 地址。

IPv4 工作正常,我已修改配置以通过此 dhcp-option 命令通告 IPv4 DNS 服务器。我将其放入DD-WRT>Services>Services>Dnsmasq>Additional Dnsmasq Options。(图片:https://i.stack.imgur.com/DNm0Z.png

dhcp-option=6,198.206.14.241,138.197.25.214

Windows 成功获取 IPv4 的 DNS 地址。

Connection-specific DNS Suffix   : ***
Description                      : ***
Physical Address                 : ***
DHCP Enabled                     : Yes
IPv4 Address                     : 192.168.1.7
IPv4 Subnet Mask                 : 255.255.255.0
Lease Obtained                   : 2018, May 18 09:56:24
Lease Expires                    : 2018, May 19 09:49:32
IPv4 Default Gateway             : 192.168.1.1
IPv4 DHCP Server                 : 192.168.1.1
IPv4 DNS Servers                 : 198.206.14.241, 138.197.25.214
IPv4 WINS Server                 : 
NetBIOS over Tcpip Enabled       : Yes
IPv6 Address                     : 2601:2c5:c000:4c63:bc0d:9d58:6daf:81cf
Link-local IPv6 Address          : fe80::bc0d:9d58:6daf:81cf%14
IPv6 Default Gateway             : fe80::2e30:33ff:fe44:7029%14
IPv6 DNS Server                  : 

问题是我无法让 DD-WRT 对 IPv6 执行相同的操作。在上面的 Windows 示例中,IPv6 没有附带的 IPv6 DNS 地址,甚至没有提供路由器的 IP 地址(路由器也有 DNS 服务器)。我必须手动附加 IPv6 地址才能解析任何 IPv6 域名。

这是我的 radvd 配置DD-WRT>Setup>IPV6

interface br0 {
    AdvSendAdvert on;
    prefix 2601:2c5:c000:4c63::/64 {
            AdvOnLink on;
            AdvRouterAddr on;
    };
    RDNSS 2001:4860:4860::8888 2001:4860:4860::8844 {
            AdvRDNSSLifetime 3600;
    }; # does not work?
};

整个 IPV6 配置:(图片:https://i.stack.imgur.com/UvgTB.png


我计划在内部 DNS 服务器上使用 Pihole。当我设置为时,Pihole 在 IPv4 上工作得很好dhcp-optiondhcp-option=6,192.168.1.12例如,客户端将 IPv4 DNS 服务器设置为192.168.1.12)。IPv6 DNS 查询被转发,从而击败了广告拦截器。

答案1

@RonMaupin 帮助我改变了策略,只向我的内部网络通告两个 IPv4/6 DNS 地址,而不是强制采用。一个客户端 (Apple iPod) 列出了两个 DNS 地址,因此似乎不需要强制采用。

@MichaelHampton 的建议让我意识到 Windows 确实通过 RDNSS 接受 IPv6 DNS 服务器;看来我的计算机更喜欢 IPv4。我认为netsh前缀策略可能会解决这个问题。


我更新了我的配置如下(我只为两种协议宣传 1 个地址):

radvd(ipv6)配置:

interface br0 {
    AdvSendAdvert on;
    prefix 2601:2c5:c000:4c63::/64 {
        AdvOnLink on;
        AdvRouterAddr on;
    };
    RDNSS 2601:2c5:c000:4c63:2ee0:e9ba:76fe:5dc5 {
        AdvRDNSSLifetime 3600;
    };
};

dnsmasq (IPv4):

dhcp-option=6,192.168.1.12 

使用nslookup,我的 Pihole 服务器确实能够解析 IPv4/6。Five Filter 的广告拦截测试在屏蔽广告时效果良好,Google IPv6 测试确认 IPv6 连接,这是我的目标。


感谢大家帮助解决这个问题!:)

相关内容