我目前最常用的“身體鍛煉”方法有三種:

  1. 某Google AppEngine代理軟體:我瞄了一下原始碼,應該是利用寫死一大串可互相替代的ip地址來解決Google AppEngine不斷被河蟹的問題。速度挺快的,但是由於Google AppEngine的限制有些功能並不支援,在這些狀況還是得藉助其他方法。
  2. SSH Tunnel (Tunnelier):  Tunnelier由於沒有某些限制所以比putty快,但是我手上的ssh服務器速度都沒有Google AppEngine快,所以我只是用來補強Google AppEngine。
  3. VPN:  在Linux裡要用apt-get,pip 之類的東西時用。由於在Linux裏面設定全域的proxy比較麻煩,VPN是快速的解決方法。缺點是VPN是全域的,如果看的是中國網站,連到美國然後再連回來實在有點荒謬,另外免費的VPN服務在高峰期不太穩定,據說付費的也沒好到哪裡去

另外我還用了foxyproxy和switchyproxy來減少不必要的代理使用。

昨天我思考了有沒有可能在天朝內架一個squid服務器,然後將請求加密轉發到美國的服務器(比方說一個免費的EC2 instance),以簡化鍛煉時客戶端的設定。但是我發現由於瀏覽器到squid服務器的HTTP請求還是明碼的,這個想法顯然相當愚蠢且在大範圍上不可行,只能用在比方說公司的內網裏面。但我倒是找到了一個不錯的方法來改進目前我手上的鍛煉手段,也就是利用haproxy這個負載均衡服務。

簡單來說就是在本地服務器上開好幾個ssh tunnel, 分別使用不同的ssh服務器, 然後用haproxy來建立一個Socks5的前段,後端則是用負載均衡的方法在各個ssh tunnel間切換分流,如此一來有兩個好處:

  1. 充分運用手上頻寬:單個SSH服務器到你這裡的頻寬可能不到你的物理頻寬上限,好幾個服務器加起來應該是綽綽有餘。
  2. 依據狀況分配流量:如果某個SSH服務器的頻寬較小,可以按較小的比例分配流量給它。
  3. 簡化客戶端設定:客戶端電腦上不用再開Tunnelier或Google AppEngine代理的client了,只要設定瀏覽器的socks代理就可以。

如果在你的內網中有個Ubuntu的服務器或虛擬機,haproxy應該能很大程度上的緩解身體鍛煉的痛苦。

配製方法很簡單,首先sudo apt-get haproxy,然後在/etc/haproxy.cfg填上(先洗掉原有內容):

global
log 127.0.0.1    local0
log 127.0.0.1    local1 notice
maxconn 4096
user haproxy
group haproxy
daemon

defaults
mode tcp
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms

frontend socks5
bind 0.0.0.0:7777
default_backend ssh-balance

backend ssh-balance
balance roundrobin
server ssh1 :1080 weight 20
server ssh2 :1081 weight 20

其中最下面的兩行ssh1和ssh2是你在本地開啟的ssh tunnel轉發服務,下面會寫如何開啟。現在先修改/etc/default/haproxy:

# Set ENABLED to 1 if you want the init script to start haproxy.
ENABLED=1
# Add extra flags here.
#EXTRAOPTS="-de -m 16"

這樣開機就會自動啟動haproxy了,也可以用sudo service haproxy <command>來管理。接著是打開ssh服務:

ssh –qCNgD 127.0.0.1:1080 <user>@<ssh server address>

最好在ssh server端設定好public key的信任關係,以方便自動化ssh開啟服務。

你可以寫個script讓ubuntu在開機的時候就啟動1080和1081兩個ssh服務,也可以使用supervisor來管理它們的process(es)。

最後在你的瀏覽器上設定socks代理為<address of your ubuntu>:7777就可以開始鍛煉了

One Comment to “利用haproxy加速SSH Tunnel身體鍛煉”

  • 上個網 還要這樣搞reverse load balancer 真的是辛苦了

Post comment

最近的文章

最近的回應

文章分類

文件櫃

統計

cPanel Reseller Hosting