2020年8月20日 星期四

科學上網!CentOS 7.8上安裝 Shadowsocks 翻牆神器


科學上網或是翻牆、是對岸的用語,主要是因為中國大陸有GFW這個偉大長城的流量監控審查機制,導致從中國往海外的部分網路訪問行為可能被禁止,為了規避這種限制,透過例如VPN這種網路連線技術來偽裝、加密封包本身來讓GFW無法判斷出該網路連線的意圖,進而允許通行。

狹義來看,說到科學上網或是翻牆,大家就會聯想到VPN這個技術,一般是 pptpVPN、l2tpVPN、SSLVPN...等,但在GFW不斷進化的同時,既有的方法已不足以應付,更多的是被GFW監控到進而被禁止的VPN連線訪問,因此在幾年前由一位大陸網友開發出ShadowSocks傳輸協定,以OSI第七層的資料加解密加上不同於SSLVPN這種長連接特徵的方式來達到更不易被GFW偵測封鎖的目的。

測試環境:阿里雲(香港)ECS
作業系統:CentOS 7.8
預設阿里雲安全組全部埠號放行,iptables防火牆全部關閉,SELINUX全部關閉



安裝Shadowsocks服務


如果你自帶的python是3.4或2.7.9版本以上,那已經自帶pip了,可以跳過這個步驟。

[root@server ~]# curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
[root@server ~]# python get-pip.py

接著直接安裝Shadowsocks套件

[root@server ~]# pip install shadowsocks

為shadowsocks編寫一個設定檔,server_port可以指定一個沒有在使用的,shadowsocks是沒有多用戶概念的軟體,只需指定一組password即可驗證,其他的參數基本預設即可

[root@server ~]# nano /etc/shadowsocks.json

{
    "server":"0.0.0.0",
    "server_port":40444,
    "local_port":1080,
    "password":"123456789",
    "timeout":600,
    "method":"aes-256-cfb"
}

替shadowsocks建立一個service檔案,以便加入系統服務

[root@server ~]# nano /etc/systemd/system/shadowsocks.service

[Unit]
Description=Shadowsocks
[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/ssserver -c /etc/shadowsocks.json
[Install]
WantedBy=multi-user.target

啟用shadowsocks服務並預設為開機時啟動

[root@server ~]# systemctl enable shadowsocks
[root@server ~]# systemctl start shadowsocks



安裝客戶端軟體


測試地點在台灣,測試設備為小米9T Pro,搭載的是android10作業系統,首先於市集安裝shadowsocks客戶端

執行影梭(shadowsocks客戶端),會有一組預設的假資料,點擊鉛筆圖示來編輯它

將伺服器改為你伺服器的外網IP,連接埠參照上面伺服端所設置、密碼也是,之後打勾儲存

我們來看看在沒有連線shadowsocks伺服器之前,以chrome從台灣連線到大陸的騰訊視頻會出現「因所在地區無法播放」的訊息,一般來說都是牆內的人想要翻牆出去,但由於我們實驗地點的關係,反而是從牆外想要翻牆進中國大陸,這也是俗稱的逆翻牆

接著點擊Shadowsocks軟體下方的小飛機圖示來啟用翻牆服務(圖示反綠即為啟用)

再回chrome重新整理頁面,發現已經沒有所在地區限制了,shadowsocks翻牆成功!


Shadowsocks支援各大平台客戶端裝置,除了上述的Android客戶端外,還有iOS、Windows與MAC等,這裡我們要知道,沒有一種VPN手段或翻牆方法可以絕對規避中國大陸GFW的封鎖限制,所謂道高一尺魔高一丈,有新的規避方法自然就會研發出新的檢測方法,無論你是人在大陸想要翻牆出海外,或是人在海外想要翻牆進大陸獲取當地資源,如果不想被這全世界獨一無二的中國牆GFW限制,建議狡兔三窟,多配置幾種VPN工具,以避免悲劇。

0 意見: