已编辑 3 几周前 通过 ExtremeHow 编辑团队
翻译更新 3 几周前
更改 Ubuntu 上的 DNS 设置是一项重要技能,适合那些希望管理自己网络设置的人。DNS 代表域名系统,就像互联网的电话簿。它将人类可读的域名转换为机器可读的 IP 地址。
通过更改 DNS 设置,您可以更好地控制系统与互联网主机的交互方式。这可以提高您的浏览速度、安全性和可靠性,因为这允许您的设备向不同的 DNS 服务器请求信息,而不是使用您的互联网服务提供商(ISP)提供的默认 DNS 服务器。
DNS 通过将像 www.example.com
这样的域名转换为像 192.168.1.1
这样的 IP 地址,发挥着至关重要的作用。这个过程称为 DNS 解析,对于访问网站、发送电子邮件等至关重要。
想象一下如果每个网站都通过 IP 地址访问而不是名称;这对于用户来说将是繁琐且不切实际的。DNS 通过维护分布式数据库和提供解析服务使得这一过程变得简单。
您可能会问,为什么需要更改 DNS 设置?这是因为几个原因:
让我们用简单明了的术语来探索可用于在 Ubuntu 上更改 DNS 设置的方法。我们将了解 Ubuntu 中各种可能的配置。
这个方法简单易行,不需要太多技术知识。Ubuntu 的网络管理器提供了一个图形用户界面,可以轻松更改网络连接设置。
8.8.8.8
和 8.8.4.4
。通过这些步骤,您已经使用图形界面更新了 DNS 设置。如果您有多个网络,每个网络连接可能需要不同的配置。
如果您熟悉使用终端,您可以通过命令行更改 DNS 设置,这有时更快且提供更多控制。
/etc/resolv.conf
文件 /etc/resolv.conf
通常包含 DNS 配置。然而,在许多现代系统中,它由系统服务管理,并可能在重启后恢复。要临时编辑它,您可以使用:
$ sudo nano /etc/resolv.conf
$ sudo nano /etc/resolv.conf
打开文件后,添加或修改行以更改 DNS 条目:
nameserver 8.8.8.8 nameserver 8.8.4.4
nameserver 8.8.8.8 nameserver 8.8.4.4
保存文件并退出编辑器。请记住,直接对 /etc/resolv.conf
所做的更改通常是暂时的。
resolvectl
(用于使用 systemd-resolve 的系统)许多 Ubuntu 系统使用 systemd-resolved;因此,用于管理 DNS 设置的命令是 resolvectl
。
$ sudo resolvectl dns <YOUR_INTERFACE_NAME> 8.8.8.8 8.8.4.4 $ sudo resolvectl domain <YOUR_INTERFACE_NAME> example.com
$ sudo resolvectl dns <YOUR_INTERFACE_NAME> 8.8.8.8 8.8.4.4 $ sudo resolvectl domain <YOUR_INTERFACE_NAME> example.com
将 <YOUR_INTERFACE_NAME>
替换为您的网络接口,例如无线的 wlan0
或有线连接的 eth0
。
要永久设置 DNS 设置,您应配置您的网络管理器或 netplan
(使用它的系统)。
在 Ubuntu 中使用 Netplan,您可以通过编辑位于 /etc/netplan/
的 YAML 配置文件定义永久的 DNS 设置。
编辑适当的 YAML 文件:
$ sudo nano /etc/netplan/01-netcfg.yaml
$ sudo nano /etc/netplan/01-netcfg.yaml
在文件中,添加或修改以下结构:
network: version: 2 ethernets: eth0: dhcp4: yes nameservers: addresses: [8.8.8.8, 8.8.4.4]
network: version: 2 ethernets: eth0: dhcp4: yes nameservers: addresses: [8.8.8.8, 8.8.4.4]
保存并退出。使用以下命令应用更改:
$ sudo netplan apply
$ sudo netplan apply
有时候,即使更改了 DNS 设置,您可能会遇到诸如 DNS 缓存未清除或者设置未被应用的问题。以下是一 些可以尝试的常规提示,用于故障排查:
systemd-resolved
服务通常有帮助:
$ sudo systemctl restart systemd-resolved.service
$ sudo systemctl restart systemd-resolved.service
$ resolvectl status
$ resolvectl status
/etc/netplan/01-netcfg.yaml
文件所做的更改格式正确,因为 YAML 对文件结构很敏感。通过遵循这些方法,您可以有效地管理 Ubuntu 的 DNS 设置,无论是通过图形界面还是直接命令行方法。这不仅让您对网络设置有更好的控制,还能通过使用可靠、快速和安全的 DNS 服务器提供更好的浏览体验。
始终记得通过访问网站或运行各种网络检查来正确测试 DNS 更改。这可以确保您的 DNS 配置正确应用,并改善系统的网络功能如预期般的能力。
如果你发现文章内容有误, 您可以