內網用戶輕鬆穿越外網

  引言:此文為校園網用戶量身打造。按本文介紹的方法,成功後的效果是:你只需登錄內網,然後通過IPv6網絡和GAE個人代理服務,即可訪問外網。本方案可以為你節省全部網費開支,當然運營商不大願意看到的這樣的結果,但我知道這是廣大對於電信行業的壟斷式經營怨聲載道卻又無可奈何的學子們夢寐以求的上網方案。我是站在群眾一邊的。

  話又說回來,各位電信巨頭在每個季度賺得盆滿缽滿之餘,稍稍為祖國的教育事業讓出一份利潤,也不為過吧?要知道,大多數學生都是沒有收入的,而目前提供給我們的各種網絡業務,質量參差不齊,服務令人失望,而且僅此一家別無分號。

  所以,每一個神奇的穿越技巧,都對應著一個糟糕的既有業務。

  如果我們可以有選擇,如果現在的各種服務都合情合理正規正常,沒人會吃飽了撐的去折騰這些。

  閒話到此為止,下面開始正式的技術討論:)

內網用戶輕鬆穿越外網

  首先,概述操作步驟如下,這是你將要在本文的指導下完成的整個配置流程:

  1. 開啟IPv6服務

  2. 申請Google賬號

  3. 創建個人GAE應用

  4. 配置GAppProxy/WallProxy代理

  5.更改本機hosts文件

  6. 設置瀏覽器代理地址

  7. 啟動代理,開始上網!

  以下是詳細操作流程,按著步驟一步一步來,一定能成功的,祝你好運!

  一、IPv6篇

  1.1 準備工作:

  1)關閉本地連接的第三方防火牆

  當然你把本校的隧道地址添加為防火牆的白名單也可,但由於不同的防火牆軟件設置不一樣,一旦設置不對了就完全用不了IPv6,這裡不再展開討論。

  關閉防火牆步驟:右擊本地連接→屬性,在“在連接時使用下列項目”中找到有你防火牆軟件的名字那個選項,把前面的勾去掉,確定即可。

  2)開啟IPv6 helper服務

  開始菜單,運行,輸入“services.msc”(不要引號),打開服務窗口,找到“IPv6 helper service&rdq​​uo;,雙擊打開,啟動類型改為“自動”,然後點擊“啟動”按鈕,確定。

  此外對於使用360安全衛士或者類似的國內所謂安全軟件,由於它們會自作聰明地把這個必需服務給“優化”掉,所以你需要特別留意把禁掉的服務還原回來,否則IPv6是用不成的。

  3)某些安裝不成功情況下,在“運行”中輸入“esentutl /p %windir%\security\Database\secedit.sdb”(不要引號),也可解決問題。

  1.2 安裝IPv6

  (僅針對WinXP/2003,Vista和Win7自帶IPv6,不必安裝。)

  開始,運行,輸入“cmd&rdquo ;,回車打開命令提示符窗口;再輸入“IPv6 install”,回車,搞定。

  1.3 配置IPv6

  由於校園網通常不是純IPv6環境,所以需要一個“隧道”(很形象的比喻,具體技術細節大家有興趣自己去搜吧),以電子科大的IPv6隧道設置為例(地址為:202.115.255.242)

  配置步驟:

  開始,運行,輸入“cmd”,回車打開命令提示符窗口,輸入“netsh”,回車,然後輸入以下內容:

  netsh>int

  netsh interface>IPv6

  netsh interface IPv6&gt ;isatap

  netsh interface IPv6 isatap>set router 202.115.255.242

  (注:對於非校園網用戶,其實也可以藉助隧道應用IPv6服務,比如設置為上海交大的隧道地址:isatap.sjtu.edu.cn,但速度就不很理想了,看IPTV通常會很卡。所以對於公網用戶,不妨直接參考下文GAE篇進行代理,Google可是IPv4/IPv6通吃的)

  完成後可打開http://www.6rank.edu.cn/網站進行驗證,看能否登錄,若可,則表示你的IPv6大功告成。 (也可通過在命令行中輸入“ipconfig”查看本機IP地址中有無形如“2001:******”的地址段,這個地址就是你的IPv6地址,若有,即表示配置成功)

  1.4 更改HOSTS文件

  更改hosts是最初等的翻牆術了,但在IPv6環境下效果那是出奇的好~

  打開“C:\WINDOWS\system32\drivers\etc\”路徑下的hosts文件(可用記事本打開);

  在末尾添加一組以Google為首的n多IPv6網站地址目錄(傳送門——最新Google IPv6 hosts地址集合:https://docs.google.com/View?id=dfkdmxnt_61d9ck9ffq,你會發現Google的IPv6地址數量很可觀,多多益善啊!都複製進hosts裡吧,這些可都是捷徑啊~)

  保存,退出。

  你再用瀏覽器打開Google看看,是不是可以登上了?還不會跳轉到Google HK,而且居然還可以查看網頁快照!開心吧?且慢,再輸入一個youtube.com試試,額滴神啊,闊別多年的U2B又回來了!爽翻了吧,呵呵~

  好,我們歇一下,先開罐啤酒為生猛的IPv6乾一杯~

  接下來,輪到第二位主角—&mdash ;GAE——登場了,有了Google的引擎推動,IPv6那可是如虎添翼啊!

  二、GAE篇——暨GAppProxy代理詳解

  前文所介紹的IPv6技術只能達到訪問部分外網的目的,可網絡的世界是廣闊的,天下甚多網站,一個小小的hosts豈能裝得下?

  況且所謂hosts翻牆,是很不穩妥的。

  景德鎮的局域網總是會出現各種意想不到的問題,所謂道高一尺魔高一丈,想用傻瓜的方式翻過GFW的高牆,那是不可能滴~

  老羅不是說過麼,壞人總是更勤奮一些。 (我是壞人麼?)

  其實,下面將要介紹的GAE應用下的GAppProxy代理方法也不復雜,按照步驟操作,很快就能搞定~

  Here we go!

  2.1 準備工作

  準備工作只有一條:你要有一個Google賬號,也就是一個Gmail.

  什麼?你只用Qmail?呃,你還是真不關心自己的郵件安全,趁早換吧~原因不多說了……總之這種“網絡嚴肅服務”(我自己下的定義,就是指郵箱、域名、賬號等對自己來說等很重要的服務)還是盡量遠離天朝IT企業,這些服務在他們的託管下,用著心裡不踏實。

  當然,這不是他們的錯。

  況且你已經擺平IPv6了,還添加了n多Google hosts,不整個Google賬號享用一下,豈非暴殄天物?

  好了,趕緊申請一個吧~(傳送門:https://www.google.com/accounts/)

  2.2 創建GAE

  毫不誇張地說,GAE(Google App Engine)是Google劃時代的產品。它的強大和便捷遠遠超出你的想像……打住打住。

  下面是具體操作步驟圖解:

  1)打開"http://appengine.google.com/",輸入你的Google賬戶、密碼,登錄;

  2) 點擊“Create an Application”;

  國家一欄選“Other”;

  電話號碼填“+86 你的手機號”(注意一個手機號只能註冊一次);

  3) 片刻之後,Google會往你的手機發送一個驗證短信,把驗證碼輸入進去,確定;

  4)填寫你的Application Identifer,這個就是你以後上外網要仰仗的永久地址了,想個好點的名字哈(只能使用小寫字母、數字和連字符“-”,長度不能小於6個字符。這裡我使用的是uestcproxy,望文知意啊);然後輸入Application Title,確定;

  注:“Authentication Options (Advanced)”中最好選擇默認選項,即“Open to all Google Accounts user”,其中第三個選項(Open to all users with an OpenID Provider)貌似很有用,不過現在尚處於實驗階段,不推薦使用。

  5)GAE應用創建成功!

  以後使用時可以進入“Dashboard”,查看流量等使用信息。

  注:每個Google賬號可以申請十個GAE應用,每個GAE應用每天都有1G的流量(我通常一天的流量不超過100MB),足夠用了。

  2.3 配置服務器端

  上一步僅僅是在Google為你申請了一個應用,但還未激活。你現在需要一個小小的上載工具,把Google服務器中的那個GAE代理服務激活,成為你的專屬代理服務器!

  下面先介紹應用GAppProxy代理的方法,下一篇再介紹WallProxy代理方案。

  GAppProxy可以去項目下載專頁下載,這裡的版本最新(傳送門:http://code.google.com/p/GAppProxy/downloads/list)。

  下面是具體操作步驟:

  1)點擊“GAppProxy服務端源碼+windows自動佈署工具”,進入下載頁面進行下載(下載地址:http:/ /GAppProxy.googlecode.com/files/uploader-2.0.0-win.zip);

  2)把壓縮包解開,點擊uploader.exe,在AppID後輸入你的A​​pplication Identifer,回車;

  3)輸入你的Gmail;

  4)輸入密碼(注意:在輸入密碼的時候,屏幕不會有任何顯示,不要緊,輸完後回車即可);

  5)稍等片刻,待配置完畢,當出現“ready to start serving”,大功告成!打開http://uestcproxy.appspot.com/fetch.py​​ ,會看到你的GAppProxy服務器端已經在工作了:

  2.4 配置GAppProxy本地代理

  現在在Google的服務器中已經有了你的一席之地,接下來你就要在你的電腦和Google服務器之間打通一條通道,然後就能以Googl為跳板,遨遊外面廣闊的網絡世界了!

  這個通道,就由本地代理來開啟。

  所謂萬事俱備,只欠代理^ ^

  下面是具體操作步驟:

  1)打開GAppProxy下載專頁下載GAppProxy的Windows版客戶端(下載地址:http://GAppProxy.googlecode.com/files/localproxy-2.0.0-win.zip);

  2)解開壓縮包,用記事本打開proxy.conf文件;

  在末行添加fetch_server = http://xxxxxx.appspot.com/fetch.py​​,這裡的xxxxxx即為前面你申請的Application Identifer(注意行首沒有“#”號),保存退出;

  3)點擊proxy.exe,開啟代理!

  此時若已經登錄公網,那麼將會出現如下畫面:Direct Fetch後面是Yes,表示你已經與Google服務器建立了直接連接。

  這時你再在瀏覽器中設置好如下代理:“127.0.0.1:8000”,就可以輕鬆翻牆,自由瀏覽了~而且你現在看下你的IP地理位置(傳送門:http://www.geoiptool.com/),居然是美國加州山景城的IP,神奇吧~

  當然,我們的最終目的是在不登錄公網的情況下也可以自由瀏覽,作為一個準Geek,這種半自由狀態是不能接受的。

  下面在最後一節,隆重推出內網直通公網的殺手鐧,各位童鞋打起精神咯~

  2.5 配置APPSPOT的HOSTS地址映射

  在開始真正的自由瀏覽之前,你還需做最後的一項工作: 為hosts添加當前的GoogleIPv6解析地址。

  具體操作如下:

  1)撥號進入校內網絡;開始菜單,運行,輸入“cmd”打開命令行窗口;

  2)輸入“ping IPv6.google.com”,回車,得到最新Google的IPv6解析地址,記下來;

  3)用記事本打開hosts文件(位於C:\Windows\System32\drivers\ etc),在末尾添加兩行:

  2404:6800:8007::63 uestcproxy.appspot.com

  2404:6800:8007::63 www.appspot.com

  這裡“2404:6800:8007::63”即為Google的IPv6解析地址(2010-10-31下午ping得到),“uestcproxy.appspot.com”是我申請的GAE地址。

  注:添加appspot與Google的hosts地址映射非常重要,這是實現穿越的關鍵一環!

  4)點擊proxy.exe,開啟代理!

  此時Direct Fetch 後面為No,不必擔心,這是因為你現在處於內網環境,但通過IPv6網絡照樣可以連接到Google的服務器。

  5)現在,打開Internet選項,設置瀏覽器代理地址。

  然後後打開你的瀏覽器,輸入任意一個外網網址,回車!

  哈哈,怎麼樣,是不是順利打開了~再看看此時的proxy程序窗口,一行行的數據正滾滾而過,表示你的網卡與Google的服務器溝通良好~

  然後再輸入一個牆外的網站地址試試,是不是也可以順暢打開了?

  Congratulation!

  至此,依托IPv6+GAppProxy技術,從內網穿越外網的任務大功告成!

  好好享用吧:)

  三、GAE番外篇——比GAppProxy更強大的WALLPROXY代理

  第三篇所介紹的方法是基於GAppProxy代理服務的,是個完整的解決方案。但GAppProxy有一個很不方便的地方,就是對https的支持很不好,比如Facebook和Twitter的加密賬戶頁面就無法正常顯示。還有就是對於很多SSL連接,每次打開瀏覽器都會彈出證書無效警告,由於我平時經常用Google的SSL搜索,每次打開新頁面都要處理一下那個警告頁面,使用久了也會感到不爽。

  對於這個問題,GAppProxy項目的Groups上也討論了很久,可解決方案不是太繁瑣就是不完善,畢竟這只是個非商業項目,開發人員都是出於興趣和愛好來維護,你也不能奢求太多。

  後來在Tw​​itter上偶然見一位網友提到另一個基於GAE的代理服務——WallProxy,據說可以很好地支持https,甚至還可以導入根證書而一勞永逸地解決SSL問題。

  我頓時眼前一亮,連忙去搜索WallProxy的相關頁面,很快看到步調博客上的《使用Google App Engine+WallProxy來看YouTube和玩Twitese》(傳送門:http:/ /www.budiao.biz/google-app-engineWallProxy.html),然後按照博主的方案一路操作下來,掛上代理一試——加密網站可以正常訪問了~然後又試了下WallProxy獨有的多app共存實現負載均衡技術,感覺也很不錯,這下我申請的多個GAE-app地址都能派上用場,也不用擔心每天1G的流量限制了。

  雖然前文已經給出了完整的內網穿越外網的攻略,但鑑於WallProxy對加密服務的改善和靈活配置,我還是決定補充一個GAE的番外篇,把WallProxy隆重推薦給大家。

  不過這裡先說明下,WallProxy的設置步驟比之GAppProxy是比較繁瑣的,而且你還要預裝Python環境,如果實在懶得費功夫,而且對SSL應用要求不高的話,用GAppProxy代理足矣。

  好,關於WallProxy的背景介紹到此為止,下面跟我來一起擺平這個不可多得的上網利器吧~

  3.1 擁有至少一個GAE應用地址(方法同2.1~2.2)

  3.2 安裝Python

  要求2.5以上,3.0以下版本。建議下載步調博主提供的壓縮包(傳送門:http://dl.dbank.com/c003f1c64w),這個壓縮包已經包含了下文將要用到的所有工具,挺方便。

  3.3 安裝GAE SDK

  SDK可以去GAE官方頁面下載(傳送門:http://code.google.com/intl/zh-CN/appengine/downloads.html )或者用3.2節給出的壓縮包。

  SDK這個套件不是必需的,但由於SDK用來管理上載服務實在很便捷,遠比命令行來得直觀,推薦安裝。而且以後如果用到其他GAE服務(比如自建博客,自架Twitter API等)也會用得到。

  如果你實在不想往電腦安裝什麼,可以用一個第三方上傳工具SDUpload(傳送門:http://code.google.com/p/sdapp/downloads/detail?name=SDUpload %200.1.rar&can=2&q=),不過對不熟悉命令行操作的人來說用起來稍顯不便,這裡不再贅述。

  下文還是以SDK操作為例。

  3.4 設置SDK

  1)安裝完SDK後,啟動“Google App Engine Launcher”程序(圖標是一個渦輪引擎),打開Edit-Preference;

  2)Python欄選擇你的Python安裝路徑;

  3)App Engine SDK欄選擇你的SDK安裝路徑;

  4)Editor欄可選一個你用著順手的編輯器,也可空著(默認為寫字板);OK.

  3.5 配置上傳文件

  1)去WallProxy的下載頁面下載WallProxy工具包( V0.3.7_for_windows版傳送門:http://code.google.com/p/wallproxy/downloads/detail?name=wallproxy-win.7z&can=2&q=),或者使用3.2節給出的壓縮包;

  2)解壓縮後得到三個文件夾:gae_server、php_server、local;

  3)啟動Google App Engine Launcher;

  4)打開File-Existing Application,在Application Path中指定三個文件夾中的gae_server所在的硬盤地址,點擊“Add”;

  5)此時會發現SDK窗口中添加了一行內容,選中,然後點擊“Edit”按鈕,開始編輯app文件;

  6)把application:後面的“your-gae-id”替換為你自己創建的GAE-app名稱,即Application Identifer,保存;

  7)回到SDK面板,你會發現name一欄中已經更新為你剛剛替換的Application Identifer;

  點擊“Deploy”,然後在打開的窗口中輸入你的Gmail賬號、密碼;

  點擊“OK”,開始上傳;

  8)上傳成功後即可關閉SDK程序。

  3.6 添加APPSPOT與GOOGLE的IPv6地址的HOSTS地址映射(同2.5節)。

  3.7 配置本地代理

  1)打開三個文件夾中的local,點擊WallProxy.exe;

  2)點擊“設置”按鈕;

  在打開的窗口中,把緊跟GAE_PROXY的一行中的'url'後面的地址替換為你自己的GAE應用地址,格式為'http://XXXXXX.appspot.com/ fetch.php'(注意是php),確定退出;

  3)點擊“啟動”按鈕,此時若一切操作無誤,代理便開始工作了;

