Thursday, August 29, 2013

(转)如何不受DNS污染

这个话题,也是一直想写,现在有点时间了,就顺便写下吧,备忘和科普用吧。PS:使用此技能必须有个可用的VPN 。没有的话,污染无解。还有我是针对Linux的,windows用户拜拜!


什么是DNS污染


回答这个问题之前,如果你不知道DNS的作用是什么,我可以简单的说,DNS的中文是域名系统,英文是Domain Name System,简称DNS,是因特网的一项业务服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。(抄自域名系统) 然后,DNS污染简单来说就是让找不到正确的IP,然后就没有然后,上不了网了,开着VPN也没用。



下面举个例子吧,下面同样域名得到差异很大的结果。如果我们使用国内的DNS服务器或者ISP提供的DNS服务器,就算开着VPN,我们也不能正常的DNS解析的。


[23:13:07] roowe@roowe-gentoo /tmp$ nslookup twitter.com 8.8.8.8

Server: 8.8.8.8

Address: 8.8.8.8#53


Non-authoritative answer:

Name: twitter.com

Address: 199.59.148.82

Name: twitter.com

Address: 199.59.149.230

Name: twitter.com

Address: 199.59.150.39


[23:14:37] roowe@roowe-gentoo /tmp$ nslookup twitter.com 114.114.114.114

Server: 114.114.114.114

Address: 114.114.114.114#53


Non-authoritative answer:

Name: twitter.com

Address: 46.82.174.68


How To Break


使用dnsmasq和resolvconf,每个Linux的发行版的源应该都有这两个工具,安装方法就不说了。


具体选项自己去看man吧。dnsmasq的配置大概如下,就是让国内的域名交给国内的114去解析。


no-resolv

no-poll

server=8.8.8.8

server=8.8.4.4

no-dhcp-interface=eth0

expand-hosts

server=/115.com/114.114.114.114

server=/126.com/114.114.114.114

server=/163.com/114.114.114.114

server=/17cdn.com/114.114.114.114

server=/51.la/114.114.114.114

server=/6rooms.com/114.114.114.114

server=/acfun.tv/114.114.114.114

server=/alimama.com/114.114.114.114

server=/alipay.com/114.114.114.114

server=/atpanel.com/114.114.114.114

server=/baidu.com/114.114.114.114

server=/bdimg.com/114.114.114.114

server=/bilibili.tv/114.114.114.114

server=/cn/114.114.114.114

server=/douban.com/114.114.114.114

server=/douban.fm/114.114.114.114

server=/gfan.com/114.114.114.114

server=/hoopchina.com/114.114.114.114

server=/iask.com/114.114.114.114

server=/ifeng.com/218.104.111.114

server=/ifengimg.com/218.104.111.114

server=/ku6.com/114.114.114.114

server=/ku6cdn.com/114.114.114.114

server=/lxdns.com/114.114.114.114

server=/microsoft.com/114.114.114.114

server=/mydrivers.com/114.114.114.114

server=/qq.com/114.114.114.114

server=/qstatic.com/114.114.114.114

server=/renren.com/114.114.114.114

server=/sogou.com/114.114.114.114

server=/sohu.com/114.114.114.114

server=/soso.com/114.114.114.114

server=/tanx.com/114.114.114.114

server=/taobao.com/114.114.114.114

server=/taobaocdn.com/114.114.114.114

server=/tbcache.com/114.114.114.114

server=/tdimg.com/114.114.114.114

server=/tencent.com/114.114.114.114

server=/thawte.com/114.114.114.114

server=/tmall.com/114.114.114.114

server=/tudou.com/114.114.114.114

server=/tudouui.com/114.114.114.114

server=/weibo.com/114.114.114.114

server=/wrating.com/114.114.114.114

server=/xiami.com/114.114.114.114

server=/xiami.net/114.114.114.114

server=/xunlei.com/114.114.114.114

server=/ykimg.com/114.114.114.114

server=/youku.com/114.114.114.114


resolvconf的作用就是 managing multiple DNS configurations,要不然resolv.conf配置全乱了,第一个都不是我们想要的127.0.0.1。


resolvconf配置如下。


resolv_conf=/etc/resolv.conf

name_servers=127.0.0.1


用了resolvconf之后,我们自动生成的resolv.conf配置大概如下:


[23:46:30] roowe@roowe-gentoo /tmp$ cat /etc/resolv.conf

# Generated by resolvconf

nameserver 127.0.0.1

nameserver 8.8.8.8

nameserver 8.8.4.4


最后/etc/init.d/dnsmasq start下,就可以用了。也可以作为服务项加入自启动里面。


后话


科学上网,为国争光。


现在我们nslookup的结果大概如下。


[23:52:46] roowe@roowe-gentoo /tmp$ nslookup twitter.com

Server: 127.0.0.1

Address: 127.0.0.1#53


Non-authoritative answer:

Name: twitter.com

Address: 199.59.150.39

Name: twitter.com

Address: 199.59.150.7

Name: twitter.com

Address: 199.59.148.10


Update:

2012-07-05 Thu


由于换工作室了,我又舍不得将自己的电脑搬过来,因为周六日回去华师宿舍的时候,没有电脑玩是很蛋疼的事情,这个时候就突然想拥有台笔记本咯。在这边的工作室,我就用着我们之前作为服务器的机子,机子虽破,少开几个google-chrome的TAB和不打开eclipse,应该还是能用的。


说回正题,这边服务器是之前安装的fedora16,用了gentoo之后,发现fedora很多包都更新得很慢,我虽然不是很热衷于新版本,但是现在有些新版本的feture是我需要呀,比如Xfce按住Alt+Tab之后的左右方向键在xfce-4.9是有效,但是在4.8版本是没有用的,囧!还有Emacs还没有升级到24呀。想到这里,我就想马上搬我的电脑过来用gentoo。除了更新慢之外,还有些包没有,比如resolvconf这个包竟然没有。所以就没法管理resolv.conf了,但是为了使用dnsmasq,还是有办法的,在 /etc/sysconfig/network-scripts/ifcfg-p33p1(这个文件是我的,找你相应的)这个文件后面添加DNS1=127.0.0.1,然后/etc/init.d/network restart下就好了。PS:我没用NetworkManager,这货坑爹的,直接用network来管理。



原文链接:(转)如何不受DNS污染 - 美博园翻墙

如喜欢本站请关注: Email订阅美博园 | RSS订阅美博园 | 翻墙Google+ | 美博园翻墙Facebook | 翻墙Twitter

※ 除声明转载,美博园文章均为"原创",软件版权归原作者,转载请以上面超链接注明来源






via 美博园 http://feedproxy.google.com/~r/allinfa/~3/cZQTRFZL7k4/how-not-dns-pollution.html

No comments:

Post a Comment