net.ipv6.conf.all.forwarding 设置为 1 后,IPv6 默认路由被删除

net.ipv6.conf.all.forwarding 设置为 1 后,IPv6 默认路由被删除

当我将我的 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 进行更改,重启可以清除它。

相关内容