问题现象
云服务器 ECS Linux 服务器内部无法正常解析域名。
问题原因
可能的原因包括:
DNS 设置问题
防火墙策略问题
NSCD 服务问题
处理办法
可以依次进行如下检查:
1、通过如下指令,检查系统是否正确设置了 dns 服务器。
[root@Aliyun ~]# cat /etc/resolv.conf
# Generated by NetworkManager
# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com
nameserver 10.242.197.247
nameserver 10.242.197.248
如果没有 DNS 的配置则需要添加设置,公网服务器可以设置为港湾云服务如下公共 DNS:
nameserver 223.5.5.5
nameserver 223.6.6.6
如果是纯内网的服务器没有公网,请提交工单 咨询售后技术获取具体的内网 DNS 地址。
2、检查防火墙 iptables,查看是否有拦截 53 端口的相关规则。
可以先使用命令 service iptables stop 关闭防火墙对比测试。如果存在 iptables 规则,尝试删除 deny 策略或修改规则为 ACCEPT 策略。
3、检查是否开启 dns 缓存服务 nscd:
通过 service nscd status 命令查看服务状态。如果已经开启,尝试使用命令 service nscd stop 关闭服务后再对比测试。