$ ip link | grep vboxnet
10: vboxnet0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
在尖括号中,它说UP
。尖括号表示什么?
更进一步,它声称state DOWN
。这似乎与之前的信息相冲突。接口是up还是down?
在手册页中,ip-link
、ip
和ip-address
,我找不到尖括号的含义。
答案1
尖括号内有一个列表旗帜(= 开/关类型属性)的接口。在标志之后,列出了非二进制属性(也称为属性)。
有两个概念你应该注意:
- 行政国家:您命令网络接口处于的状态(即活动或不活动)
- 运行状态:网络接口实际所处的状态
如果配置网络接口,其管理状态将被设置为UP
立即,但只有在物理接口成功上电、检测到来自另一端的链路脉冲、自动协商已完成(如果适用)后,操作状态才会改变)并且接口和驱动程序已完全准备好传递流量。
在ip link
输出中,该UP
标志描述了接口的管理状态。有两个相关标志:LOWER_UP
当卡物理上准备好流量时以及NO-CARRIER
如果另一端没有信号时添加该标志。这两个标志将被视为操作状态的一部分。
因此,您的vboxnet0
接口已被命令启动(= 活动),但当前没有虚拟机连接到该虚拟接口,因此该接口被标记NO-CARRIER
,因此在操作上处于关闭状态,至少在某些虚拟机开始使用它之前是这样。
实际的内核级标志被称为IFF_UP
“接口管理启用”和IFF_RUNNING
“接口操作就绪”。旧ifconfig
命令过去只是直接显示它们(没有IFF_
前缀),但是缺少RUNNING
不容易被注意到,所以ip link
命令现在有这样的逻辑:
IF (IFF_UP is set) AND (IFF_RUNNING is not set)
THEN display an extra flag "NO-CARRIER" in the flags field
内核级标志在netdevice(7)
手册页, 在下面“描述”→“Ioctl”。