如何在不重启的情况下恢复以太网连接?

如何在不重启的情况下恢复以太网连接?

我在 x64 上运行 Ubuntu 18.04。

这台机器已经运行了大约一周,一切正常,直到今天,我注意到它已经从我的本地网络中断开。在控制台上,“ifconfig”命令显示没有分配给 eth0 设备的 IP 地址(注意:它实际上不再是 eth0;他们现在给它起了一个随机字母组合的名字,但想法是一样的。我仍然认为它是 eth0)。

现在,至于造成这种情况的原因;我并不关心;我只是假设某种软件故障。问题是:如何修复?我认为最简单的解决方案就是重新启动,但我更愿意避免这样做。

在过去,你只需拔下/重新插入以太网电缆,它就会自行修复。例如,这在 Windows 下始终有效。直到最近,它在 Linux 中也始终有效。我注意到,当前/更高版本的 Linux 似乎不再像以前那样自行修复。

此外,在某些版本的 Linux(但显然不是 Ubuntu)上,您可以找出他们正在使用哪个 DHCP 程序(例如,dhcpcd)(似乎他们一直在更改它),通常是通过在所有正在运行的进程中搜索包含字符串“dh”的进程,然后您可以从手册页中找出如何让它再次运行。但是,该方法似乎在 Ubuntu 18.04 中不起作用。无论如何,我无法弄清楚哪个程序正在执行 dhcp。

无论如何,我可以通过执行以下手动操作使其再次工作(注意:这有效是因为我碰巧知道它之前应该有的 IP 地址):

  1. ifconfig eth0-但不是真的 wxyz
  2. 路线添加默认网关 wxy1
  3. 编辑 /etc/resolv.conf - 输入名称服务器(在我的网络上,也是 wxy1)

但是,显然,我想知道正确的方法,让路由器按照预期分配 IP 地址。

答案1

网络重启

sudo ifconfig enxxxxxx down# 用正确的网络设备替换 enxxxxxx

sudo ifconfig enxxxxxx up

注意:NetworkManager

注意:dhclient可能需要使用。请参阅man dhclient

网络名称(选修的)

它实际上不再是 eth0;他们现在给它起了一个名字,这是一个随机的字母集合,但想法是一样的。我仍然认为它是 eth0。

它其实不是随机的。它标识设备的插槽/端口。

如果您想要再次使用旧的/传统的(eth0,wlan0等)网络名称...

sudo -H gedit /etc/default/grub

寻找:

"quiet splash"

更改为:

"quiet splash net.ifnames=0"

保存编辑。

sudo update-grub

reboot

解析配置文件

不要手动编辑 /etc/resolv.conf。文件中已经明确说明了。

编辑您的问题并向我展示:

ls -al /etc/resolv.conf

cat /etc/resolv.conf

相关内容