上下接口?

上下接口?
$ 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-linkipip-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”。

相关内容