ifconfig 显示 UP 而 ip link 显示 DOWN

aut*_*ach 11 networking ifconfig linux-networking interface

我正在查看 Linux 系统上接口的状态。当我使用该ifconfig命令时,它显示链接已打开。

master $ ifconfig docker0
docker0   Link encap:Ethernet  HWaddr 02:42:b9:25:be:2d
          inet addr:172.18.0.1  Bcast:0.0.0.0  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
Run Code Online (Sandbox Code Playgroud)

但是,当我运行ip link命令时,它已关闭。

master $ ip link show docker0
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default
    link/ether 02:42:b9:25:be:2d brd ff:ff:ff:ff:ff:ff
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下吗?

Ant*_*lov 19

在 ifconfigUP标志中表示管理状态,而不是链接状态。如果您有“链接”,则输出中RUNNING存在标志ifconfig。反正ifconfig是弃用了,使用ip工具。

ip工具链接状态由标志LOWER_UP和显示NO-CARRIER

  • ifconfig `UP` 标志意味着接口是管理启用的。但是`ip link`显示更多选项:`UP`/`DOWN`标志是管理状态,`LOWER-UP`/`NO-CARRIER`显示底层媒体状态(例如以太网链接状态),`state Up`/ `state Down` 显示全部功能。 (2认同)