回國翻牆(科學上網)101

本帖於 2024-06-16 17:05:13 時間, 由普通用戶 楓散仙 編輯

回國翻牆(科學上網)101

父親節,祝壇子裏的父親們快樂!

今天聊一聊二十一世紀中國最偉大的發明 – 防火長城。

從業網絡工作多年,沒想到連自己翻牆也是困難重重,費了不少勁才跟上牆梯更新的步伐。回顧在網上查找到資料,感覺都缺少對翻牆的基礎知識的介紹,使得局外人(即便是網絡專業人員)很難找對入口。特別是在網上 Google 時,結果會出現許多 VPN 商業軟硬廣告,產生誤導。在此我記錄一下我的學習心得,以餐有需要的朋友。

本文不是教人如何翻牆的,因為這些翻牆教程網上到處都是,甚至讓人無所適從。這裏旨在介紹翻牆相關的基礎知識和社會環境,讓讀者在製定自己的翻牆計劃時有的放矢。

(一)曆史回顧

就像長城(Great Wall)一樣,防火長城(Great Firewall,GFW)也是中國獨一無二的。不同的是,長城是固定不變的,而 GFW 則時時在加高,而且在某些敏感時期會額外增加防護網。用普通的梯子是很難跨越的,即便僥幸過去了幾次,也無法穩定地長期使用。

防火長城被戲稱牆,來源於防火牆技術。現在,“牆”不僅是名詞,也是動詞:“被牆了”就是被斷了翻牆的通道,被“屏蔽”了。

同樣,“翻牆”這個土詞也出現了“科學上網”這個陽春白雪的同義詞,我想這裏主要是有兩層含義:一是在國內的科研院所需要到外網查找資料,二是在國內的“局域網”不夠科學。

近十幾年來,牆越建越高,用來翻牆的手段也不斷更新。圍繞著這種魔道爭霸,其相關的技術已經自成體係,不斷進化,充分體現了魔高一尺,道高一丈的關係。

基於 VPN 的手段,不管底層是 IPSec,IKE 還是什麽 SSH tunnel 之類的,基本上都是基於信息安全的設計,也就是監聽者無法看到加密的傳輸內容。這是傳統信息安全的首要目標,但不是翻牆的主要目的。用這些 VPN 來翻牆有諸多問題:

  • 國外的大牌產品,如 ExpressVPN 等,關注的是信息安全,雖然也可以翻牆,但不是買點 – 他們主要是為了歐美的信息安全通信提供保護。
  • 一旦那些大牌產品用於國內翻牆多了,就會被針對,於是 GFW 加高,有針對性的防止這些 VPN 產品。而這些開發商也不會調動太多的資源進行這種魔霸之爭。
  • 一些小的品牌就更沒有資源去不斷更新翻牆技術了,特別是有一些小品牌可能就是國內官方的魚餌。據說有不少人因為用了某些 VPN 翻牆而被喝茶。

小的 VPN 開發商跑路就更是常見了。隨著近幾年 GFW 的不斷加高,VPN 翻牆基本已經成為雞肋,隻有那些大品牌的廣告宣傳還是轟轟烈烈,但實用時穩定性極差。

那麽自建 VPN 怎麽樣呢?我前兩日安裝了一個 Amazon AWS EC2 的虛擬服務器,在上麵搭了 一個 VPN 服務,在我的手機上運行很好,可惜,在國內就被牆了。我了解一下,好像就是 Amazon 的 IP 地址都已經上了黑名單。

總之,耗費時間精力有點得不償失。就算現在通了,不知什麽時候又會被牆,需要不斷維護,不如用別人專業的服務更劃算。

早年的網絡安全技術 VPN 為代表的翻牆手段已經很難適應這種魔道之爭了,近五年出現的“機場”方式更能體現“道高一丈”。現在的翻牆技術都轉向了“機場”了。

(二)與牆相關的網絡技術101

