拠点間接続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で通過許可。