年末の帰省中に、auひかりを契約している実家にOpenVPNを構築しました。
帰省から帰ってきて接続してみると、なんかすぐ切れて使い物になりません。
たぶん問題は解決したので、メモしておきます。
構築したOpenVPNについて
- OpenVPN 2.3.6
- L3接続のtunを利用
- UDPプロトコルを利用
- クライアントにはTunnelblickを利用
- すべての通信をVPNを経由するように設定
接続していると、、、
最初の二分間くらいは疎通してたんですが、その後
1
|
|
というログを吐いて接続不可になります。pingも通りません。
「予想通りの切断」ですか、はあ。俺は予想してないぞ。
試したこと
mssfixの設定→失敗
このページを参考に、双方のコンフィグに
1
|
|
を追加してみました。しかし、あまり変わらず。
そもそもpingも通らないんだから、違う気がする。
tun-mtuの設定→失敗
1
|
|
を設定してみました。結果、切断は回避されません。
困ったな。
ジャンボフレームの透過→失敗
HGWで、ジャンボフレームの透過を設定してみました。
結果、やっぱりあまり変わらず。
tcpをつかってみる→すこし成功
udpではなく、tcpで通信してみました。
結果、切断はされない気がしてました。
しかし、速度が遅すぎて使い物になりません。udpの半分くらいです。
できればudpを使いたいですねえ。
udpのポートを変更→成功!
udpのポートを初期設定の1194から変更してみました。
するとなんと、接続が切れないじゃないですか!
今でも安定して動いています。やったね!
原因を考えてみる
ログ
1
|
|
というログは、手動で接続解除した際にも出てくるログです。
ということは、パケットが詰まってたりして起こったのではなく、接続自体が遮断された可能性があります。
また、ADSLを利用しているアパートのOpenVPNは切断されません。
ここから、これはauひかり固有の問題ではないかと考えました。
VPNを遮断?
これはあくまでも予想ですが、auひかりは、意図的にVPN通信を遮断してるんじゃないんですかね?
well-knownポートである1194を利用した接続 = OpenVPN = 切断!
といったことをしてると予想します。
一応、利用規約を見る限りでは制限している項目はなさそうですが、、、プロパイダですかね。
ちなみに、プロパイダはBiglobeを契約しています。
Biglobeの利用規約の第12条の3(トラフィックについて)の項目に則って、帯域制限されてるんですかね。こればっかりは中の人に聞いてみないとわからないですね。
今後の予定
このページを参考に、チューニングをしたいと思います。
AES-NIを利用するとだいぶパフォーマンスが向上するみたいです。kvmホストで利用しているNUC(BOXDC53427HYE)のCPUはどうやら対応しているみたいなので、楽しみですね。
さいごに
万が一この利用が各種利用規約に違反している場合は、ご連絡ください。対処いたします。