熟悉網絡技術的朋友可以跳過這一段。

現在互聯網的網絡基礎可以說是三十年未變,還是基於 IP 地址上的一係列協議。我們在網上通訊,最底層都會被打包成為一個 IP 包,包頭上有兩個重要的信息:源 IP 地址和目的地 IP 地址。以 IPv4 為例(現在互聯網上的流量還是以 IPv4 為主),就是如同 52.132.254.12 樣子的四個小於 255 的數字標識。

每個 IP 地址都代表網絡上的一個節點。比如我們拿手機用流量看油管時,發出的信息包都有一個類似的 IP 地址作為源地址 A,而油管的服務器的 IP 地址就是目的地地址 B。反過來,油管發回給我們的視頻數據包裏正好把這兩個地址換了一下,B 為源地址,A 為目標地址。當然這是一個簡化的示範,加入路由後事情就會很複雜了。

用 IP 地址作為通訊的標識對計算機很方便,但對人們則不是很友好。所以人們對網絡節點還賦予了名字,叫 hostname 或 nodename。比如 www.youtube.com:這個 www 就是服務器的主機名,youtube 是域名,com 是頂級域名。網絡上的每個節點都可以賦予一個名字,並綁定到一個(或多個) IP 地址上。

但網絡通信還是用 IP 包的,發包的計算機知道自己的 IP 地址,可是它如何知道目的地的 IP 地址呢,比如上麵的 www.youtube.com。互聯網的設計者在網上安排了若幹的域名服務器,負責解析這些域名/主機名到 IP 地址。全球有 13 根域名服務器來解析頂級域名下的地址,有一兩千個鏡像服務器來分流。這種域名服務叫 DNS – Domain Name Service,它們不僅需要物理的計算機服務器,也代表著一個協議,支持各個網絡節點的域名服務請求。所以,每個網絡節點計算機都需要設置 DNS 服務器的 IP 地址才能上網(在局域網內,網關 Gateway 可以自動提供 DNS 服務器)。

好了,主要的“牆”技術和“翻牆”手段都圍繞著上麵的最基礎信息展開。

“牆”隻是網絡世界對現實世界的一個形象描述,而實際上網絡世界裏的牆和現實世界裏的情況是不一樣的。網絡世界裏的牆可以理解為籬笆,中間總是有許多漏洞,理論上就不可能完全堵死。除非真的換成土牆,但那樣就徹底隔絕了,成了地地道道的局域網,連官方通過也隻能走專線(門),這明顯不靠譜。

所以,嚴格地說,牆不僅是不斷加高,而且是不斷加密,堵塞漏洞。而牆的嚴密的程度和牆內有需要的人“合法”出牆的難度成正比,所以理論上牆總是有漏洞的,而且需要有漏洞。我理解官方的要求是“漏洞可控”,而不是完全堵塞漏洞,否則成本太高,承受不起。

舉個例子。美加邊界有近九千公裏(包括加拿大和阿拉斯加的邊界),要想建牆堵住是不可能的。所以隻在有公路通過的地方設卡,估計所有公路上的美加邊境障礙也不過幾公裏長。如果有人經常走某個小路非法越境,時間長了管理層可能就會建一段牆堵住那個小路。但總體上說,能通過的地方是遠遠多於不能通過的地方,隻是人們都習慣了走大路,這才覺得到處是牆。

為此,GFW 開發了一係列的相關技術用於檢測和幹擾“非法”翻牆:

DPI (Deep Packet Inspection)技術 – 分析 IP 數據包內內容。對於 IPSec 的數據包,隻有兩個 IP 地址可見,但現在有大數據,可以據此判斷目標地址是否該堵。這也是 VPN 翻牆經常出問題的一大原因。

DNS 汙染 – 當 DPI 發現數據包內有問題,GFW 就可以馬上給發包節點發回假的 DNS 信息,讓該節點的通信異常。

