在 Arch Linux 系统中,DNS(域名系统)配置是网络连接的核心环节之一,正确的 DNS 设置能够确保域名解析的高效性和稳定性,直接影响上网体验,Arch Linux 作为一款以简洁、高效和用户自定义为核心的发行版,提供了灵活的 DNS 配置方式,既可以通过传统的系统文件进行设置,也能借助现代网络管理工具实现动态调整,本文将详细介绍 Arch Linux 中 DNS 配置的多种方法、常见问题及优化建议,帮助用户根据实际需求选择最适合的方案。

DNS 基础概念与重要性
DNS 是互联网的电话簿,负责将人类可读的域名(如 www.example.com)转换为机器可识别的 IP 地址,在 Arch Linux 中,DNS 配置的正确性直接关系到网络连接的可用性,DNS 设置错误,可能导致域名解析失败、访问网站延迟或无法连接网络,了解 DNS 的工作原理及配置方法对 Arch Linux 用户至关重要。
传统 DNS 配置方法:/etc/resolv.conf
在 Arch Linux 中,最直接的 DNS 配置方式是编辑 /etc/resolv.conf 文件,该文件记录了系统使用的 DNS 服务器地址,默认情况下可能由网络管理工具(如 systemd-resolved 或 dhcpcd)自动生成,用户可以通过以下步骤手动配置:
-
打开文件:使用文本编辑器(如
vim或nano)以 root 权限打开文件:sudo nano /etc/resolv.conf
-
添加 DNS 服务器:在文件中添加以下内容(以 Google DNS 和 Cloudflare DNS 为例):
nameserver 8.8.8.8 nameserver 1.1.1.1
-
保存文件:保存并退出编辑器。
需要注意的是,直接修改 /etc/resolv.conf 可能会被网络管理工具覆盖,为了避免这种情况,可以创建一个符号链接或禁用相关工具的自动管理功能。
使用 systemd-resolved 管理 DNS
Arch Linux 推荐使用 systemd-resolved 服务来管理 DNS 配置,该服务提供了本地 DNS 缓存和解析功能,能够提高网络性能,以下是配置步骤:

-
启用服务:确保
systemd-resolved服务已启动并启用:sudo systemctl enable --now systemd-resolved
-
查看 DNS 服务器:通过以下命令查看当前 DNS 配置:
resolvectl status
-
设置 DNS 服务器:编辑
/etc/systemd/resolved.conf文件,取消注释并修改DNS行:DNS=8.8.8.8 1.1.1.1
-
重启服务:重启
systemd-resolved以应用更改:sudo systemctl restart systemd-resolved
使用 NetworkManager 配置 DNS
如果系统使用 NetworkManager 作为网络管理工具,可以通过图形界面或命令行配置 DNS:
-
图形界面:打开
nm-connection-editor,选中网络连接,点击“IPv4”选项卡,将“DNS 服务器”字段设置为所需的 IP 地址。 -
命令行:使用
nmcli命令修改 DNS 配置:
sudo nmcli connection modify "连接名称" ipv4.dns "8.8.8.8 1.1.1.1" sudo nmcli connection down "连接名称" && sudo nmcli connection up "连接名称"
DNS over HTTPS (DoH) 与 DNS over TLS (DoT)
为了增强隐私和安全性,Arch Linux 用户可以启用 DoH 或 DoT。systemd-resolved 支持 DoH,只需在 /etc/systemd/resolved.conf 中添加以下配置:
DNSOverTLS=opportunistic DNSStubListenExtra=127.0.0.53:53
重启服务后,DNS 查询将通过加密通道进行。
常见问题与优化建议
- DNS 解析缓慢:尝试更换 DNS 服务器(如 Cloudflare
1.1.1或 Quad99.9.9),或启用systemd-resolved的本地缓存功能。 - 配置被覆盖:检查是否启用了
dhcpcd或NetworkManager的自动 DNS 管理,必要时禁用相关功能。
FAQs
Q1: 如何在 Arch Linux 中检查当前 DNS 配置?
A1: 使用以下命令查看 DNS 服务器设置:
resolvectl status
或直接查看 /etc/resolv.conf 文件内容。
Q2: 为什么手动修改 /etc/resolv.conf 后配置会失效?
A2: 因为 systemd-resolved 或 NetworkManager 等工具会自动管理该文件,建议通过相关工具的配置文件(如 /etc/systemd/resolved.conf)进行永久修改。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/285306.html