我在 x64 上运行 Ubuntu 18.04。
这台机器已经运行了一个星期左右,做着它所做的所有平常事情,直到今天,我注意到它已经从我的本地网络中掉线了。在控制台上,“ifconfig”命令显示没有分配给 eth0 设备的 IP 地址(注意:它实际上不再是 eth0;他们现在给它起一个随机字母集合的名称,但想法是一样的。我仍然将其视为 eth0)。
现在,至于造成这种情况的原因;我真的不在乎;我只是假设某种软件故障。问题是:如何解决?我想最简单的解决方案就是重新启动,但我更愿意避免这种情况。
在过去,您只需拔下/重新插入以太网电缆,它就会自行修复。例如,这始终适用于 Windows。直到最近,它一直在 Linux 中工作。我注意到当前/后期版本的 Linux 似乎并没有像以前那样自我修复。
此外,在某些版本的 Linux(但显然不是 Ubuntu)上,您通常可以通过在所有正在运行的进程中搜索包含字符串“dh”,然后您可以从手册页中找出如何让它再次运行。但是,该方法似乎不适用于 Ubuntu 18.04。无论如何,我无法弄清楚哪个程序正在执行 dhcp'ing。
无论如何,通过执行以下手动操作,我能够让它再次工作(注意:这很有效,因为我碰巧知道它之前应该和确实拥有的 IP 地址):
- ifconfig eth0-但不是真的 wxyz
- 路由添加默认gw wxy1
- 编辑 /etc/resolv.conf - 放入名称服务器(在我的网络上,也是 wxy1)
但是,显然,我想知道正确的方法,让路由器按预期分配 IP 地址。
网络重启
sudo ifconfig enxxxxxx down
# 将 enxxxxxx 替换为正确的网络设备sudo ifconfig enxxxxxx up
注意:网络管理器
注意:
dhclient
可能需要使用。见man dhclient
。网络名称(可选)
它实际上不再是 eth0 了。他们现在给它起一个随机字母集合的名称,但想法是一样的。我仍然认为它是 eth0。
其实并不是随机的。它标识设备的插槽/端口。
如果您想再次使用旧/传统(eth0、wlan0 等)网络名称...
sudo -H gedit /etc/default/grub
寻找:
将其更改为:
保存编辑。
sudo update-grub
reboot
解析.conf
不要手动编辑 /etc/resolv.conf。它在文件中这么说。
编辑您的问题并向我展示:
ls -al /etc/resolv.conf
cat /etc/resolv.conf