2014年10月5日の日記の1番目の記事へのコメント
■VyprVPN
天気が悪かったので、今日もVyprVPNと格闘することに。AirStatin WHR-G301N + DD-WRTよりもパフォーマンスが出ることを期待して、Linuxマシンにルータをやらせてみました。Linuxマシンと言っても、Fedora 20を入れたエプソンのNP30SにバッファローのUSB-Ethernetアダプタをぶら下げただけの、お手軽なやつですが。
とりあえず、この辺とかこの辺の、UbuntuなどをVyprVPNに繋いでいる人達の設定を参考にコマンドラインを叩いてやったところ、割と簡単にPPPでの接続が確立しました。続いて ルーティングテーブルも設定して、あっさりルータ化に成功。
そしてルータにぶら下げたWindows 7端末からXfinityのSpeed TestでSan Joseのサーバとの速度を測ったところ、上下とも十数Mbps出ることを確認。これなら十分使えそうな速度ですな。ちなみに、うちからVyprVPNの北米ネットワークに繋ぐ場合、LAにあるus1.vpn.goldenfrog.comが一番速いっぽいです。
というわけで、めでたしめでたし・・・と思いきや、何やらPCから一部のサイトに繋がらないという問題が発覚しました。とりあえず、garkauta.homelinux.orgに繋がりません。ルータの下に置いたPS3も、PSNに繋がらないし・・・。これは一体どうなっているんだ・・・?
Windows 7機上でWiresharkでパケットをキャプチャしてみたところ、繋がらないホストを相手に通信すると、"TCP previous segment not captured"とか"Dup ACK"とかが頻出することが発覚しました。これ、この辺とよく似てますね・・・。
試しにこちらを参考に、Windows 7端末のMTUを、Linuxマシンのppp0のMTUに合わせて1396まで落としてみたところ、今まで繋がらなかったホストに見事に繋がるようになりました。というわけで、前述のサイトの方の経験と同様に、MTUが問題で一部のホストに繋がらない状態となっていたようです。なるほど、これを変えればいいわけか。
とは言え、ルータの下のすべての端末のMTUを小さく設定するのは非現実的な感じです。AndroidとかPS3とかでこの辺いじれるのかどうかもよくわからんし。この辺、ルータのiptablesあたりでどうにかならないかねー・・・と思って調べてみたら、本当にiptablesでどうにかできちゃうのね。こんな感じで、転送する際、IPパケットのMSSを書き換えるようです。こりゃすげえ。
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
これでLinuxマシンベースのルータからも、VPNを利用して北米のネットワークにきちんと接続できる状態になりました。試しにルータに繋がったWindows 7機上で、Prime Instant Videoのアベンジャーズを見てみましたが、通信状況を示すアンテナは3〜4と、非常に高い状態を維持していました。画質もバッチリ。ようやくといったところです。
というわけで、VyprVPN、割と使えそうという結論に。このまま本契約することにしました。年間$80くらいだし。
2014年10月5日の日記の1番目の記事へのコメント
[コメントを書く]