将网络设置重置为默认设置(特别是 DNS)

将网络设置重置为默认设置(特别是 DNS)

我有一个远程用户从 Windows 切换到 Ubuntu 22.04,在安装 WireGuard 并添加我们提供的配置后,他遇到了严重的 DNS 问题。值得注意的是,我们公司有许多 Linux 用户使用 VPN,所以我真的很困惑这里最初发生了什么。

他最初可以连接到我们的(分割隧道)VPN,但无法访问其背后的任何资源。我们发现将我们的 DNS 添加到他的 /etc/resolv.conf 中可以暂时解决此问题。几天后,他随机无法访问任何内容,并且我们的 DNS 再次从他的 resolv.conf 中丢失。他的 resolv.conf 中没有其他 DNS 条目,因此他自然无法解析任何内容。我们重新添加了条目,他可以访问所有内容。

今天他又无法访问互联网。我让他重新安装 Ubuntu,但他已经设置好了开发环境和其他东西,不想再做这些了。

此时,我觉得我们已经尝试和修改了太多东西,以至于当我无法远程访问他的机器时,我认为我无法解决这个问题。我搜索了如何将 DNS 和网络重置为默认值,但我找到的所有方法似乎都很旧,或者有太多方法可以做到这一点,我不确定哪种方法最好和最一致。

所以总结一下:我该如何让这个人的网络配置恢复到开箱即用的状态,以便我们可以重新开始使用他的 WireGuard 配置?

谢谢!

答案1

我要求他重新安装 Ubuntu,但他已经设置好了开发环境和其他东西,不想再做这些了。

一般来说这不是一个好主意,但理论上他可以重新安装而不格式化,这样设置就会保持不变。他最好能解决手头的问题。

我已经搜索过如何将 DNS 和网络重置为默认值,但我发现的一切似乎都很旧,或者有太多方法可以做到这一点,我不确定哪种方法最好且一致。

那不应该是需要的。/etc/resolv.conf是一个从三个来源获取更新的链接:

  • resolvconf(服务器;命令行;通常未安装)
  • 网络管理器守护进程(桌面;您可以通过删除用户创建的连接来重置它)
  • DHCP 客户端(不太可能)

如果您这样做sudo nano /etc/resolv.conf并添加了 DNS,您可以测试您的设置,但是当用户...时它将被删除。

  • 登出
  • 重新启动系统
  • 重新连接到网络
  • 重新启动网络服务

使用resolvconf

如果尚未安装,请安装sudo apt install resolvconf并创建文件:

sudo nano /etc/resolvconf/resolv.conf.d/nameservers

然后向该文件添加 DNS:

nameserver 8.8.8.8

(这是 Google DNS;请用您的 DNS 替换)

启动并启用它:

sudo systemctl start resolvconf.service
sudo systemctl enable resolvconf.service

就这样吧。

通过命令行管理网络(您可以从桌面在网络中执行相同操作):

nmcli con

将显示连接名称,并将 google DNS 添加到网络管理器(用自己的 DNS 替换):

nmcli con mod {connection} ipv4.dns "8.8.8.8 8.8.4.4"

然后你可以使用以下命令重新启动它:

nmcli con down {connection}
nmcli con up {connection}

在任何更改(resolvconf 或 networkmanager)之后,您可以通过执行以下操作来检查cat /etc/resolv.conf

相关内容