雖然說 ISP 擋掉 BitTorrent 是很常見的事情,但是阻擋到影響一般日常用途就實在令人非常火大啦。調查起因是我試著在凱擘(東森媒體科技)用 OpenVPN 連回幾個位在 Hinet, Seednet, TANet 的伺服器上,在其他的 ISP 使用大致沒有問題,但是使用 Kbronet 總是會斷線,而且斷線方式是小量傳輸沒問題,但若傳輸量稍高就會被切斷連線。於是出現可以 ssh over OpenVPN 勉強可登入, 但是只要一 ls 就斷線的鳥事。原本 OpenVPN 的 server port 設定是 UDP 1194,改成 TCP 1194 後便沒有斷線問題。去電客服,當然死不承認有限制頻寬擋 P2P 軟體這件事情。問題是 Kbronet 除了 擋 BitTorrent 常用的 6881-6888 外,連其他的 UDP Ports 都一併擋掉,害我無法正常使用 OpenVPN 實在很惱人。
因此拿出 iperf + wireshark 實測一下,發現若是 Port 6881-6888 使用 TCP 瞬間就會收到TCP RST injections,而 UDP 也會收到莫名其妙的 ICMP Port unreachable 封包。這也就是為什麼 OpenVPN 老是斷線的原因。也因此如果在 Kbronet 用 BT 只用預設的 688x Ports, 下載會非常緩慢。
不過 Kbronet 看來尚未進化到 Content Filtering 的程度,將 rtorrent port 改到 80,未加密的 BitTorrent Connection 在 2M/256 的線路上大約可以衝到 215 KB. 一不做二不休也就把 DHT Port 改到 53 去了。
誰應該去把 Kbronet 加進 Bad ISPs 才對。(花了數分鐘才搞懂原來 wiki 編輯帳號得去 IRC 討,偏偏 #azureus-wiki Channel 裡面沒人。)