Linux DNS解析异常的排查-阿里云开发者社区

开发者社区> 阿里云支持与服务> 正文

Linux DNS解析异常的排查

简介: 系统内可以ping通内外网网关,ping域名提示unknown host,nslookup正常

1、系统可以正常ssh登陆
_dns1

2、系统内ping域名提示unknown host
dns2

3、系统内ping ip可以通,内外网网关没问题
dns3

4、尝试重启/关闭nscd,测试问题还是没有得到解决。

5、抓包没有对外请求
ping域名的时候抓包,发现没有对外53端口的请求,下图是ping的时候抓包的其他请求
dns5

6、使用strace ping -c 2 www.xxxxx.com
dns6

7、怀疑是selinux问题,检查没有配置
8、使用nslookup测试发现正常
dns8

根据帮助文档ping走的是nss,nslookup不走nss
9、检查nsswitch.conf 对比正常的机器测试没有发现异常
dns9

10、nss没问题,看看hosts,发现有ipv6的痕迹
dns10

11、ipv6处理掉还是不行,继续排查,回滚原始的错误,重点先看resolv.conf
dns11

12、文件有问题,删掉resolvconf再次做尝试
dpkg -l | grep resolv
apt-get remove resolvconf
reboot

vim /etc/resolv.conf
chattr -i /etc/resolv.conf

还是不行,通过云盾的历史记录获取到一个重要线索,被黑过,植入了后门,检查调用库,发现libresolv.so被替换,替换回正常的so文件恢复。
dns123

备注:已经被黑的情况下,建议备份好数据之后,重做系统,没有专业安全人员的话,可以考虑购买阿里云的安全管家服务。https://www.aliyun.com/product/sos

再来一例
抓包看dns解析已经返回结果了,但是系统仍无法识别
dns12

前面各种查,没有明显异常,开启iptables,规则如下
dns13

没有output的限制,结合已经返回数据的这一条规则,怀疑是跟UDP无状态的特性导致
● RELATED - The connection is new, but is related to another connection already permitted.
● ESTABLISHED - The connection is already established.
添加后恢复
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

分享阿里云支持与服务团队最佳实践、经典案例与故障排查。

官方博客
文档