如何为华为云ECS配置DNS?,有哪些步骤?
- 前端开发
- 2026-08-13
- 9
在华为云ECS上配置DNS,核心是通过修改操作系统网络配置文件或使用网络管理工具自定义DNS服务器,并建议优先保留华为云内网DNS以保障内网资源解析。
华为云ECS配置DNS教程:核心操作步骤
了解华为云ECS的默认DNS
华为云为每台ECS分配了VPC内DNS地址,通常为100.125.x.x段,具体地址因区域而异,华北地区的默认内网DNS地址多为100.125.0.1和100.125.1.1,这些地址用于解析云内资源(如RDS、Redis)的内网域名,如果你需要自定义DNS,比如使用公共DNS或自建DNS,就需要手动修改,默认情况下,ECS通过DHCP自动获取DNS,如果使用VPC默认配置,无需额外操作。
华为云ECS DNS设置方法:临时修改与永久生效
根据操作系统不同,配置方式有所区别,下面按Linux和Windows系统分别说明。
Linux系统:
-
临时修改(不持久)
直接编辑/etc/resolv.conf文件,添加nameserver行。
nameserver 8.8.8.8 nameserver 114.114.114.114这种方式立即生效,但重启或网络服务重启后可能被覆盖,因为系统可能由NetworkManager或systemd-resolved管理其内容。
-
永久修改
根据发行版选择合适的方法:

- CentOS/RHEL 7+
使用nmcli工具修改连接配置: nmcli con mod eth0 ipv4.dns "8.8.8.8 114.114.114.114" nmcli con up eth0
或者直接编辑/etc/sysconfig/network-scripts/ifcfg-eth0,增加DNS1=8.8.8.8和DNS2=114.114.114.114,然后重启网络服务systemctl restart network。
- Ubuntu 18.04+
修改/etc/netplan/01-netcfg.yaml,在对应网卡下添加nameservers地址。 network: ethernets: eth0: dhcp4: true nameservers: addresses: [8.8.8.8, 114.114.114.114]
然后执行sudo netplan apply使配置生效。

- 使用systemd-resolved
编辑/etc/systemd/resolved.conf,设置DNS=8.8.8.8 114.114.114.114,然后重启systemd-resolved服务:sudo systemctl restart systemd-resolved,注意,如果系统使用systemd-resolved管理DNS,还需要将/etc/resolv.conf链接到/run/systemd/resolve/resolv.conf。
- CentOS/RHEL 7+
Windows系统:
- 打开“网络和共享中心” → 更改适配器设置 → 右键以太网 → 属性 → 选择Internet协议版本4 (TCP/IPv4) → 属性 → 使用下面的DNS服务器地址,填入首选和备用DNS,首选8.8.8.8,备用114.114.114.114,确认后即可生效。
使用Cloud-Init在初始化时配置DNS
在创建ECS时,通过userdata脚本可以自动化配置DNS,在Linux系统下,可以在userdata中加入以下命令:
#!/bin/bash echo "nameserver 100.125.0.1" > /etc/resolv.conf echo "nameserver 8.8.8.8" >> /etc/resolv.conf
但注意,这种方式可能被系统后续覆盖,建议结合NetworkManager或netplan配置文件,业内专家指出,使用Cloud-Init配合netplan或nmcli脚本,可以确保首次启动时DNS配置正确,适合大规模部署。
验证配置:使用nslookup或dig
配置完成后,打开终端(Windows使用命令提示符),输入nslookup www.baidu.com,如果返回类似Address: 180.101.49.11的响应,说明DNS解析正常,Linux系统还可以使用dig www.baidu.com查看更详细的解析信息,检查/etc/resolv.conf文件确认当前DNS服务器地址是否已更新。
华为云ECS DNS配置常见问题与优化建议
配置后DNS不生效?可能的原因
- 配置文件被覆盖:/etc/resolv.conf可能被DHCP客户端或NetworkManager自动重写,解决方案是使用永久配置方式,如

