假设我们有无线接口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
命令“足够智能”,可以找出您正在使用哪个命令或子命令,并可以推断它。