4)設置瀏覽器代理地址為:127.0.0.1:8086(注意是8086,GAppProxy的是8000)。

  現在隨便打開一個網站試試吧~不出意外的話,你已經能夠暢遊萬維網了!

  3.8 WallProxy拓展應用

  1)設置多GAE-app,只需在本地代理設置中添加多行GAE-app url即可(當然前提是這些GAE-app已經開通並且配置成功,檢驗是否配置成功的方法是:在瀏覽器中打開這個url,如果頁面自動跳轉到一個叫做“和諧社”的Twitter頁面,就表示成功了- -III)

  2)導入ca根證書

  這是WallProxy的特色功能,也是我青睞它的主要原因;

  在第一次執行WallProxy.exe後,會在local文件夾下生成一個cert文件夾,打開後會看到一個ca證書文件;

  打開後點擊“安裝證書”,然後按照提示將之裝入“受信任的根證書頒發機構”;

  安裝完成後再打開任何SSL等加密連接,都不會再出現使用GAppProxy時遇到的證書無效問題。

  終於可以把默認搜索引擎設為Google with SSL了~

  3.9 WALLPROXY與GAppProxy同時使用

  雖然WallProxy已經足夠優秀,但我還是不願讓它徹底取代GAppProxy,GAppProxy的簡單易用特性還是蠻招人喜愛的;另一方面,畢竟人家做這個完全是義務勞動,再加上n多“不可控”因素(你懂的) ,誰也說不准某天某時某個代理就掛了,到那時該如何是好?

  不如兩個代理服務共存吧~

  可以嗎?

  可以的~就算你手頭只有一個GAE-app,也可以同時開兩個代理!

  還是以前文我申請的名為uestcproxy的GAE-app為例,現在已有http://uestcproxy.appspot.com/fetch.py​​配置為我的GAppProxy代理服務器,如果我再用SDK的把uestcproxy配置為WallProxy的代理服務器的話,很顯然GAppProxy就不能用了。

  解決思路就在於每個GAE-app服務其實可以有多個版本,不同版本對應不同的地址,然後讓GAppProxy和WallProxy客戶端代理不同的地址,就不會產生衝突了。

  具體操作步驟如下:

  1)在3.5節中,注意app文件內容中第二行有“version”,這就是版本號,默認​​為1;

  現在將之改為2.然後保存,上傳。

  2)此時GAE將會為你分配兩個不同的地址,分別是:

  http://1.latest.uestcproxy.appspot.com

  http://2.latest.uestcproxy.appspot.com

  對應兩個不同的版本。

  你若輸入http://uestcproxy.appspot.com/fetch.php,回車後將顯示錯誤;

  而如果改換成http://2.latest. uestcproxy.appspot.com/fetch.php,就可以順利跳轉到那個Twitter頁面了~

  3)現在,把WallProxy的設置頁面中的url改成http://2.latest. uestcproxy.appspot.com/fetch.php,就可以順利使用WallProxy代理上網了~

  4)對於GAppProxy端,則無需任何改動。

  這是因為,儘管http://1.latest.uestcproxy.appspot.com為版本1的地址,但它同時也是默認版本,而默認地址的格式是不變的。

  現在,兩個代理共存共用了!你可以一個代理用來看Youtube,另一個用來上Twitter,何等的暢快啊~

  後記

  寫這篇文章緣於某日在學校BBS上閒逛,來到IPv6版塊,看到大量令人驚奇的IPv6應用文章,其中最令人激動的就是藉助更改hosts文件訪問幾乎所有Google服務,對於我這個Google重度依賴用戶,IPv6簡直就是福音書。

  後來又發生了一件讓人很不愉快的事,讓我對電信的服務徹底失望。我就想,我們繳的網費並不便宜,卻只得到這麼差勁的服務,原因還不就是因為它無可動搖的壟斷地位,這是多麼令人憤懣的事情啊。

  作為一個學理工的,我只能從技術上尋找對策了。

  恰逢在Google Reader中看到一篇介紹GAE的文章,其中提到了搭建個人GAE應用,然後可藉助GAppProxy代理上網。

  在此之前,我已經用過了不下5種代理工具,然而要么我對其安全不放心,要么效果差強人意。

  有著Google血統的東東,應該不會讓人失望吧?

  抱著嚐鮮的心態(凡是跟Google沾邊的服務,我總是要試一試的),用自己的Gmail賬號建立了一個GAE應用,然後下載GAppProxy工具包,簡單幾步配置完成後,打開瀏覽器一試,OMG,這速度真快啊!除了個別SSL網址打開有異常外,其他一切服務堪稱完美~我從未想像在景德鎮看Youtube,緩衝速度會這麼猛。

  爽了一段時間後,我的網費再次告急。

  在去購買新的充值卡的路上,我突然想到在我的hosts文件中包含了大量Google的IPv6地址,讓我得以直接從內網訪問Google,那麼,為何不能以此為通道,借Google作跳板,直接從內網訪問公網呢?

  思路有了,剩下的一切都好辦。

  一天之內,我就搞定了所有的配置工作,然後成功登錄自己的Blog.

  感謝教育網率先開通IPv6服務,感謝GFW的技術遲鈍以致IPv6至今仍是一方淨土,感謝Google一如既往地提供上乘的互聯網服務,感謝那些熱心的人編寫出如此強勁的代理程序。

  採用這種依托GAE平台的代理服務上網,最實際的效益就是:網費開支為零——沒有哪位同學要請我喝一杯麼?

  不過最令我感到欣慰的,並非省去了一筆網費,而是我在完全合理、合法的情況下,完成了一次對既有約束的突破。

  在這個死氣沉沉的大局域網之內,我通過某種不溫不火的方式為自己找到了一絲自由的感覺,這,才是最大的收穫。

  來源:讀者與非投稿,原文鏈接

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,文章转自月光博客

Comments are closed.