IP 封鎖 – 當認定某個 IP 地址是禁止訪問的,就對之進行牆內全網封鎖,當然也就無法建立通訊了。這裏麵具體的還有各種手段,就不一一列舉了。

VPN 屏蔽 – 為了翻牆,VPN 開發商往往把數據包偽裝成各種“合法”數據,但由於 VPN 技術的特點,這些包總會有某些特征,稱為指紋。就像當年查病毒軟件一樣,GFW 可以根據這種特定的指紋信息對數據包進行欺騙處理。

如此種種,不勝枚舉。但萬變不離其宗,就是對數據包的檢查和封鎖。

(三)機場介紹

先從 VPN 技術說起。VPN 商家製作一個軟件 (或手機上的 app),用戶就在自己的計算機/手機上安裝後直接可以訪問外網了。

VPN 如果沒有 GFW 是很方便的,不需要用戶有多少網絡知識就可以使用。但這也產生一個致命缺陷,就是這個軟件是一個“穩定”的產品,這也意味著從這個軟件發出的數據包都會有某些遺傳特征,數據包的目的地也都是比較固定,時間長了 GFW 就會發現。這就是為什麽傳統的 VPN 很難勝任翻牆工作的根本原因。不管它做得多隱秘,隻要用戶多了、流量大了,就會被針對,然後被屏蔽。這種 VPN 和 GFW 的鬥法讓用戶很無奈,經常會出現 VPN 很長時間不能用,甚至以月來計。相信多數人沒有毅力在一兩個月 VPN 不好用的情況下還繼續期待著吧。

機場采用的是積木式方法來搭建。從底層技術上來說,它並不比 VPN 先進。雖然采用了許多新的協議,但那些東西都是大同小異,如果 GFW 給力的話,都可以咬上一口的。但機場把客戶端的應用和翻牆用的服務器分離開來,這樣隻要那些各種翻牆的服務器足夠多, GFW 是忙不過來的,即便屏蔽了幾個,客戶很快可以導入其他的機場,繼續翻牆。這樣就大大地提升了翻牆的客戶體驗。

機場是翻牆機場的簡稱,這個名字來源於其起初的 Shadowsocks 協議,其客戶端是一個小紙飛機 – 是不是和 Telegram 的圖標也有點像?這個詞沒有英文對應,是完完全全國產名牌 。

必須說明,機場的信息安全性(不被監視)是不如 VPN 的。當然,想要偷窺機場傳輸的內容也不是那麽簡單。所以 GFW 也沒有能力去全部過濾如同雨後春筍般的機場。

其實,就我的理解,這些機場也都是在某種監控之下的。作為監管方,他們比我的手段、經驗、技術高多了,如果真的想要對付某個具體的機場或 VPN 是輕而易舉的事兒。但凡事都有副作用,平衡利弊是關鍵,當副作用過大時,殺敵八百自損一千的事兒就沒人幹了。這些副作用都有什麽呢?

  • 監控資源,需要人力物力
  • 屏蔽耗費,可能會影響其它常規服務,比如現在常用的企業虛擬網絡
  • 翻牆不僅僅是功能,也是權力,讓某些人合法、半合法翻牆就是權力的體現
  • 這個建牆翻牆活動本身就是一個產業,全封死了產業也就死了
  • 封鎖太死不透氣,人會憋死,連高壓鍋也有泄氣閥

也許還有其他的原因。所以我認為徹底嚴封“非不能也,實不為也”。但為什麽當局對 VPN 斬盡殺絕呢?當然一方麵是它可以做到,另一方麵是 VPN 讓反賊們交流太容易了。其實,他們隻知其一,不知其二:如果用機場搭了梯子,然後再用 WhatsApp 一類的端到端加密通訊,其安全性不比 VPN 差。

