VirtualBox安装Ubuntu系统,出现“connect: Network is unreachable” 和cannot find device "eth0"问题

总结:还是StackOverflow靠谱,查了一下午资料,最后在Overflow上找到了答案。

I had this problem, there's 4 interfaces on my server, which should have been: eth0, eth1, eth2, eth3 but they were renamed to eth4, eth5, eth6, eth7.

I couldn't figure out how to get them back but eventually found out I could just delete the 70-persistent-net.rules file to make the system reset the interface names back to default

Like so:

rm /etc/udev/rules.d/70-persistent-net.rules

Then a reboot should get everything up and running again:

shutdown -r now

链接:http://stackoverflow.com/questions/10712007/dhcp-on-ubuntu-server-12-04-fails-to-load-eth0


70-persistent-net.rules

Debian/Ubuntu 使用 udev 管理硬體設備,也包括了網路卡。網路卡設備的內容會記錄在 /etc/udev/rules.d/70-persistent-net.rules 。它也會影嚮 NetworkManager 的運作。

當我們使用備份功能將系統複製到新的硬體上之後,會因為新網卡的 MAC address 與 70-persistent-net.rules 內的 MAC address 不相同,導致網路卡未被啟用、網路無法連線。此時,只需要刪除 70-persistent-net.rules ,再重開機,讓系統重新產生 70-persistent-net.rules 即可。

或者,手動編輯 70-persistent-net.rules ,將 ATTR{address}=="..." 的內容刪掉,再重開機。


### Ubuntu 系统中 “connect: Network is unreachable问题的解决方案 --- #### 问题描述 当在 Ubuntu 系统中执行 `ping` 命令或其他网络操作时,可能出现错误提示:“connect: Network is unreachable”。这通常表明系统的网络配置存在问题,可能是由于网卡未正确加载、IP 配置丢失或虚拟机网络模式不恰当等原因引起的。 --- #### 可能原因分析 1. **网卡设备缺失或名称变更** 在某些情况下,系统更新可能导致网卡名称发生变化(如从 `eth0` 改为 `ens33`)。如果 `/etc/network/interfaces` 文件中的配置仍指向旧的网卡名,则会导致网络不可用[^4]。 2. **静态 IP 配置错误** 若手动设置了静态 IP 地址,但未正确指定网关或 DNS 服务器,也可能引发此类问题[^4]。 3. **虚拟机网络模式不当** 对于运行在 VMware 或 VirtualBox 上的 Ubuntu 虚拟机而言,选择了不适合当前场景的网络模式(如仅主机模式而非桥接模式),同样会造成外部网络访问失败[^3]。 4. **NetworkManager 状态异常** 如果 NetworkManager 服务停止工作或者其状态文件损坏,也会干扰正常的网络功能[^1]。 --- #### 解决方案 ##### 方法一:重置 NetworkManager 状态 可以通过以下步骤尝试恢复 NetworkManager 的正常运作: ```bash sudo service network-manager stop sudo rm /var/lib/NetworkManager/NetworkManager.state sudo service network-manager start ``` 完成上述命令后重新检查网络状况,使用 `ifconfig` 或者 `ip addr show` 查看是否有有效的网卡及相应的 IP 分配[^1]。 ##### 方法二:调整虚拟机网络设置 如果是基于虚拟化平台部署的 Ubuntu 实例,请按需修改虚拟机的网络选项至适合的形式: - **桥接模式(Bridged Mode)**:让虚拟机能像独立实体一样加入到真实局域网里; - **NAT 模式(NAT Mode)**:允许虚拟机通过宿主机间接上网; - **仅主机模式(Host-only Mode)**:建立封闭型内部通信环境。 推荐优先选用桥接模式以便获得全面连通能力[^3]。 ##### 方法三:修正网卡配置文件 编辑位于路径 `/etc/network/interfaces` 下的网络接口定义文档,确保其中包含了类似下面这样的条目来声明目标网卡以及分配给它的参数: ```plaintext auto ens33 iface ens33 inet dhcp ``` 这里假设实际存在的物理适配器名为 `ens33` 并采用 DHCP 自动获取地址的方式。保存更改之后记得重启 networking 服务使改动生效: ```bash sudo systemctl restart networking.service ``` 另外还可以借助 GUI 工具来进行图形化的管理界面设定[^4]。 ##### 方法四:验证并修复路由表项 即使拥有正确的本地 IP 设置,缺少通往外界的有效默认路由依旧会让数据包无处可发。因此有必要核查现有路由记录是否存在遗漏之处: ```bash route -n ``` 如果没有发现预期的目标入口点(通常是某个特定形式的网关地址),则应该补充进去: ```bash sudo route add default gw <GATEWAY_IP> ens33 ``` 请依据实际情况替换 `<GATEWAY_IP>` 具体的网卡代号[^2]。 --- #### 后续建议 为了防止未来再次遭遇类似的麻烦,可以采取一些预防措施: - 定期备份重要的网络配置资料以防意外覆盖; - 更新操作系统前仔细阅读发行说明了解潜在变动影响; - 关注官方支持渠道及时掌握最新补丁动态。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WitsMakeMen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值