8.29.2015

在 ConoHa 上以 Ubuntu 14.04 LTS 架設 Shadowsocks 服務

在文章的開頭,謹此向 Shadowsocks 唯一的開發者 clowwindy 致敬

clowwindy 撰寫了這套基於 Socks5 協議撰寫的代理伺服器程式,雖然最終他因為疏於保護網路身分,導致真實身分被揭發,進而在被有關當局施壓後刪除了 Github 上所有的 Shadowsocks 程式碼,但是 Shadowsocks 與它基礎架構的 Socks 會繼續活下去,發展茁壯,生生不息


之前介紹過在 VPS 主機上運行 PPTP 協議的 VPN 或是 OpenVPN-Access Server 之後,這次來介紹 Shadowsocks 這套基於 Socks5 協議撰寫的代理伺服器程式

其實 OpenVPN-Access Server 搭配大頻寬 VPS 後已經堪用,但是 Shadowsocks 還是有它吸引人的地方,以下列舉

  • 十分的省電
  • Shadowsocks 與其他 VPN 相比之下十分的傑出,電量的消耗極低,這點在行動裝置上更加明顯

  • 支持自動連線與自訂路由表
  • 在網路不穩的環境下可以十分流暢的切換,而自訂路由表則能夠針對個別使用者的環境做網路導向

  • 可自行架設 Shadowsocks 伺服端
  • 當然有基礎的 Linux 常識下自行架設 PPTP、IPSec、L2TP 甚至 OpenVPN 都可以,但 Shadowsocks 的伺服端不需要很高的硬體需求,一般來說 512MB 的記憶體與 10GB 的儲存環境下搭配 Ubuntu 就可以穩定的運作

  • 傑出的隱蔽性
  • Shadowsocks 可以使用 AES ( Advanced Encryption Standard,高階加密標準)搭配自訂密碼來加密整個傳輸過程,也就是說伺服端與使用者之間的傳輸過程無法被讀取其內容,基本上旁道攻擊之外的方法是無法探知傳輸內容的,也就是說除非伺服端或使用者被入侵,否則傳輸過程是安全而隱密的

    而惡名昭彰的防火長城可以利用 IDS ( Intrusion-detection system,入侵檢測系統)來探查 OpenVPN 的連線建立封包,進而干擾它的傳輸能力,然而因為缺少明顯的連線特徵與高度加密性,防火長城並不能知道 Shadowsocks 正在進行加密傳輸,當然透過發覺大流量的、特定傳輸埠號的 SSH 連線還是可以封鎖單一網路位址的連線,但並無法探查、解析 Shadowsocks 的傳輸

  • 打破防火長城的神器
  • 承上點,對於在大陸地區辦公的外籍人士而言,防火長城造成了眾多干擾,雖然說 VPN 可以突破封鎖。但是在防火長城封鎖日益僅的今日,連 OpenVPN 都可能被干擾的情況下,Shadowsocks 的高度突破能力就十分的吸引人

然而請注意,Shadowsocks 僅是 Socks Proxy 的一種,並非 VPN 協議建立加密的私人通道,它僅僅是個代理伺服器而已,與 VPN 協議有差異

2015_08_23_144218
因為要去大陸地區辦公,作為 OpenVPN-Access Server 的備案,來弄個 Shadowsocks 保平安

雖然說 Shadowsocks 的開發者 clowwindy 在被有關當局施壓後已經刪除了 Github 上所有的 Shadowsocks 程式碼,但 Github 上還是有跟山一樣高的自動安裝資源跟備份,直接導入系統後就可以一路按「Y」到底了,當然也可以自己弄一些額外的設定就是了

安裝教學如下

如果要設定多個使用者

如何去維護與控制 Shadowsocks 伺服器

到這邊伺服端的處理都完成了,而 Shadowsocks 使用者端的軟體基本上填入你的伺服端網路位址、傳輸埠號、加密方式與密碼就可以了

以台北地區的 vDSL 服務作測試,理論頻寬 100M/40M,國內直接連線到伺服器延遲約 27 微秒,你說在防火長城之下的連線效能?我覺得能用就要偷笑了


2015_08_24_200500
測試結果

3 則留言:

  1. 您好,請問這款代理支援 Socks5,那可否在不安裝他 client tools 的情況下直接設置IE的代理設定使用?
    透過自架在內網的 Socks5 proxy server 進行代理來上網的話,對於安全性是否有疑慮?

    回覆刪除