Debian 12 DNS 配置指南

本指南介绍如何在 Debian 12 中查看、临时修改以及永久锁定 DNS 配置。


一、查看当前 DNS 配置

使用以下命令查看当前的 DNS 设置:

cat /etc/resolv.conf

二、方法 1:临时修改 DNS

该方法适用于短期测试或一次性修改 DNS 设置。注意:系统重启后该配置可能会恢复默认值。

步骤 1:编辑配置文件

sudo nano /etc/resolv.conf

将文件内容修改为以下内容:

nameserver 8.8.8.8   # Google DNS
nameserver 1.1.1.1   # Cloudflare DNS

保存并退出:

Ctrl + O → Enter → Ctrl + X

步骤 2:验证 DNS 是否生效

cat /etc/resolv.conf    # 确认配置是否保存  
nslookup google.com     # 测试 DNS 解析是否成功

⚠️ 注意:此配置为临时修改,系统重启或 network manager 服务重载后可能会被覆盖。


三、方法 2:永久锁定 DNS 配置

该方法可防止系统自动覆盖 /etc/resolv.conf 文件,适用于需要长期指定 DNS 的场景。

步骤 1:先按方法 1 修改 /etc/resolv.conf

确保 /etc/resolv.conf 内容为所需的 DNS 设置(例如 8.8.8.8 和 1.1.1.1)。

步骤 2:锁定配置文件,防止被系统改写

sudo chattr +i /etc/resolv.conf

这将为该文件添加不可变(immutable)属性,使其无法被修改。

步骤 3:验证锁定状态

lsattr /etc/resolv.conf

如果输出中包含 i 字符,如下所示:

----i--------e---- /etc/resolv.conf

说明文件已成功锁定。

如需解锁(恢复可修改状态)

sudo chattr -i /etc/resolv.conf

四、建议

  • 若系统使用了 systemd-resolvedNetworkManager 管理网络,建议从其配置源修改 DNS,而非直接编辑 resolv.conf
  • 推荐将 DNS 修改写入 /etc/systemd/resolved.conf 或 NetworkManager 的连接配置中。

五、参考 DNS 服务地址

服务商 IPv4 地址 IPv6 地址
Google 8.8.8.8 2001:4860:4860::8888
Cloudflare 1.1.1.1 2606:4700:4700::1111
OpenDNS 208.67.222.222 2620:119:35::35