Fedora
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
輸出中看到這些消息,我該如何解決呢?
隨意仔細檢查
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_functionality