网络接口状态未知

网络接口状态未知

输出中的“状态 UNKNOWN”是什么意思ip link?例如

10: enp56s0f3u4u2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether X:X:X:X:X:X brd ff:ff:ff:ff:ff:ff

据我所知,网络接口可以处于 UP 或 DOWN 状态。

答案1

每个接口至少有两种不同的状态:

  • 管理状态(接口是否已启用)。这只是启动/关闭,由您或网络软件控制;使用ip link set eth0 up或启用接口后,您可以看到它指示为示例开头附近的ifconfig eth0 up标志。<UP>

  • 运行状态(接口是否作品)。启用后,并不意味着它已经可以传输数据 - 以太网需要连接电缆;Wi-Fi 需要与 AP 关联;基本上,它需要一个载体<LOWER_UP>对于物理接口,这显然是一个外部因素,无法用命令控制;只有当载波存在时,它才会显示在输出中。

    实际上,这比上行/下行更复杂,例如,当 Wi-Fi 网络使用 WPA-Enterprise 时关联后就有了运营商,但直到完成 WPA 握手后还不能发送数据,因此存在第三级“运行”状态:“休眠”。

    (对于 VLAN 等虚拟接口,还有另一个“lowerlayerdown”。)

因此,“状态 UNKNOWN”不是管理上的“上/下”开关,而是来自系统本身的运行状态,显示了一系列值。此状态需要由驱动程序提供 - 并且(至少根据 Linux 文档)并非所有驱动程序都具有设置实际操作状态所需的位。因此,如果您的以太网驱动程序尚未这样做,您将看到默认值 IF_OPER_UNKNOWN (0)。

答案2

的输出ip可能会产生误导。

当接口启动时,您所查看的部分从 DOWN 变为 UNKNOWN,而当实际连接建立时,则变为 UP。

那个部分里面尖括号表示接口本身已启动。

相关内容