Linux 网卡 Bringing up interface eth0 解决方法

在虚拟机环境中,遇到Linux网卡Bringing up interface eth0的问题,通常是由于复制虚拟机导致的配置不一致。解决办法包括删除并重启以自动生成新配置,或者手动修改vmx文件、ifcfg-eth0文件以及70-persistent-net.rules文件中的MAC地址,使其保持一致。具体步骤涉及改名、删除UUID和hwaddr行、重启,以及备份和修改文件内容。

一般发生在虚拟机上。打开复制来的虚拟机时,选择“copy”而不是“move”,可以避免出现此问题。

解决方法是保证 vmx 文件,ifcfg-eth0 文件, 70-persistent-net.rules 文件中的网卡设备和 MAC 地址一致。

所以方法有两个,(一)是删除,重启时会自动生成一份 (二)是修改文件让它保持一致。

 

(一)方法一:删除

1. 改名 /etc/udev/rules.d/70-persistent-net.rules

cd /etc/udev/rules.d/
mv 70-persistent-net.rules 70-persistent-net.rules.bak

2. 删除 /etc/sysconfig/network-scripts/ifcfg-eth0 的 uuid 和 hwaddr 行

3. 重启机器

init 6

 

(二)方法二:修改

1. 找出 vmx 文件中的 MAC 地址,例如取得的是 “00:0c:29:f8:0f:fb”

2. 先备份 ifcfg-eth0 ,再修改其中的 MAC 地址为 vmx 文件中的。

3. 先备份 /etc/udev/rules.d/70-persistent-net.rules 文件,再修改其中的 MAC 地址为 vmx 文件中的。

修改前

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:06:fc:ae", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS==
### 解决 NetworkManager 无法管理 eth0 设备或设备不可用导致的连接激活失败问题 #### 检查 NetworkManager 状态和服务状态 确认 `NetworkManager` 是否正在运行并处于活动状态。可以使用命令来检查其当前的状态: ```bash systemctl status NetworkManager ``` 如果服务未启用,则可以通过以下命令启动它并设置开机自启[^1]。 #### 配置 NetworkManager 对 eth0 的控制权 当遇到 "device not managed by NetworkManager" 错误时,通常是因为 `/etc/NetworkManager/NetworkManager.conf` 文件中的配置阻止了 NetworkManager 管理特定接口。编辑此文件以确保所有必要的网卡被正确识别和管理: ```ini [main] plugins=ifupdown,keyfile ... [keyfile] unmanaged-devices= ``` 移除任何可能存在的针对 eth0 接口的 unmanaged-device 条目,并保存更改[^4]。 #### 更新网络接口配置文件 对于基于 Debian 和 Ubuntu 的发行版,在 `/etc/network/interfaces` 中定义静态 IP 地址和其他参数可能会干扰 NetworkManager 的操作。建议删除这些手动设定的内容或将它们移动到由 NetworkManager 控制的部分下[^3]: ```plaintext # The loopback network interface auto lo iface lo inet loopback # Let NetworkManager manage all other interfaces allow-hotplug eth0 iface eth0 inet dhcp ``` #### 使用正确的命令重启网络服务 避免直接使用旧式的 init 脚本来停止或重新启动整个网络栈;相反地,应该利用现代 Linux 发行版推荐的服务工具来进行这项工作。例如,要安全地重载网络配置而不必完全关闭现有连接,可执行下面这条指令: ```bash sudo systemctl restart NetworkManager.service ``` 或者仅刷新 DHCP 租约而不停止其他服务: ```bash nmcli con reload ``` #### 添加缺失的依赖项 某些情况下,缺少的关键组件可能导致 NetworkManager 无法正常运作。安装额外的支持包可以帮助解决问题。比如在 Kali Linux 上,确保这两个重要的守护进程已经被安装并且正在运行: ```bash apt-get install -y systemd-resolved avahi-daemon systemctl enable --now systemd-resolved avahi-daemon ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值