![net.ipv6.conf.all.forwarding 设置为 1 后,IPv6 默认路由被删除](https://linux22.com/image/740730/net.ipv6.conf.all.forwarding%20%E8%AE%BE%E7%BD%AE%E4%B8%BA%201%20%E5%90%8E%EF%BC%8CIPv6%20%E9%BB%98%E8%AE%A4%E8%B7%AF%E7%94%B1%E8%A2%AB%E5%88%A0%E9%99%A4.png)
当我将我的 ubuntu VM 设置为转发 IPv6 数据包时,我看到 ipv6 默认路由器消失了。
下面是我启动 ubuntu VM 时的代码片段:
tester@myubuntu:~$ ip -6 route
2001:420:293:242d::/64 dev ens192 proto kernel metric 256 expires 2591987sec pref medium
fe80::/64 dev ens192 proto kernel metric 256 pref medium
default via fe80::76a2:e6ff:fec6:2bff dev ens192 proto ra metric 1024 expires 1787sec hoplimit 64 pref medium
default via fe80::76a2:e6ff:fec6:2e3f dev ens192 proto ra metric 1024 expires 1777sec hoplimit 64 pref medium
当我将转发标志设置为1时:
sudo sysctl -w net.ipv6.conf.all.forwarding=1
VM v6 默认路由器已消失:
tester@myubuntu:~$ ip -6 route
2001:420:293:242d::/64 dev ens192 proto kernel metric 256 expires 2591987sec pref medium
fe80::/64 dev ens192 proto kernel metric 256 pref medium
我还设置了 sudo sysctl -w net.ipv6.conf.all.accept_ra=2,但似乎没有帮助。
我只是想知道我是否错过了一些设置?
答案1
我的 /etc/sysctl.conf 中有以下内容:
net.ipv6.conf.all.forwarding=1
net.ipv6.conf.enp4s0/666.accept_ra = 2
并且它运行良好(这里是 Debian 9 路由器)。
这可能是一个愚蠢的问题 - 你重启过吗?我注意到内核中的某些 IPv6 位不喜欢在正在运行的机器上仅通过 sysctl 进行更改,重启可以清除它。