输出中的“状态 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。
那个部分里面尖括号表示接口本身已启动。