静看光阴荏苒
不管不顾不问不说也不念

linux关闭ipv6的ra

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

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

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

图中红框的这条路由就是问题所在,通过看到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
赞(3)
未经允许不得转载:荒岛 » linux关闭ipv6的ra
分享到: 更多 (0)

评论 4

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    :mrgreen:

    John9个月前 (06-15) Google Chrome 114.0.0.0 Google Chrome 114.0.0.0 Android 10 Android 10回复
  2. #2

    IPv6AcceptRA=给老子爬 :cool:

    句句子8个月前 (07-02) Firefox 121.0 Firefox 121.0 Windows NT x64 Edition Windows NT x64 Edition回复
  3. #3

    你好,可以出一个systemd和nftables配置ipv6 slaac的教程吗?

    krucs6个月前 (09-07) Google Chrome 116.0.0.0 Google Chrome 116.0.0.0 Android 10 Android 10回复

分享创造快乐

广告合作资源投稿