機場也分專線(如租賃 IPLC/IEPL)、直連和中轉。專線是最好的,就像上山坐纜車一樣, 沒有 GFW 幹擾,但價格昂貴,往往是企業內部專用,這是“合法”翻牆的;直連就是直接連到國外的服務器,不經國內的服務器中轉,其缺點主要是因服務提供商不同其網速迥異,現在已經不多了;中轉式是性能價格比最高的方式,也是有當局某種默許的成分在裏麵。

說起來好像挺複雜,實際上隻要了解了原理,安裝機場並不是太難的事兒。

現在流行的操作係統都可以安裝機場客戶端,比如 Windows,Linux,MacOS,Android,iOS 等。但不同的操作係統有不同的客戶端,而且這些客戶端在中國的 app store 裏往往不支持 – 需要登錄到外國的 app store 裏下載。非蘋果產品有直接安裝的優勢,不必受此累,但也會產生安全顧慮(有一得就有一失)。

以 iOS 為例,有付費的 Shadowrocket (USD $2.99),有免費的 FoXray,V2Box,Sing-Box 等。這些客戶端大多都支持各種翻牆協議。大陸客戶必須在境外注冊 Apple ID 才能下載。

有了客戶端,就可以訂購機場服務了。網絡上搜索翻牆機場 2024 就會給出大量的機場,本文不做廣告推薦。

在搜索機場時,用“翻牆機場2024”作為關鍵字即可。放上年份是因為這些信息的時效性很強。另外,也要注意區分 VPN 和機場。機場在實際使用時會像 VPN 一樣,而 VPN 在做廣告時又和機場一樣,很是混亂。

在找機場時還需要注意以下原則:

  • 開始不要貪圖單價低而訂閱長時間的服務,因為機場也可能跑路,也可能被拔線,需要觀察一段時間。
  • 訂閱分類:按時間流量(月、季、年)還是按流量無限時,需要按自己的需求而定
  • 信譽度(看看運行了多久、網評怎麽樣)
  • 不要用任何免費的東西,“免費”是最貴的,是誘餌

訂閱後,按機場的要求說明,導入 profile 到客戶端,就可以像 VPN 一樣使用了。要注意那些 profile 需要經常更新,以免被牆。

(四)總結

幻想買一個 VPN 軟件就可以在國內翻牆的朋友,可以洗洗睡了。

翻牆是一個持續的魔道爭霸賽,不僅僅 VPN 不能一勞永逸,用機場也不行。最好的辦法是加入翻牆群,比如 Telegram 有不少這樣的群,有許多就是機場開發商建的,可以跟蹤目前的實用翻牆技術。另外和幾個搞機場的朋友的連上微信,以後就方便多了。

不要完全相信哪個機場。他們可能會跑路,可能會被拔線,也可能本身就是當局設的。

作為用戶,機場有三類:

  • 大容量高速,按月付費 (¥50~¥100) – 這個往往比較貴,適合經常翻牆看油管、奈菲和 Pornhub 的。
  • 廉價按月付費(¥20~¥50) – 這個試用於定期出來逛一圈的。
  • 按流量付費 – 這個試用有需要偶爾打理一下境外業務,比如看看 gmail,銀行信息等。

大家可以看到,機場其實比 VPN 要便宜一些。上麵的價格都是按月付款,按季按年都另有優惠。

作為機場用戶,應該有狡兔三窟,就是同時準備幾個機場。比如,有一個大容量的作為主機場,另安排一兩個不限時按流量付費的備份機場,當主機場出問題時,備份機場就可以生效了。它們之間是不衝突的。

至於付費方式,這些機場基本都是支持支付寶、微信付款的,因為主要客戶群畢竟是在中國國內。

對於短期回國旅行的朋友,在國內翻牆時還有另外兩種方法:

  • 在自己原來的手機計劃上增加中國漫遊。這個比較貴,但短期也還可以。
  • 另買一個 esim,比如 Airalo 的,便宜許多。

