问题现象

服务器 ECSLinux 服务器内部无法正常解析域名

问题原因

可能的原因包括:

DNS 设置问题

防火墙策略问题

NSCD 服务问题

处理办法可以依次进行如下检查:

1、通过如下指令,检查系统是否正确设置了dns 服务器。

[root@Aliyun~]#cat/etc/resolv.conf#GeneratedbyNetworkManager#Nonameserversfound;tryputtingDNSserversintoyour#ifcfgfilesin/etc/sysconfig/network-scriptslikeso:##DNS1=xxx.xxx.xxx.xxx#DNS2=xxx.xxx.xxx.xxx#DOMAIN=lab.foo.combar.foo.comnameserver10.242.197.247nameserver10.242.197.248

如果没有 DNS 的配置则需要添加设置,公网服务器可以设置为港湾云服务如下公共 DNS:

nameserver223.5.5.5nameserver223.6.6.6

如果是纯内网的服务器没有公网,请提交工单咨询售后技术获取具体的内网 DNS地址。

2、检查防火墙 iptables,查看是否有拦截 53 端口的相关规则。

可以先使用命令service iptables stop关闭防火墙对比测试。如果存在 iptables 规则,尝试删除 deny 策略或修改规则为 ACCEPT 策略。

3、检查是否开启 dns 缓存服务 nscd:

通过service nscd status命令查看服务状态。如果已经开启,尝试使用命令service nscd stop关闭服务后再对比测试。