用DNS隧道实现免费上网

大多数机场、酒店之类场所,当你输入一个网址比如www.google.com时,会弹出一个页面要你输入帐号密码才能上网。这个时候DNS能正确解析,但是上网要付费认证。

可以通过DNS隧道来实现免费上网。具体做法是:

(1)找一个支持DNS解析的域名,现在这类免费域名很多,比如tk的、co.cc的。假设该域名是

abc123.tk

(2)在tk的注册机构里,设置abc123.tk的NS服务器为你自己的主机(最好是Linux VPS),例如:

abc123.tk.     IN  NS  ns.abc123.tk.
ns.abc123.tk.  IN  A   74.81.81.81

(3)在74.81.81.81上,以root身份运行一个Perl脚本(这个脚本来自Dan Kaminsky的OzymanDNS包):

./nomde.pl -i 0.0.0.0 abc123.tk

上述脚本会侦听在UDP 53端口,接受DNS请求,并且只解析abc123.tk域。

(4)在客户机上(要求有ssh,最好是Linux系统),运行如下命令:

ssh -ND 7070 -o ProxyCommand=”./droute.pl sshdns.abc123.tk” user@localhost

上述ssh命令,-ND 7070表示在本机打开7070的socks 5代理端口。droute.pl是DNS隧道的客户端工具,同样来自于OzymanDNS包。sshdns是固定的主机名,加在域名abc123.tk前面。user是你在74.81.81.81上的登录名字,@localhost是固定的,不需要改(因为隧道过去后,就是74.81.81.81本机)。

运行上述ssh命令后,会提示输入密码。输入正确密码后,就和远程主机建立了ssh连接,获取到一个SSH终端。并且,在本机打开了7070的socks 5代理端口。配置浏览器使用这个代理端口,开始享受免费冲浪吧!

 

转自:http://www.nsbeta.info/archives/96

38 comments

  1. 元谷 says:

    不是弹出,而是跳转!

    1. creke says:

      不是付费认证,而是用户登录权限认证!呵呵

  2. 代码疯子 says:

    你这样能上ChinaNet吗?

    1. creke says:

      不知道,我周围没有ChinaNet的辐射。你可以试试。

  3. wuwu says:

    如果是将openvp监听端口设置在udp53也行嘛?

    1. creke says:

      这个需要53端口没有协议过滤才可行,目前我正在测试这种方法。

  4. Diye says:

    请教两个问题哈:
    NS服务器,这个用虚拟主机可以不?
    主机上要做绑定abc123.tk域名的动作不?

    1. creke says:

      虚拟主机是不行的。因为涉及到53端口。

  5. yh says:

    一直用淘宝 CMCC帐号 200小时包月,每月10块不到的路过。

    1. creke says:

      好吧,这是个更好的方法,呵呵。

  6. Nobody says:

    本质上跟OpenVPN udp 53一样,我用OpenVPN udp 53曾经连上CMCC,挪了个地就不行了。

    后来我无意发现TOMATO路由器轻而易举地就屏蔽了OpenVPN udp 53并且还不影响DNS解析,非常简单,只要勾上DNS挟持然后保存,就over了。

    洗洗睡吧。

    1. creke says:

      这就是协议过滤。但是这个DNS隧道是通过DNS协议传输的,所以可以绕过路由器限制,但速度很慢。

  7. goseas says:

    这个方法不错,呵呵

    1. creke says:

      实际应用的话,还需要很多优化啊。

  8. Fanr says:

    找机会试试,不过建议博主贴个图啊~~

    1. creke says:

      截图也是各种命令界面,呵呵

  9. 枸杞 says:

    有机会试试!!!!

  10. yanyucheng says:

    会提示 No such file or directory: No such file or directory
    ,我已经设置域名dns了。求解 谢谢。。

  11. Anonymous says:

    光是53端口现在破不了电信的,我试过了。不过loopcVPN却是可以破电信的信号。我是在昆明市这里试的。不知loopcVPN是如何做到的

  12. FireDuck says:

    这个DNS对学校的Dr.com有效吗?

    1. creke says:

      这个不清楚,你可以自己测试一下

    2. LitmusBlue says:

      应该不会有效的

  13. hongya says:

    楼主你QQ多少 求实际指导 谢谢 我的是604041930

  14. 侯赛因 says:

    我该如何处理与免费使用互联网的照片,我的岗位与

  15. kik! says:

    第4步:ssh -ND 7070 -o ProxyCommand="./droute.pl sshdns.abc123.tk" user@localhost
    不成功。发现根本没有执行ProxyCommand.
    我碰到的情况与云风一致:http://blog.codingnow.com/2011/06/dns_tunnel.html
    时过一年,不知博主还能否记得当时情形?

    1. creke says:

      呵呵,不好意思,我确实已经忘了。而且这个仅仅是实验性方法,稳定性不好。

  16. ospdier says:

    问一个小问题,这个会耗费VPS的流量吗?

    1. creke says:

      要通过VPS中转数据,会耗的哦

  17. aviton says:

    你好,我有个问题咨询下,这种情况下,终端用户访问的真实地址等数据是怎么发出去的?是在DNS数据报文中某个字段添加真实的数据么?

Leave a comment