我有一个 Ubuntu 20.04 路由器,它使用自己的 IP 作为从路由器公告获得的 DNS 服务器,创建 DNS 循环。我不知道如何从路由器公告中忽略 RDNSS(递归 DNS 服务器)。
环形:
Jan 19 17:26:28 myrouter dnsmasq[1074014]: query[AAAA] mobile.events.data.trafficmanager.net from fe80::21b:21ff:fee0:a6b3
Jan 19 17:26:28 myrouter dnsmasq[1074014]: forwarded mobile.events.data.trafficmanager.net to 127.0.0.53
Jan 19 17:26:28 myrouter dnsmasq[1074014]: query[AAAA] mobile.events.data.trafficmanager.net from fe80::21b:21ff:fee0:a6b3
Jan 19 17:26:28 myrouter dnsmasq[1074014]: forwarded mobile.events.data.trafficmanager.net to 127.0.0.53
网络设置:
- eth0 = 未使用。
- eth1 = 广域网。
99.99.99.162/24
,2a01:xx:xx:xx::2/126
- eth2 = LAN1。
10.50.0.1/16
,2a01:xx:xx:1337:10:50:0:1/64
- 更多局域网,不相关
network:
version: 2
renderer: networkd
ethernets:
eth1:
match:
macaddress: "00:1b:21:e0:a6:b2" <-- non-obfuscated
set-name: eth1
addresses:
- 99.99.99.162/24
- 2a01:xx:xx:xx::2/126
gateway4: 99.99.99.161
gateway6: 2a01:xx:xx:xx::1
nameservers:
addresses:
- 33.33.33.10
- 44.44.44.10
search: [ company, company.nl ]
eth2:
match:
macaddress: "00:1b:21:e0:a6:b3" <-- non-obfuscated; will appear as IPv6 fe80
set-name: eth2
addresses:
- 10.50.0.1/16
- 2a01:xx:xx:1337:10:50:0:1/64
nameservers:
addresses:
- 33.33.33.10
- 44.44.44.10
Dnsmasq 绑定除eth1
and之外的所有内容lo
。Radvdump
显示重启后dnsmasq
,它会发出一个路由器通告,其fe80::21b:21ff:fee0:a6b3
名称为 RDNSS(递归 DNS 服务器)。我们的客户似乎没有接受它,只使用 IPv4 的。但是,路由器本身会:
Link 5 (eth2)
Current Scopes: DNS
DefaultRoute setting: yes
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Current DNS Server: 33.33.33.10
DNS Servers: 44.44.44.10
33.33.33.10
fe80::21b:21ff:fee0:a6b3 <- appears a short while after 'netplan try'
我尝试禁用它:
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.lo.accept_ra = 0
net.ipv6.conf.default.accept_ra = 0
但没有运气。有任何想法吗?
更新基于 RDNSS 的名称服务器不是内核的工作。它是通过您用来管理网络连接的任何方式来完成的。
编辑 误解了你想要的东西,想到了一个太复杂的场景。稍微改写一下:“有一个静态的 ipv4 和 v6 设置,netplan 无论如何都会执行 SLAAC。为什么?”
要解决此问题,请包括
在所需接口的 netplan 配置中,source。
为了完整起见,这里是一个新配置的 Ubuntu 20.10 机器的示例配置:
以下是“我想要 SLAAC,但没有 RDNSS!”:
在 Ubuntu 中,它使用 netplan 进行管理。在测试它时,我无法在没有 RDNSS 的情况下使用 SLAAC。我建议静态设置您的 IPv6 地址。
这是来自
netplan
的手册页: