阅读522 返回首页    go 技术社区[云栖]


linux DNS解析异常的排查

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.baidu.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

最后更新:2017-06-14 22:35:35

  上一篇:go  用Java代码调用MaxCompute
  下一篇:go  yum报错 pycurl.so: undefined symbol: CRYPTO_num_locks