nmcli或netplan,并确保NetworkManager配置正确,如果使用systemd-resolved,需要正确设置链接。
- 防火墙规则:安全组出方向规则或操作系统防火墙(iptables/firewalld)可能阻止UDP 53端口,检查安全组策略,确保允许DNS请求流量。
- 多网卡配置冲突:如果ECS有多张网卡,检查默认路由和DNS设置是否指向正确的网卡,可以通过ip route和nmcli确认。
华为云ECS配置DNS和公网DNS如何选择
很多用户纠结于使用华为云内网DNS还是公共DNS(如114.114.114.114、8.8.8.8),行业共识认为,内网DNS在解析云内资源时延迟更低,且不产生公网流量费用,但公网DNS在解析公网域名时可能更稳定,最佳实践是混合使用:将内网DNS作为首选,公网DNS作为备用,在配置文件中将内网DNS地址放在第一个,公网DNS放在后面,这样既能解析内网域名,又能通过公网DNS解析外部域名,有些用户会拿华为云ECS配置DNS和阿里云比较,两者在配置方法上大同小异,关键区别在于内网DNS地址的不同,配置时需根据各自云平台调整。
华为云ECS配置DNS服务器的注意事项
- 不要完全移除内网DNS:如果删除内网DNS,将无法解析其他云服务的内网地址,如RDS、DCS等,导致应用连接失败,务必保留至少一个内网DNS地址。
- 使用自建DNS:如果需要自建DNS服务器,确保ECS能访问到自建DNS的IP地址,且安全组开放对应端口(UDP 53),自建DNS需要配置正确的转发规则。
- 区域差异:不同区域的内网DNS地址可能不同,建议在华为云控制台“VPC”详情中查看当前VPC的DNS地址,如果你在北京区域开通ECS,可以登录控制台找到对应VPC的DNS服务器地址,注意,不同区域地址不能混用。
如何恢复华为云ECS的默认DNS
如果需要恢复默认,只需将nameserver改回华为云内网DNS地址,或者删除自定义配置,让系统通过DHCP重新获取,对于Linux系统,可以删除/etc/resolv.conf中自定义的nameserver行,并确保DHCP客户端正常运行,对于使用nmcli的系统,可以重置连接配置:nmcli con mod eth0 ipv4.dns ""然后重启网络,对于Windows,在TCP/IPv4属性中选择“自动获得DNS服务器地址”。
华为云ECS配置DNS常见问题解答
华为云ECS配置DNS后无法解析内网域名怎么办?
检查nameserver列表中是否包含华为云内网DNS地址,如果只配置了公网DNS,必然无法解析内网域名,解决方法是添加内网DNS地址作为首选,例如100.125.0.1,同时确认内网域名正确,且ECS与目标云服务在同一VPC内,如果使用系统维护的/etc/resolv.conf,确保配置已持久化。
华为云ECS配置DNS和阿里云ECS配置DNS有哪些区别?
两者在配置方法上相似,都是通过修改操作系统网络配置文件实现,主要区别在于内网DNS地址不同:华为云内网DNS通常为100.125.0.1和100.125.1.1,而阿里云内网DNS地址一般为100.100.2.136和100.100.2.138(具体以控制台为准),华为云推荐使用nmcli或netplan,阿里云可能推荐不同工具,但原理一致,核心把握内网DNS地址的准确性即可。
华为云ECS配置DNS需要额外付费吗?
配置DNS本身不产生费用,华为云内网DNS服务免费使用,如果使用公网DNS,解析请求通常免费,但公网DNS查询产生的流量(如ECS访问公网DNS服务器)可能计入公网流量费用,具体以华为云计费标准为准,据华为云官网,DNS解析服务无额外收费。
配置DNS是华为云ECS运维中的基础操作,掌握临时和永久修改方法,并合理搭配内网和公网DNS,能确保云服务器网络解析高效稳定,通过上述步骤和实践建议,你可以轻松应对各类DNS配置需求,保障业务正常运行。