在Linux云服务器的使用过程中,DNS解析配置直接影响服务器是否能正常访问外部域名,手动配置DNS是解决解析异常问题的常用手段,不同类型的Linux发行版配置方式存在一定差异,下面会逐一介绍对应的操作方法。

临时配置DNS
临时配置DNS的方式修改后立即生效,但服务器重启后会失效,适合临时测试或者应急场景使用,操作方式是直接修改resolv.conf文件。
操作步骤
首先使用文本编辑器打开/etc/resolv.conf文件,这里以vim编辑器为例,执行下面的命令:
# 打开resolv.conf文件 vim /etc/resolv.conf
在文件中添加或者修改nameserver字段,指定你要使用的DNS服务器地址,常用的公共DNS包括114.114.114.114、8.8.8.8等,示例如下:
# 添加DNS服务器地址 nameserver 114.114.114.114 nameserver 8.8.8.8
修改完成后保存退出即可,不需要重启任何服务,配置会立即生效。
永久配置DNS
永久配置DNS的方式在服务器重启后不会失效,不同Linux发行版的配置路径和方式有区别,下面分别介绍主流发行版的配置方法。
CentOS/RHEL系统配置
CentOS 7及以上版本默认使用NetworkManager管理网络,永久配置DNS需要修改网卡对应的配置文件。
首先查看当前服务器的网卡名称,执行下面的命令:
# 查看网卡名称 ip addr
假设网卡名称为ens33,打开对应的网卡配置文件:
# 打开网卡配置文件,注意替换为你的实际网卡名称 vim /etc/sysconfig/network-scripts/ifcfg-ens33
在文件末尾添加下面的配置项,指定DNS服务器地址:
# 设置DNS服务器,多个DNS用空格隔开 DNS1=114.114.114.114 DNS2=8.8.8.8 # 设置是否自动从DHCP获取DNS,no表示不自动获取 PEERDNS=no
修改完成后保存退出,然后重启网络服务让配置生效:
# 重启网络服务 systemctl restart NetworkManager
Ubuntu/Debian系统配置
Ubuntu 18.04及以上版本和Debian 10及以上版本默认使用netplan管理网络,永久配置DNS需要修改netplan的配置文件。
首先查看netplan的配置文件名称,执行下面的命令:
# 查看netplan配置文件 ls /etc/netplan/
假设配置文件名称为01-netcfg.yaml,打开该文件:
# 打开netplan配置文件,注意替换为你的实际文件名 vim /etc/netplan/01-netcfg.yaml
在配置文件中添加DNS服务器配置,注意yaml文件的缩进格式必须正确,示例如下:
network:
version: 2
ethernets:
ens33: # 替换为你的实际网卡名称
dhcp4: no
addresses: [192.168.1.100/24] # 替换为你的实际IP地址
gateway4: 192.168.1.1 # 替换为你的实际网关
nameservers:
addresses: [114.114.114.114, 8.8.8.8] # DNS服务器地址
修改完成后保存退出,执行下面的命令让配置生效:
# 应用netplan配置 netplan apply
配置生效验证
配置完成后,需要验证DNS是否生效,常用的验证方式有两种。
使用nslookup验证
执行下面的命令测试域名解析是否正常:
# 解析百度域名,查看是否能正常返回IP nslookup www.baidu.com
如果输出中包含正确的IP地址,说明DNS配置生效。
使用ping验证
也可以直接ping一个公网域名,查看是否能正常解析并连通:
# ping百度域名 ping www.baidu.com
如果能正常返回ping的响应结果,说明DNS解析没有问题。
注意事项
- 修改任何配置文件之前,建议先备份原文件,避免修改错误后无法恢复。
- 如果使用DHCP获取IP地址,部分系统会自动覆盖
resolv.conf文件的内容,这时候需要按照永久配置的方式设置PEERDNS或者netplan的nameservers配置。 - 如果配置后DNS不生效,可以检查是否有多个DNS配置文件冲突,或者防火墙是否拦截了DNS请求端口53。
LinuxDNS配置云服务器resolv_conf修改时间:2026-06-12 04:24:29