路由器简单解决dns污染问题

dns污染是个很头疼的问题,曾试过很多方法和软件,效果都不太好。最近得知opendns有非正常端口,于是想是否能够利用此来避免dns污染呢?经过搜索,得到了方法,现分享一下。

opendns有53, 443, 5353三个端口,其中53支持传统的udp和非传统的tcp,因为udp协议自身的原因,导致了墙有机可乘。而使用tcp协议在客户端上实现起来很麻烦,在路由器上实现也可以,不过也要额外装软件。而另外的端口在路由器上使用就很简单了,墙也不会干扰。现在你需要一个openwrt之类的路由器(需默认装有dnsmasq),然后修改/etc/config/dhcp文件:

config ‘dnsmasq’
#option ‘resolvfile’ ‘/tmp/resolv.conf.auto’
option ‘noresolv’ ‘1’
list ‘server’ ‘208.67.222.222#5353’
list ‘server’ ‘208.67.220.220#5353’

保存后重启dnsmasq即可。更多信息可参考此篇文章

53端口的妙用

53端口是DNS服务的通信端口,所以一般来说,这个端口不到万不得已时不会关闭的。我们用它可以突破很多封锁。

很多基于web登录验证的网络接入服务,例如CMCC、Chinanet,我们可以利用53端口在不登录其帐号的情况下访问互联网。我们需要一个远程服务器来充当代理,这台服务器上安装支持自定义端口的代理软件,比如OpenVPN,SSH等等,我们就可以利用这台服务器上网了。具体操作不再详细说明,可以自行搜索相关资料。

也许有些运营商发现了这个问题,于是做了修复:在没有验证帐号之前,只允许与DHCP提供的DNS通信,因此你就无法利用这个漏洞了。但是这样也会对用户造成一些影响,比如网卡指定DNS后就打不开CMCC等的登录页面了。

在移动互联网中也可以利用53端口做些文章。用中移动的是否记得每月的头几次打开网站都会有个中移动的提示页面,说访问网页会产生GPRS流量,如果要继续就点击链接。这时如果你不点击链接,那就不会产生流量。但是想想,这个提示页面不是也要产生网络流量吗?但是实际上这个页面的流量被运营商减免了。工作原理就是首先你访问一个网站先要查找DNS,连接上移动的DNS服务器后,服务器返回给你个提示页面,提示你是否继续,继续的话会产生流量。当这一部分会话的流量没有记入计费系统,就是说53端口的流量是不计费的。实际测试,发现cmwap的53端口不计流量,但cmnet正常计流量,移动td和联通的接入点未测试。

以上利用53端口“占便宜”的方法仅供测试,不同地区的运营商可能部署的不同,结果也会有所不同。