Linux

未知的介面 eth0,即使 ethtool eth0 顯示資訊

  • April 6, 2020

我在虛擬機 (VM) 上執行 kali linux。今天啟動機器,發現eth0介面不見了。

所以我嘗試ifup eth0啟動它,但得到了輸出:unknown interface eth0.

但是如果我執行ethtool eth0然後我得到這個輸出:

Settings for eth0:
   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
   Supported FEC modes: Not reported
   Advertised link modes:  10baseT/Half 10baseT/Full 
                           100baseT/Half 100baseT/Full 
                           1000baseT/Full 
   Advertised pause frame use: No
   Advertised auto-negotiation: Yes
   Advertised FEC modes: Not reported
   Speed: 1000Mb/s
   Duplex: Full
   Port: Twisted Pair
   PHYAD: 0
   Transceiver: internal
   Auto-negotiation: on
   MDI-X: Unknown (auto)
   Supports Wake-on: d
   Wake-on: d
   Current message level: 0x00000007 (7)
                  drv probe link
   Link detected: no

這個錯誤的原因是,在這裡,eth0意味著兩個不同的東西:

  • 實際的介面名稱,如核心、iproute2工具、ethtooldhclient等確實存在的,
  • 或者ifupdown工具中的介面配置,指向實際的介面名稱。在這裡,如果從未在配置中定義,則ifup不知道:這是錯誤消息。eth0

重現此錯誤的簡單方法:

# ip link add name veth5 type veth peer name veth6
# ethtool veth5
Settings for veth5:
   Supported ports: [ ]
[...]
   Link detected: no
# ifup veth5
ifup: unknown interface veth5

所以介面沒有失去。ifupdown工具尚未配置為使用它。

對於您的情況,您可以在末尾添加/etc/network/interfaces(或在單獨的文件中,例如/etc/network/interfaces.d/eth0,如果interfaces文件在其配置中包含interfaces.d目錄)這兩行:

auto eth0
iface eth0 inet dhcp

ifupdown工具等ifup命令知道它並在啟動時使用 DHCP 對其進行配置。我不知道為什麼以前沒有這樣做。

在我之前的假範例中,我添加了 likewiseveth5的定義(在 Debian 9 上):

# ifup -a
Internet Systems Consortium DHCP Client 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/veth5/1e:96:59:c3:e4:0c
Sending on   LPF/veth5/1e:96:59:c3:e4:0c
Sending on   Socket/fallback
DHCPDISCOVER on veth5 to 255.255.255.255 port 67 interval 8

引用自:https://unix.stackexchange.com/questions/545958