设置网络接口的开启和关闭到底意味着什么?

设置网络接口的开启和关闭到底意味着什么?

假设我们有无线接口wlan0。实际上是做什么的ip link set wlan0 up/down?给 NIC 通电和断电?网上很多网络配置指南漫不经心地将其描述为简单的“启动接口”,但这到底是什么意思呢?

答案1

当您打开/关闭接口时,您只是在驱动程序上设置一个标志,表明接口的状态是打开还是关闭。网卡仍处于通电状态,可以参与WOL(LAN唤醒)等。

如果查看接口的输出,状态标志将显示在此处:

$ ip a l eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:72:14:26 brd ff:ff:ff:ff:ff:ff
    inet 192.168.56.101/24 brd 192.168.56.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe72:1426/64 scope link
       valid_lft forever preferred_lft forever

状态UP

如果我告诉ip将其置于关闭状态:

$ ip l set eth1 down

$ ip a l eth1
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 08:00:27:72:14:26 brd ff:ff:ff:ff:ff:ff
    inet 192.168.56.101/24 brd 192.168.56.255 scope global eth1
       valid_lft forever preferred_lft forever

但是你怎么知道它没有关闭?

简单的。使用ethtool进一步询问 NIC。

$ ethtool eth1
Settings for eth1:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: Unknown (auto)
    Supports Wake-on: umbg
    Wake-on: d
    Current message level: 0x00000007 (7)
                   drv probe link
    Link detected: no

此输出的关键部分是Link detected: no.那是因为它处于 DOWN 状态。如果我们把它恢复过来:

$ ethtool eth1 | grep Link
    Link detected: yes

在这种情况下,这Link detected: yes意味着 NIC 已启动并且可以检测到插入其中的以太网电缆。

上面使用的命令

请注意,我使用命令的简写符号:

  • a==addr
  • l==list

还有更多...该ip命令“足够智能”,可以找出您正在使用哪个命令或子命令,并可以推断它。

参考

相关内容