华为云云解析服务提供的内网DNS地址是125.1.250和125.1.251,这是所有区域通用的默认内网DNS地址,部分区域还支持100.125.1.252至100.125.1.254的扩展地址。如果你在华为云上买了ECS(云服务器),又不想域名解析走公网绕一圈,直接用这两个地址就行,下面把“华为dns是多少”这件事彻底说清楚,顺带把内网DNS和公共DNS的区别、配置方法、常见坑都翻一遍。

华为云内网dns地址是多少?不同区域有区别吗
先说上文归纳:华为云内网DNS地址在主区域基本是固定的,无论是华北、华东、华南还是西南,你创建VPC(虚拟私有云)时默认分配的内网DNS就是100.125.1.250和100.125.1.251,这两个地址属于华为云内部保留网段,只在云内网可达,公网环境下你ping不通也访问不了。
为什么有些资料说还有其他地址
华为云官方文档里,内网DNS地址除了主用和备用之外,还列了100.125.1.252、100.125.1.253、100.125.1.254三个扩展地址,这些地址不是每个区域都开放,也不建议你手动去改。默认情况下,你只需要记住100.125.1.250和100.125.1.251,这是绝大多数ECS实例实际生效的配置。
海外区域的内网DNS一样吗
不一样,如果你买了华为云新加坡、曼谷、约翰内斯堡等海外区域的ECS,内网DNS地址可能不是100.125开头的网段,行业共识认为,海外区域的内网DNS地址以控制台实际显示为准,手动配置时别照抄国内地址,去VPC控制台看一眼子网详情里的DNS配置,那才是准的。
华为云dns怎么改?ECS和VPC两种场景实操
搞清楚了“华为dns是多少”,接下来要解决的是“怎么改”,很多场景下你不需要改:比如在VPC内访问RDS数据库、Redis缓存实例,或者用内网域名解析负载均衡,默认的100.125.1.250就能正常工作,但如果你自己搭了DNS服务,或者想用阿里的DNS、114DNS,就要手动改。
修改VPC子网的DNS配置
这是最推荐的方式,改一次,整个子网下的所有ECS都生效,操作路径如下:
- 登录华为云控制台,进入VPC服务
- 左侧菜单点子网,找到你的目标子网
- 点击子网名称进入详情,找到DNS服务器地址一栏
- 点修改,填入你想要的内网DNS地址,比如100.125.1.250和100.125.1.251
- 保存后,子网内新建的ECS会自动继承新配置
已经存在的ECS不会自动更新,你需要重启ECS或者手动刷新一下网络配置,让新的DNS设置生效,这个坑很多人踩过,改完子网发现老机器还是走旧DNS,就是因为没刷新。
单独修改某台ECS的DNS
如果你只想着重改一台机器,直接登录ECS改系统配置就行。
Ubuntu/Debian系统:

- 编辑
/etc/netplan/目录下的YAML配置文件 - 在
nameservers部分添加地址,格式为addresses: [100.125.1.250, 100.125.1.251] - 执行
sudo netplan apply生效
CentOS/RHEL系统:
- 编辑
/etc/sysconfig/network-scripts/ifcfg-eth0 - 追加
DNS1=100.125.1.250和DNS2=100.125.1.251 - 执行
systemctl restart network重启网络服务
修改之前先确认一下你的ECS是不是DHCP自动分配IP,如果是,系统重启后配置文件可能被覆盖重置,届时要回到子网层面去改才持久。
华为云vpc dns设置和公共dns怎么选
“华为云vpc dns设置”本质上是让你在云内网解析资源,而公共DNS,比如华为云的119.29.29.29、阿里的223.5.5.5、谷歌的8.8.8.8,是给公网域名解析用的,两者不是替代关系,是分工关系。
内网DNS解决什么问题
- 解析云上内部域名:比如RDS的内网域名、ELB的内网域名,这些域名在公网DNS上是查不到的,只有内网DNS认识
- 降低解析延迟:内网DNS走的是云骨干网,解析速度比绕公网快一个量级
- 避免公网DNS污染:内网DNS不经过公网,不会被运营商劫持或污染
公共DNS解决什么问题
- 解析普通公网域名:比如百度、淘宝、GitHub
- 突破部分网络限制:有些运营商DNS对某些域名解析结果不干净,换公共DNS能改善
- 缓存命中率高:公共DNS用户基数大,热门域名的解析缓存命中率极高
实际配置建议
如果你在ECS上要同时访问云内资源和公网网站,最好的方案是保留内网DNS为主,不额外配置公共DNS,华为云的内网DNS本身就能递归解析公网域名,你不需要把公共DNS填进去。
有一种情况需要调整:你的ECS要访问特定公网服务,而内网DNS的递归解析结果不理想,这时可以把公共DNS作为备用地址填进去,格式类似这样:
DNS1=100.125.1.250
DNS2=119.29.29.29
但要注意,一旦DNS1的解析超时,系统才会切到DNS2,这个切换过程可能造成短暂的域名解析失败,据华为云官方文档说明,内网DNS的解析能力和稳定性要优于公共DNS,所以尽量不要把公共DNS放在主位置。
华为云dns不生效的排查思路
改完DNS不生效,多数情况下不是地址填错了,而是系统缓存或网络配置没刷新,按下面的顺序排查:
- 确认地址填对:在ECS上执行
cat /etc/resolv.conf,看nameserver是不是你期望的地址 - 清DNS缓存:Ubuntu执行
systemd-resolve --flush-caches,CentOS执行systemctl restart nscd(前提是装了nscd) - 检查安全组:确保出方向UDP 53端口没被安全组规则挡掉
- 看路由:执行
ip route,确认默认路由指向VPC网关,而不是走别的出口
一个比较容易被忽略的问题是:ECS的网卡可能绑定了多个DNS配置,比如你在控制台改了子网DNS,但ECS内部还有NetworkManager管理的连接配置,两者冲突时,以系统内部配置优先,建议执行nmcli connection show看一眼当前活跃连接用的DNS是什么。

域名解析速度慢?先检查是不是DNS选错了
很多用户觉得“华为云解析慢”,最后查下来是DNS没配对,比如你在北京区域的ECS上填了新加坡区域的DNS地址,跨区域访问必然慢,内网DNS是分区域的,虽然100.125.1.250在北京和广州都能用,但解析结果会带上区域路由信息,跨区域不是最优路径。
行业共识认为,ECS和RDS、ELB等云服务同区域部署时,解析性能最佳,如果你有多地部署的需求,每个区域的VPC都单独配置对应区域的内网DNS,不要跨区域共用。
Q&A:华为云内网DNS常见问题
华为云内网DNS和公共DNS能混用吗?
可以混用,但不推荐,内网DNS本身具备递归解析公网域名的能力,混用公共DNS反而可能引入额外的解析延迟和不确定性,特殊情况比如内网DNS解析某个特定域名异常,可以在备选位置临时加一个公共DNS,问题解决后建议移除。
改了VPC子网DNS后,已有ECS不生效怎么办?
已有ECS不会自动获取新的DNS配置,你可以手动登录ECS执行dhclient命令重新获取DHCP租约,或者在系统网络设置里直接修改DNS,最省事的办法是重启ECS,重启后DHCP会重新下发配置。
华为云内网DNS地址在国内和海外区域能通用吗?
不通用,国内区域的内网DNS是100.125.1.250和100.125.1.251,海外部分区域有独立的内网DNS网段,具体地址以控制台VPC子网详情页显示的为准,海外ECS如果填了国内地址,域名解析大概率会失败。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/528515.html