這兩種方式都可以訪問外網。

----

本文是基於身在國外,需要臨時回國的角度來考慮回國後如何翻牆出來的。從國內同胞的角度可能會另有考慮。

本人也是脫離網絡技術多年,錯誤和謬誤難免,望讀者海涵。

 

 

 


更多我的博客文章>>>

 

 

所有跟帖: 

這次回國主要用藍貓客戶端訂閱免費節點溜達某城某園某管等消遣網站,全時段速度很快, -Oneshotkill- 給 Oneshotkill 發送悄悄話 (125 bytes) () 06/16/2024 postreply 23:06:06

跟不上趟了 -slow_quick- 給 slow_quick 發送悄悄話 slow_quick 的博客首頁 (0 bytes) () 06/17/2024 postreply 09:36:43

估計名詞概念有些不同。。。 -slow_quick- 給 slow_quick 發送悄悄話 slow_quick 的博客首頁 (760 bytes) () 06/17/2024 postreply 10:30:12

我和你的理解差不多。隻是obfuscation,我倒是覺得不是重點,因為這是比較簡單的部分。 -楓散仙- 給 楓散仙 發送悄悄話 楓散仙 的博客首頁 (291 bytes) () 06/17/2024 postreply 11:53:44

可以在自己家裏設機場嗎? -slow_quick- 給 slow_quick 發送悄悄話 slow_quick 的博客首頁 (0 bytes) () 06/18/2024 postreply 10:52:24

理論上可以,但有兩條:一是你的ISP需要支持靜態IP;二是你的router是開放式的linux可以安裝軟件,或本就支持。 -楓散仙- 給 楓散仙 發送悄悄話 楓散仙 的博客首頁 (0 bytes) () 06/18/2024 postreply 13:31:57

我有ASUS router,支持ASUS Merlin,可以進去 -slow_quick- 給 slow_quick 發送悄悄話 slow_quick 的博客首頁 (0 bytes) () 06/18/2024 postreply 18:45:36

還有DDNS,IP 即使變動從外麵也能找到 -slow_quick- 給 slow_quick 發送悄悄話 slow_quick 的博客首頁 (0 bytes) () 06/18/2024 postreply 18:46:27

那就可以一試了。IP 地址變了可以更新配置,設置成機場也沒問題。 -楓散仙- 給 楓散仙 發送悄悄話 楓散仙 的博客首頁 (0 bytes) () 06/18/2024 postreply 22:10:18

看到一個視頻,怎麽在ASUS RT-AC86U上安裝V2Ray srever... -slow_quick- 給 slow_quick 發送悄悄話 slow_quick 的博客首頁 (259 bytes) () 06/19/2024 postreply 11:16:01

最鬧心的是長時間的維護。不知道何時ISP或GFW變化,導致你的東西需要更新,就又得撿起記憶... -楓散仙- 給 楓散仙 發送悄悄話 楓散仙 的博客首頁 (0 bytes) () 06/19/2024 postreply 11:50:33

機場維護是有成本的,如果一個免費機場可以長期使用,往往是另有原因的。 -楓散仙- 給 楓散仙 發送悄悄話 楓散仙 的博客首頁 (0 bytes) () 06/17/2024 postreply 11:26:34

謝謝介紹,明白了機場的來曆,也介紹了各種機場客戶端與使用方法推薦 -hot_powerz- 給 hot_powerz 發送悄悄話 hot_powerz 的博客首頁 (42 bytes) () 06/17/2024 postreply 08:26:28

我也是摸索著學習,不一定都是對的。 -楓散仙- 給 楓散仙 發送悄悄話 楓散仙 的博客首頁 (0 bytes) () 06/17/2024 postreply 11:27:22

用這個 v2rayNG 超級棒 -唐西- 給 唐西 發送悄悄話 (0 bytes) () 12/03/2024 postreply 14:27:10

請您先登陸,再發跟帖!