拠点間接続VPNのまとめ5

IPsecとNAPTの共存。

netfilterでNAPTを利用している場合、POSTROUTINGでマスカレードしているはず。

iptables -t nat -A POSTROUTING -o "WAN側ネットワーク" -s "LAN側ネットワーク" -j MASQUERADE

これはIPsecが適応されるべきパケットもマスカレードしようとしてしまう。

なので、iptablesに次の1行を書いて解決。

iptables -t nat -A POSTROUTING -s "自拠点LAN" -d "相手拠点LAN" -j ACCEPT

IPsecを適応するパケット(自拠点LAN→相手拠点LAN)は、マスカレードを適応させず通過させる。

するとカーネルIPsecスタックがパケットを横取りし、カプセル化される。
そして、カプセル化されたESPパケットは、VPNゲートウェイ自身からのパケットとしてWAN側デバイスへ出ていく。

あ、あとこれも許可しないとね。

iptables -A FORWARD -s "相手拠点LAN" -d "自拠点LAN" -j ACCEPT

相手拠点から来た、ESPパケットからアンカプセル化されたパケットをFORWARDで通過許可。