更改Linux域名服务器(DNS)的核心在于直接修改/etc/resolv.conf配置文件或通过网络管理工具(如Netplan、NetworkManager)进行持久化配置,确保系统解析域名时指向正确的IP地址,以下是详细操作步骤和注意事项:

直接修改resolv.conf文件(临时生效)
适用场景:快速测试或临时更改DNS,重启后失效。
操作步骤:
- 打开终端,输入命令:
sudo nano /etc/resolv.conf
- 删除原有内容,添加目标DNS服务器IP(如Google DNS):
nameserver 8.8.8.8 nameserver 8.8.4.4 - 保存退出(Ctrl+O,Ctrl+X)。
验证方法:
执行nslookup example.com,检查解析结果是否来自新DNS。
通过Netplan配置(Ubuntu 18.04+永久生效)
适用场景:Ubuntu系统需持久化DNS配置。
操作步骤:

- 编辑Netplan配置文件:
sudo nano /etc/netplan/01-netcfg.yaml
- 在
nameservers部分添加DNS IP:nameservers: addresses: [8.8.8.8, 8.8.4.4]
- 应用配置:
sudo netplan apply
注意:YAML文件需严格缩进,否则会报错。
使用NetworkManager(CentOS/RHEL)
适用场景:RedHat系发行版,支持图形化与命令行。
命令行操作:
- 修改网卡配置文件(如
ifcfg-ens33):sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33
- 添加或修改以下字段:
DNS1=8.8.8.8 DNS2=8.8.4.4 - 重启网络服务:
sudo systemctl restart NetworkManager
关键注意事项
- 优先级问题:若
/etc/resolv.conf被系统自动覆盖,需检查/etc/resolvconf/resolv.conf.d/head文件或禁用resolvconf服务。 - DNS测试工具:使用
dig或nslookup验证解析结果,避免缓存干扰(sudo systemd-resolve --flush-caches)。 - 安全建议:优先选择可信DNS(如Cloudflare的
1.1.1),避免DNS劫持风险。
相关问答
Q1:修改DNS后仍解析到旧地址,如何解决?
A:检查本地DNS缓存(sudo systemd-resolve --statistics),或重启systemd-resolved服务:

sudo systemctl restart systemd-resolved
Q2:如何同时配置IPv4和IPv6的DNS?
A:在配置文件中添加IPv6地址,
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844 互动引导:你在更改Linux域名服务器时遇到过哪些问题?欢迎在评论区分享解决方案!
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复