我如何知道 Linux 内核识别哪些网络接口设备?

我如何知道 Linux 内核识别哪些网络接口设备?

我一直在虚拟机 (VirtualBox) 下使用 Debian Linux,并注意到,在当前的虚拟机配置下,安装期间在 /etc/network/interfaces 中配置的以太网设备是 eth2(我通常认为是 eth0、eth1 等)。我还注意到 /dev 目录中似乎没有任何 ethX 设备文件。这一切都让我疑惑,在自动检测网络设备的配置中,如何才能知道内核为这些设备分配的名称。我假设 /proc 文件系统中有一些东西,但到目前为止,我还没有看到任何特别的东西。

答案1

您可以通过运行以下命令查看所有网络设备:

ifconfig -a

调试以太网驱动程序的另一个技巧是查看 dmesg:

dmesg|less

您将看到每个驱动程序正在加载并创建以太网设备。

您提到您的以太网设备更改为 eth2。您是否复制或移动了虚拟机?通常,当您复制虚拟机时,它会重新创建 MAC 地址,以免与前一个副本冲突。如果发生这种情况,udev将为“新卡”分配另一个 eth* 设备,并为“丢失”的卡保存以前的设备。这些规则存储在:

/etc/udev/rules.d/

通常在名为 ##-persistant-net.rules 的文件中。您可以安全地删除存储在此文件中的分配并重新启动以重新分配以太网设备。

相关内容