enp3s0:链接尚未准备好

enp3s0:链接尚未准备好

我的输出中有一些奇怪的消息dmesg

[    7.588762] IPv6: ADDRCONF(NETDEV_UP): enp3s0: link is not ready
[    7.589616] IPv6: ADDRCONF(NETDEV_UP): enp3s0: link is not ready
[    7.591897] IPv6: ADDRCONF(NETDEV_UP): eno1: link is not ready
[    7.827124] IPv6: ADDRCONF(NETDEV_UP): eno1: link is not ready

一般来说我不需要ipv6并且它被禁用:

~$ cat /etc/sysctl.conf 
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

甚至eno1还被拔掉电源。那么为什么我在输出中看到这些消息dmesg以及如何修复它?

答案1

请随时仔细检查ip -6 addr。但这些特定的消息往往是一个谜,最好忽略:)。

我启用了 IPv6(但没有 IPv6 路由器或任何东西),我得到

[    2.229087] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    4.445878] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

由此我得出结论,这与 IPv6 重复地址检测 (DAD) 有关,用于链路本地地址 (LLA) 的无状态地址自动配置 (SLAAC)。即选择一个随机本地地址,它必须检查它是否在本地网络中使用,并等待几秒钟才能收到该结果。

$ ip -6 addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 fe80::12bf:48ff:fe79:f3a1/64 scope link 
       valid_lft forever preferred_lft forever
$ ip -6 route
fe80::/64 dev eth0  proto kernel  metric 256

没有becomes ready消息或任何 IPv6 地址,听起来很安全!

让它消失

但也许您迫切需要减少攻击面和/或根本不信任运行任何 ipv6 代码。在这种情况下,您可以在内核命令行上配置另一个禁用选项。例如,按照您的发行版文档在 GRUB 中进行设置。选项是ipv6.disable=1.

https://wiki.archlinux.org/index.php/IPv6#Disable_functionity

相关内容