当“eth0”接口不存在时,我的 Debian 12 不断出现该接口

当“eth0”接口不存在时,我的 Debian 12 不断出现该接口

一般来说,我是 Debian 和 Linux 的新手,我有一个奇怪的问题,我不知道如何解决。我正在进行 Debian 测试(目前是书虫)。

在启动过程中,我的 Debian 总是说它无法启动网络接口,我应该检查我的网络服务以获取更多信息。当我检查日志时sudo journalctl -u networking.service,我发现以下消息:

ifup[861]: Cannot find device "eth0"
dhclient[851]: Failed to get interface index: No such device
ifup[851]: Failed to get interface index: No such device
ifup[851]: If you think you have received this message due to a bug rather
ifup[851]: than a configuration issue please read the section on submitting
ifup[851]: bugs on either our web page at www.isc.org or in the README file
ifup[851]: before submitting a bug.  These pages explain the proper
ifup[851]: process and the information we find helpful for debugging.
ifup[851]: exiting.
dhclient[851]: 
dhclient[851]: If you think you have received this message due to a bug rather
dhclient[851]: than a configuration issue please read the section on submitting
dhclient[851]: bugs on either our web page at www.isc.org or in the README file
dhclient[851]: before submitting a bug.  These pages explain the proper
dhclient[851]: process and the information we find helpful for debugging.
dhclient[851]: 
dhclient[851]: exiting.
ifup[784]: ifup: failed to bring up eth0
systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: networking.service: Failed with result 'exit-code'.
systemd[1]: Failed to start Raise network interfaces.

我认为这是我的问题的原因,因为我的以太网接口被称为enp3s0. not eth0,并ifup尝试引发不存在的网络接口。

但是,我不知道它为什么要寻找eth0.我的/etc/network/interfaces文件如下;你可以看到它没有提到eth0任何地方,只有lo, wlp2s0(wifi) 和enp3s0

auto lo
iface lo inet loopback

auto wlp2s0
iface wlp2s0 inet static
 address 192.168.1.39
 netmask 255.255.255.0
 gateway 192.168.1.1
 dns-nameservers 192.168.1.1
 wpa-ssid "***"
 wpa-psk "***"

auto enp3s0
iface enp3s0 inet static
 address 192.168.1.39
 netmask 255.255.255.0
 gateway 192.168.1.1
 dns-nameservers 8.8.8.8

任何建议将不胜感激。谢谢你!

答案1

我不确定我是如何修复它的,但我已经修复了它。以下是我今天尝试过的(最终解决了问题)以供将来参考。 其中一些可能是不相关的,我不能保证如果有人尝试我所做的事情是否不会破坏任何东西。我备份了数据并尝试了在网上找到的任何解决方案。

  1. 删除了connman( sudo apt remove connman)。完成此操作后,我的网络中断了。我认为它无法连接到除默认服务器(192.168.1.1,我的路由器)之外的任何 DNS 服务器,并且似乎只能连接少数站点(例如 Reddit 和 Google)。我尝试 ping 几个其他站点,但收到“网络无法访问”错误。
  2. 登录到我的路由器 Web 配置(在我的例子中为 192.168.1.1),在基于 MAC 的静态 IP 分配表中删除并重新添加我的 enp3s0 接口的 MAC 地址,将其映射到 192.168.1.39。
  3. 阅读后删除/etc/network/interfaces.d/setup文件(与 内容相同的文件)/etc/network/interfacesDebian 用户论坛主题
  4. 使用 重新启动 enp3s0,sudo ifconfig enp3s0 down然后使用sudo ifconfig enp3s0 up。运行后一个命令时,我收到RLNETLINK: File exists错误。我尝试遵循 Ébe Isaac 的回答树莓派线程sudo ip addr flush dev enp3s0并在成功调出界面之前运行。
  5. 在同一线程中注释掉wlp2s0我下面的 theo-brown 答案中的重复网络网关行。/etc/network/interfaces/重新启动路由器和笔记本电脑。网络不再中断,启动错误消息也消失了。

答案2

我正在使用类似 debian 的 parrot os 操作系统。前几天更新后,我的网络消失了,敲着手鼓跳舞后,我意识到RTL8111/8168/8411 PCI Express千兆以太网控制器驱动程序被列入黑名单。
我注释掉了文件中的行/etc/modprobe.d/r8168-dkms.conf

#alias  pci:v00001186d00004300sv00001186sd00004B10bc*sc*i*  r8168 
    
#alias  pci:v000010ECd00008168sv*sd*bc*sc*i*            r8168

然后以 root 身份运行这些命令:

update-initramfs -u
reboot

然后网络就OK了。

相关内容