好多公司的防火牆越來越厲害啦!越來越難穿過公司的防火牆,能破解公司防火牆大概剩下HTTP Tunnel,SSH Tunnel還有點機會,研究這些方法的,大陸人還是比較厲害一點,大概對外的世界都被鎖了,才會覺得自由可貴吧,不過這個就先不討論了。
突然想到DD-WRT 有SSH forward的功能,上網找了一下,還真的有機會做一個SSH Tunnel server,先從最簡單的Putty來試試看可行性。
先把DD-WRT管理介面打開,Service下的SSH功能當然是要先開:

然後開啟遠端SSH管理,且改到443port,通常除了80和443port之外都被挨踢部門給封了,到此,Server部分搞定了,真的超乎想像的簡單:

然後是Client的部分,打開Putty,設一個新的profile "SSH Tunnel",DD-WRT怎麼用DDNS的部分就跳過了,應該不會有人會裝DD-WRT卻不會用DDNS吧,下面port應該要連443port才對,忘了改:

建立一個通道,只要電腦裡的東西丟到3000port(舉例,可隨您高興),就幫轉發到443port的tunnel上:

以IE為例,把東西往3000port的socket丟或取,MSN或Skype設置方法亦同:

Firefox厲害一點,可以裝個add ons "FoxyProxy",加入url pattern,只將特定(就是被挨踢檔掉的網址)的網頁,設定經過這個Proxy去找,這樣會省頻寬一些(Proxy頻寬或取決於server端的上傳頻寬,通常只有512k~2M吧!如果是架在自己家用ADSL的話),頻寬省著點用,還要留一些給挨踢檔掉的MSN跟Skype呢!!

最好是用Firefox瀏覽,FF設定about:config裡有個功能,使用遠端的dns要打開,不然雖然突破了挨踢防火牆,但DNS被IT一覽無遺,IT還是知道您逛了哪些網站(不堪入目的!?),只是以為連不上而已(連不上怎麼還會一直連呢,這就有趣了):
設定在network.proxy.socks_remote_dns
布林值改成 "true"就行了

好了!當然到這邊大功告成了,不過上面是陽春版的,不一定要用Putty,MyEntunnel也是個蠻好用的選擇,這也是陽春版的:

進階版來了!有個SSH Tectia Client軟體,提供更簡單的設定,直接選擇想把哪些軟體的流量,塞到SSH Tunnel裡,不需要每個軟體設定先往3000port(以上面例子)塞,
所有軟體動都不用動,網頁通常不會被檔,不過可以IE跟FF可以擇一走tunnel,當然就FF了,其他就塞MSN跟Skype進Tunnel就好了,或是還有FTP的話:

Server在443port,當然東西就往443port塞,設定好連線profile,就算大功告成了:

可以看到SSH-Tunnel的流量:

SSH的好處是不易破解的加密,即便挨踢發現你對某IP的流量特別大,也無法知道上了哪些網站做了哪些事:

下一步,換挨踢部門要頭痛痛了!!
至於SSH-Tunnel還有什麼搞頭呢!?暫時想到就是手機,中華電信的mCool方案299吃到飽,只適用於手機透過80和443port上網,如果手機也有SSH的client軟體把流量全塞到443port,那可以連上網的軟體就不受限制了,目前知道Putty有for Sybian S60的版本,還沒有試過有啥搞頭,有試過的人可以分享一下吧。
--
HOWTO: Tunneling HTTP over SSH with DD-WRT, DynDNS and Putty
Secure Web Browsing with DD-WRT/OpenWRT, Dynamic DNS, SSH, and Firefox