一个只会对着文档安装的小白
欢迎大神进群交流

linux关闭ipv6的ra

前两天给一台机器配置ipv6的时候出现个奇怪的问题:

刚开始能ping通,过几分钟就不行了,重启systemd-networkd后能短暂恢复,过几分钟又嗝屁,如此反复。。

找半天原因最后通过查看路由表发现问题:

linux关闭ipv6的ra

图中红框的这条路由就是问题所在,通过看到proto ra可以得知这条路由是上级路由器发的ra通告。机器收到ra后systemd-networkd就会自动加上这条路由。。这个时候你手动用ip -6 route del去删是没用的,过一会又给你自动加上。。

解决办法,编辑对应网卡的networkd配置文件:

nano /etc/systemd/network/20-wired.network

在[Network]里面加上IPv6AcceptRA=no:

[Network]  Address=xxx.xxx.xxx.xxx/24  Address=xxx:xxx:xxx:xxx:x::x/80  IPv6AcceptRA=no

重启networkd:

systemctl restart systemd-networkd

如果机器没用networkd,也可以通过修改内核配置来关闭ra:

echo 'net.ipv6.conf.all.accept_ra = 0' >> /etc/sysctl.d/99-sysctl.conf  sysctl --system
赞(0)
未经允许不得转载:PEAKM BLOG » linux关闭ipv6的ra

评论 抢沙发

登录

找回密码

注册