解决dns被劫持

1.怎样确定DNS是否被劫持呢:
只需要查询一个并不存在的域名
nslookup n.safeidc.cn
如果返回了一个ip地址,说明dns被劫持了,假设此ip地址为:123.4.5.6
那么用8.8.8.8域名服务器解析一下此错误域名试试:
nslookup n.safeidc.cn  8.8.8.8
输出的内容如下:
[root@master etc]# nslookup n.safeidc.cn  8.8.8.8
Server:         8.8.8.8
Address:        8.8.8.8#53
** server can’t find n.safeidc.cn : NXDOMAI
提示内容说明此域名并不存在

2.那么如何处理这种情况呢?
由于ubuntu16.04使用dnsmasq对域名进行解析,那么修改dnsmasq的配置文件:
因为linux处理dns请求有个限制,在/etc/resolv.conf中只能配置三个dns地址,那么干脆在/etc/resolv.conf文件中只保留localhost为域名服务器,然后新建一个存储外部域名服务器地址的配置文件,并将该配置文件加入到dnsmasq的配置项resolv-file中,例如:

2.1新建配置文件/etc/resolv.my.conf,往其中填入内容如下:
nameserver 8.8.8.8
nameserver 8.8.4.4

2.2往/etc/dnsmasq.conf中添加以下内容:
resolv-file=/etc/resolv.my.conf

2.3重新启动dnsmasq
systemctl restart dnsmasq
注意:如果重启dnsmasq超时,那么就直接打开/var/run/dnsmasq/resolv.conf

里面有解析不存在域名而得到的域名服务器地址,将存在该域名服务器地址的某行删除即可,假设笔者的该文件内容为:
nameserver 1.1.1.1
nameserver 2.2.2.2

那么直接删掉nameserver 2.2.2.2即可

有效方案如下:

3.还可以直接使用其它的域名服务器地址替换掉这两个ip,然后再重启dnsmasq,笔者修改后/var/run/dnsmasq/resolv.conf配置文件内容如下:
nameserver 8.8.8.8
nameserver 8.8.4.4

重启dnsmasq:
systemctl restart dnsmasq

4.如果确认域名被污染或者劫持,也可使用IDC服务商的高防CDN加速来改善遇到的问题。针对dns污染,高防CDN能长期有效对DNS缓存记录获取刷新的时间及数据,保障获取结果的准确性,让用户能尽快获取到正确的IP进行访问。时间=金钱,一旦出现问题,请立即找专业机构进行处理,避免时间耽误过久,导致网站用户流失,到时候只能重头再来,换个域名使用了。

原创文章,作者:Safeidc,如若转载,请注明出处:https://www.safeidc.cn/2020/12/dns-jc.html

发表评论

邮箱地址不会被公开。

联系我们

在线咨询:点击这里给我发消息

时间:周一至周五,9:30-18:30,节假日休息