首页 > 文章 > 杂文

解决DNS污染与劫持之使用特殊DNS端口
时间:2014-08-13 12:05:27  点击: 来源:  作者:

os:ubuntu 12.04 LTS软件:dnsmasqdns测试:dig www.facebook.com @8.8.8.8 +short 37.61.54.158 在wiki词条域名服务器缓存污染中可以发现37.61.54.158在虚假ip地址中,说明此dns已遭污染。dig www.facebook.com ...

os:ubuntu 12.04 LTS

软件:dnsmasq

dns测试:

  1. dig www.facebook.com @8.8.8.8 +short
  2. 37.61.54.158

在wiki词条域名服务器缓存污染中可以发现37.61.54.158在虚假ip地址中,说明此dns已遭污染。

  1. dig www.facebook.com @208.67.222.222 -p 443
  2. 31.13.79.49

31.13.79.49为facebook的正确地址。google的dns服务不支持特殊端口查询,但opendns支持,其ip为208.67.222.222,208.67.222.220,支持的特殊端口为443,5353。

在ubuntu中,我们可以用dnsmasq来指定被污染ip用特殊端口查询.

从Ubuntu 12.04开始网络管理器默认开启了dnsmasq,但出于安全的考虑没有开启其缓存功能。这个改动至少在我这里导致了一些问题,比如偶尔出现网速变慢。 经过尝试,可以完全禁用该服务,或者设置使用谷歌DNS服务,同时开启dnsmasq的本地缓存(可以大幅提高重复访问网站时的响应速度)。

完全禁用的方法:

  1. sudo vim /etc/NetworkManager/NetworkManager.conf

注释掉里面的dns=dnsmasq
然后重启网络管理器

  1. sudo restart network-manager

重新安装完整dnsmasq:

  1. sudo apt-get install dnsmasq

 然后

  1. sudo vi /etc/resolv.conf

 确保resolv.conf内容为:

  1. nameserver 127.0.0.1

 然后

  1. sudo vim /etc/dnsmasq.conf

直接在文件最后添加:

  1. listen-address=127.0.0.1
  2. bind-interfaces
  3. cache-size=100000
  4. domain-needed
  5. resolv-file=/etc/resolv.dnsmasq
  6. server=/facebook.com/208.67.222.222#5353

 其中

  1. server=/facebook.com/208.67.222.222#5353

即可指定访问facebook网站时向opendns的5353端口进行dns请求,以此类推。
这个设置支持泛解析,比如

  1. server=/com/208.67.222.222#5353

即指定所有.com域名。


重启dnsmasq:

  1. sudo service dnsmasq restart

 再测试dns:

  1. dig www.facebook.com +short

 若返回31.13.79.49或其他不在虚假ip表里的ip即成功。


ps:用命令

  1. ps -fC dnsmasq|more

 查阅得知dnsmasq在ubuntu中的dns设置在/var/run/dnsmasq/resolv.conf中。
dnsmasq的日志记录在/var/log/syslog中。

”您可通过以下微信二维码,赞赏作者“
 
 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
linux服务器同步互联网时间
linux服务器同步互联
亚马逊云lightsail服务器使用教程 | 亚马逊云lightsail使用指南
亚马逊云lightsail服
hostdare 4折优惠,直接降价60% 美国洛杉矶低至 $10.4/年 768M内存/1核/10gNVMe/500g流量
hostdare 4折优惠,直接
六类网线cat6a和cat6e的区别
六类网线cat6a和cat6e
相关文章
栏目更新
栏目热门

关于我们 | 广告服务 | 联系我们 | 网站地图 | 免责声明 | WAP | RSS


Copyright © 运维之家 2013-2023