DD-WRT突破網(wǎng)絡(luò)限制
一,DD-WRT固件的傳統(tǒng)應(yīng)用:
一般來說DD-WRT固件都是針對無線路由器進(jìn)行刷新的,很多家庭用戶和中小企業(yè)都將購買來的無線路由器進(jìn)行了刷新DD-WRT固件的操作,通過刷新DD-WRT固件可以讓我們更加淋漓盡致的發(fā)揮無線路由器自身性能,在一些額外功能方面DD-WRT固件比無線設(shè)備自身攜帶的固件表現(xiàn)更好,而且在諸如QOS以及路由策略等方面的設(shè)置可以更好的為網(wǎng)絡(luò)和無線應(yīng)用服務(wù)。
二,用DD-WRT突破網(wǎng)絡(luò)限制:
然而今天筆者為各位介紹的則不是針對DD-WRT的強(qiáng)大功能來說的,我們要利用刷新了DD-WRT固件的無線路由器來建立一個(gè)傳輸通道,從而讓我們的內(nèi)網(wǎng)應(yīng)用可以有效的突破網(wǎng)絡(luò)限制。
(1)用DD-WRT突破網(wǎng)絡(luò)限制的用武之地:
首先我們要確實(shí)了解什么情況下我們能夠通過DD-WRT固件來突破內(nèi)網(wǎng)網(wǎng)絡(luò)限制,大多數(shù)情況下企業(yè)內(nèi)網(wǎng)為了限制員工網(wǎng)絡(luò)應(yīng)用會在防火墻上封鎖非正常端口,例如只保留80端口作為網(wǎng)頁瀏覽,而諸如3389,21等端口都進(jìn)行了封殺。另外公司為了提高安全性會在防火墻上通過關(guān)鍵字進(jìn)行過濾,諸如BBS論壇字眼以及GAME游戲字樣的字符串網(wǎng)絡(luò)地址都禁止訪問。
如果我們遇到的問題正是由以上種種設(shè)置造成的話,那么我們就可以通過DD-WRT來突破網(wǎng)絡(luò)限制,通過DD-WRT建立一個(gè)代理,突破公司網(wǎng)絡(luò)封鎖。而傳統(tǒng)的解決方式是利用一臺電腦作代理,性能占用比較大而且單獨(dú)設(shè)備做代理比較費(fèi)電。
(2)用DD-WRT突破網(wǎng)絡(luò)限制的原理:
我們通過DD-WRT突破網(wǎng)絡(luò)應(yīng)用,端口封鎖以及關(guān)鍵字過濾等網(wǎng)絡(luò)限制的原理是利用SSH的tunnel功能,將本機(jī)的數(shù)據(jù)通過ssh轉(zhuǎn)發(fā)到遠(yuǎn)程主機(jī),并接收ssh轉(zhuǎn)發(fā)的遠(yuǎn)程主機(jī)回應(yīng)的數(shù)據(jù),這種通過ssh加密并且做代理的方法在實(shí)際使用中效果很好,本文針對特殊端口(80)的ssh作一個(gè)說明。畢竟80端口在很多防火墻上都是容許訪問的,不會出現(xiàn)封鎖的麻煩。(如圖1)
(3)用DD-WRT突破網(wǎng)絡(luò)限制的步驟:
下面我們就來看看如何通過DD-WRT突破網(wǎng)絡(luò)限制。首先我們需要在家中具備一臺運(yùn)行了DD-WRT固件的無線路由器,如果沒有可以參考我們之前介紹的刷新DD-WRT固件的文章來實(shí)現(xiàn)。筆者以DD-WRTv24版本為例進(jìn)行介紹。
第一步:首先打開DD-WRT的ssh功能(DD-WRT是用dropbear這個(gè)ssh服務(wù)端作為sshdaemon服務(wù)),方法是登陸路由web管理界面->服務(wù)(Services)->找到SecureShell(安全外殼)->選擇啟用->密碼登錄也選擇啟用->端口填入80。
第二步:通過管理->找到“遠(yuǎn)程管理”->啟用ssh管理->ssh端口填入80來允許從Internet進(jìn)行ssh登錄(第一步只是開啟了內(nèi)網(wǎng)的ssh登錄)。(如圖2)
第三步:如果你不是使用80作為ssh端口,那么可以跳過此步設(shè)置。由于web管理界面是要用到80端口作為http服務(wù)的,所以剛才設(shè)置好ssh端口,重啟后端口沖突,會導(dǎo)致ssh服務(wù)(dropbear進(jìn)程)啟動失敗,因此我們必須把web管理界面的http服務(wù)端口改到其它端口。具體命令為通過管理->選擇下面一排的"診斷"(Diagnose)標(biāo)簽,在"命令"中粘貼以下命令。之后點(diǎn)擊"保存啟動命令",再重啟就可以了。
- killallhttpd
- cd/www
- httpd-p81-h/www
- dropbear-b/tmp/loginprompt-r/tmp/root/.ssh/ssh_host_rsa_key-d/tmp/root/.ssh/ssh_host_dss_key-p80
小提示:
以上代碼實(shí)現(xiàn)的原理就是讓路由在啟動后自動先殺掉httpd服務(wù),再把該服務(wù)重新啟動到81端口,最后再啟動ssh服務(wù)(dropbear)到80端口。當(dāng)然我們還可以telnet到路由,用nvram命令更改httpd以及ssh服務(wù)的端口,然后輸入以下指令來實(shí)現(xiàn)。
- #telnet192.168.1.1
- #nvramsetrc_startup="
- >killallhttpd
- >cd/www
- >httpd-p81-h/www
- >dropbear-b/tmp/loginprompt-r/tmp/root/.ssh/ssh_host_rsa_key-d/tmp/root/.ssh/ssh_host_dss_key-p80
- >"
- #nvramcommit
輸入第二行(nvramsetrc_startup=")后,提示符會從#變成>,這時(shí)候再輸入需要自動執(zhí)行的命令,最后輸入雙引號回車結(jié)束,而nvramcommit是把剛才需要執(zhí)行的命令保存到路由的flash,這樣掉電重啟才有用另外可以用nvramgetrc_startup查看輸入的命令是否正確)
第四步:設(shè)置一個(gè)動態(tài)域名,DD-WRT支持3322的動態(tài)域名,方法是設(shè)置->DDNS(動態(tài)DNS)->DDNS服務(wù)中選擇3322.org,用戶名密碼和主機(jī)名可以到www.3322.org免費(fèi)注冊->類型選擇動態(tài)(主機(jī)名填你申請好的完整域名:xxxx.3322.org)。
第五步:路由設(shè)置已經(jīng)完成,下面在你公司的電腦上,需要用ssh登錄你的路由,然后在本機(jī)開一個(gè)代理供你自己使用(以翻越公司的防火墻)。我們可以通過兩個(gè)軟件來實(shí)現(xiàn)連接功能。一個(gè)是MyEntunnel(http://nemesis2.qx.net/software-myentunnel.php),另一個(gè)就是putty了。由于篇幅關(guān)系我們主要講解putty的使用。填入路由動態(tài)域名和端口,設(shè)置本地代理的端口,注意要選擇Dynamic,端口一樣隨便自己喜歡,上兩步設(shè)置好后選擇open,填入用戶名密碼登錄后即可。(如圖3)
小提示:
putty不可以最小化到托盤,可以用"MinimizeToTray"這個(gè)軟件將窗口最小化到右下角任務(wù)托盤。
第六步:設(shè)置IE或者其它瀏覽器的代理,該代理為socks5代理,以IE6為例打開IE瀏覽器找到菜單中的“Internet選項(xiàng)->連接->局域網(wǎng)設(shè)置->勾上為LAN使用代理服務(wù)器->高級”。在IE設(shè)置好后,MyIE,GreenBrowser可以選擇使用IE代理,或者直接添加一個(gè)socks5代理。這樣不管公司封鎖端口,如何封鎖關(guān)鍵字,只要開放80端口,我們都能像在家里上網(wǎng)一樣,訪問互聯(lián)網(wǎng)了。有機(jī)會你可以把路由放到國外,這樣就能突破更多的網(wǎng)絡(luò)限制了。(4)其他方法來實(shí)現(xiàn)突破網(wǎng)絡(luò)限制:
通過DD-WRT突破網(wǎng)絡(luò)限制的方法還很多,我們完全可以將dd-wrt中的jfs去掉,利用空出來的空間放一個(gè)tinyproxy,瀏覽器上就可以直接設(shè)置代理,不用再裝其它軟件了。不過這樣的方法建立的代理只是普通代理,沒有加密,如果碰到上文說到的第三種情況,公司封了關(guān)鍵字,這種代理就沒辦法了。
(5)觸類旁通TOMATO固件也能行:
當(dāng)然不光是DD-WRT固件有此突破限制功能,我們?nèi)绻⑿碌墓碳莟omato也能實(shí)現(xiàn),在TOMATO固件中也有SSHDaemon服務(wù),我們可以通過管理界面的administration>adminaccess找到。
三,DD-WRT突破網(wǎng)絡(luò)限制總結(jié):
DD-WRT突破網(wǎng)絡(luò)限制的方法實(shí)際上是在家中建立一個(gè)代理,然后在單位連接此代理,讓單位的網(wǎng)絡(luò)應(yīng)用可以和家中一樣沒有限制沒有封鎖,畢竟傳統(tǒng)意義上單位防火墻上進(jìn)行了限制我們的員工計(jì)算機(jī)網(wǎng)絡(luò)訪問只能夠?yàn)g覽80端口的網(wǎng)站了,而通過此方法我們可以化繁為簡讓80端口也可以更好的為我們服務(wù),在單位與家中建立一條網(wǎng)絡(luò)應(yīng)用網(wǎng)絡(luò)傳輸?shù)某请H列車。