网络通信 频道

实战:三顾茅庐 用DD-WRT突破网络限制

  (3)用DD-WRT突破网络限制的步骤:

  下面我们就来看看如何通过DD-WRT突破网络限制。首先我们需要在家中具备一台运行了DD-WRT固件的无线路由器,如果没有可以参考我们之前介绍的刷新DD-WRT固件的文章来实现。笔者以DD-WRT v24版本为例进行介绍。

  第一步:首先打开DD-WRT的ssh功能(DD-WRT是用dropbear这个ssh服务端作为ssh daemon服务),方法是登陆路由web管理界面->服务(Services)->找到Secure Shell(安全外壳)->选择启用->密码登录也选择启用->端口填入80。

  第二步:通过管理->找到“远程管理”->启用ssh管理->ssh端口填入80来允许从Internet进行ssh登录(第一步只是开启了内网的ssh登录)。(如图2)

  第三步:如果你不是使用80作为ssh端口,那么可以跳过此步设置。由于web管理界面是要用到80端口作为http服务的,所以刚才设置好ssh端口,重启后端口冲突,会导致ssh服务(dropbear进程)启动失败,因此我们必须把web管理界面的http服务端口改到其它端口。具体命令为通过管理->选择下面一排的"诊断"(Diagnose)标签,在"命令"中粘贴以下命令。之后点击"保存启动命令",再重启就可以了。

  killall httpd

  cd /www

  httpd -p 81 -h /www

  dropbear -b /tmp/loginprompt -r /tmp/root/.ssh/ssh_host_rsa_key -d /tmp/root/.ssh/ssh_host_dss_key -p 80

  小提示:

  以上代码实现的原理就是让路由在启动后自动先杀掉httpd服务,再把该服务重新启动到81端口,最后再启动ssh服务(dropbear)到80端口。当然我们还可以telnet到路由,用nvram命令更改httpd以及ssh服务的端口,然后输入以下指令来实现。

  # telnet 192.168.1.1

  # nvram set rc_startup="

  > killall httpd

  > cd /www

  > httpd -p 81 -h /www

  > dropbear -b /tmp/loginprompt -r /tmp/root/.ssh/ssh_host_rsa_key -d /tmp/root/.ssh/ssh_host_dss_key -p 80

  > "

  # nvram commit

  输入第二行(nvram set rc_startup=")后,提示符会从#变成>,这时候再输入需要自动执行的命令,最后输入双引号回车结束,而nvram commit是把刚才需要执行的命令保存到路由的flash,这样掉电重启才有用另外可以用nvram get rc_startup查看输入的命令是否正确)

  第四步:设置一个动态域名,DD-WRT支持3322的动态域名,方法是设置->DDNS(动态DNS)->DDNS服务中选择3322.org,用户名密码和主机名可以到www.3322.org免费注册->类型选择动态(主机名填你申请好的完整域名:xxxx.3322.org)。

  第五步:路由设置已经完成,下面在你公司的电脑上,需要用ssh登录你的路由,然后在本机开一个代理供你自己使用(以翻越公司的防火墙)。我们可以通过两个软件来实现连接功能。一个是MyEntunnel(http://nemesis2.qx.net/software-myentunnel.php),另一个就是putty了。由于篇幅关系我们主要讲解putty的使用。填入路由动态域名和端口,设置本地代理的端口,注意要选择Dynamic,端口一样随便自己喜欢,上两步设置好后选择open,填入用户名密码登录后即可。(如图3)

  小提示:

  putty不可以最小化到托盘,可以用"Minimize To Tray"这个软件将窗口最小化到右下角任务托盘。

  第六步:设置IE或者其它浏览器的代理,该代理为socks5代理,以IE6为例打开IE浏览器找到菜单中的“Internet选项->连接->局域网设置->勾上为LAN使用代理服务器->高级”。在IE设置好后,MyIE,GreenBrowser可以选择使用IE代理,或者直接添加一个socks5代理。这样不管公司封锁端口,如何封锁关键字,只要开放80端口,我们都能像在家里上网一样,访问互联网了。有机会你可以把路由放到国外,这样就能突破更多的网络限制了。

0
相关文章