WiMAX導入+OpenVPNのMTUチューニング
Category : サーバ管理日記
Published by M-naka on 2011/5/15
BIGLOBEでWiMAXを始めた。
接続機器はWiMAXルータ「WM3500R」。

AIR-EDGE接続の後継を探していたところ、栃木の実家は既にエリア内、長野の祖父母宅付近もどうも利用可能になりそうなエリア拡大っぷりなので、多少フライング気味ではあるが、キャンペーンでルータ代無料なことと、消費で経済を回すぜ!というオレオレ震災復興支援、を理由にして使い始めてみた。ほぼ同時にAndroidタブレット「Smartia」も買った(詳細は別記事化予定)。速度的には実効で2〜3Mbps程度。爆速というわけではないが、十分である。

で、WiMAXを使い出して問題が1つ発生。
WiMAX経由でOpenVPN接続が上手く行かないのだ。

Pingは問題なく返って来るが、

◆IMAP4Sでの受信メールボックスオープンがタイムアウトで失敗する(認証は通る)
◆FreeNXでのリモートX-Window接続が確立しない
◆SSH接続でのコマンド実行時、アウトプットが途中で切れることが多発する
◆HTTPとHTTPS接続も正常に行えず、ページがきちんと表示されない
◆HTTP・HTTPSプロキシに正常に繋がらない

という症状。仮想PCとのRDP接続は問題なく行える。OpenVPNの接続設定は何ら触っていないのに、AIR-EDGE接続では上手く動くのにWiMAX接続では上手く動かない。何だこれ???

通信経路そのものは確立できているので、あとは通信自体の問題と推測。調べてみると、どうもMTU(Maximum Transmission Unit)の問題っぽい。OpenVPNではMTUがデフォルト1500で、これが今回、WiMAXルータを噛ませるようになったこととの関係で支障を来たしている(=フラグメンテーション多発による通信異常)ようだ。確かに、症状からデータサイズの小さい通信はできて大きい通信がNG、という傾向なので、合点が行った。

OpenVPNのコンフィグファイルでMTU値と1280(※この値は適当に決めた)に制限するため、

 mssfix 1280

と追加して解消。代わりに「fragment」ディレクティブでも良いそうだが、mssfixの場合は一方だけの設定で良く、fragmentの場合は対向で同一の設定にしなければいけないようだ。不要とは思ったがmssfixを対向で同一設定にしておいた。

これでWiMAX経由でのOpenVPN接続が正常化。WiMAX接続でのVPNがフルに利用できるようになった。やはりMbpsクラスでのVPN接続は快適である。