firewall の内側にある strongswan への接続
2019/06/02, last updated 2023/08/28 - moriya - ~2 Minutes
(2019/6/2) 投稿を github から移動。
さて、firewall の内側のネットワークに IKEv2 で接続できるのであろうか。
IPSEC では、最初に、500/udp でローカルとリモートのアドレスを交換して、NAT かどうか判断し、
NAT 環境下であれば、以後、4500/udp にカプセル化してやりとりしているようである。
したがって、Firewall でなくブロードバンドルータであれば、500/udp、4500/udp を strongswan に
転送すれば、IKEv2 でブロードバンドルータ内のネットワークに接続できそうだ。
firewall のように自分でコントロールしづらい場合は、以下のように OPENVPN トンネルで IKEv2 を転送する、などすることで可能かもしれない。
- firewall の外側に、IKEv2 を転送するためのサーバを置く。見かけ上、IKEv2 のサーバに見える。この転送サーバと firewall の内側にある strongswan サーバの間を、openvpn で接続する。
- 転送サーバでは、500/udp と 4500/udp を strongswan に転送する。(NATする)
centos 7 での転送設定例(strongswan 側のトンネルの IP アドレスを10.1.0.2にした場合):
# firewall-cmd --permanent --add-port 500/udp
# firewall-cmd --permanent --add-port 4500/udp
# firewall-cmd --permanent --add-masquerade
# firewall-cmd --permanent --add-forward-port=500:proto=udp:toaddr=10.1.0.2
# firewall-cmd --permanent --add-forward-port=4500:proto=udp:toaddr=10.1.0.2
# firewall-cmd --reload
openvpn を挙げているのは、http と https ぐらいしか通さないような厳しい firewall があるかもしれないため。また、udp を転送するのに都合が良いため。