拠点間接続ですべての通信をVPNトンネル経由にする

拠点間接続ですべての通信をVPNトンネル経由にしようとしたところ、意外なところでハマってしまったのでメモ。

2台のFWX120で自宅と単身赴任先を拠点間接続している。単身赴任先からの通信をすべてVPNのトンネル経由、要は外部インターネットへの通信も含めてすべて自宅経由にしてみる。企業のネットワークに例えるなら、支社側からの通信は、外部インターネットへの通信も含めて、すべて本社データセンター経由、というところ。

自宅と単身赴任先は、IPsecのトンネルで拠点間接続している。単身赴任先のFWX120の設定は、WAN側はLAN2でLAN接続、LAN側はLAN1を使い、192.168.100.0/24のIPアドレスをLAN内端末に割り振り、拠点間接続用トンネルの番号は1番(tunnel1)、という前提で説明する。

まず、単身赴任先のFWX120で、すべての通信をVPNトンネル経由にするために、パケット転送フィルターで、パケットをすべてVPNトンネルに転送する。以下のような感じ。


ip filter 100 pass 192.168.100.0/24 * * * *
ip forward filter 200 1 gateway tunnel 1 filter 100
ip lan1 forward filter 200

上記設定で、すべての通信がVPNトンネル経由になる。ただ、なぜかブラウザでのhttp通信がうまくできない。

pingもtracerouteも通る。pingとtracerouteを一体化したWindowsのpathpingコマンドも通る。DNS(nslookup)も問題なし。だけれども、ブラウザのアドレスバーに例えばhttp://www.yahoo.co.jp/を入力して開こうとしても、ブラウザ画面は白いまま、ステータスバーは転送中の表示のままで進まず。

HTMLソースを開いてみると、冒頭部のHTMLソースは取得できているので、IPパケットのサイズに関わる問題(フラグメンテーション, 再送, MTU設定, MSS設定, 経路MTU探索など)の可能性が高い。

ネットで調べてみると、VPNトンネル内のMSS設定の問題のようで、VPNトンネルのインターフェースのMSSを明示的に設定したら、ようやく閲覧できるようになった。以下のような感じ。なおWANインターフェースのMSSも設定しているのは念のため。


#ip lan2 tcp mss limit auto
#tunnel select 1
tunnel1#ip tunnel tcp mss limit auto

[参考URL]
http://jehupc.exblog.jp/21558500/

スポンサーリンク