AWSと自宅の拠点を結ぶため、strongSwanとYAMAHA RTX1210で拠点間VPN接続を行ったので、手順をメモします。IKEv2を利用し、各拠点はIPv6アドレスを持っている想定です。
環境
AWSのSubnet Bに置かれているstrongSwanサーバーと、自宅のRTX1210間でIPSecトンネルを張り、ServerとPC間で相互接続できるようにします。
strongSwanのインストール
strongSwanのインストールは、過去に記事でまとめたものを参照してください。
https://qiita.com/kerorinfather/items/37aec492f04706d55ade
strongSwanとYAMAHA RTXの設定値について
strongSwanの設定値
connections {
net-net {
local_addrs = XXXX:XXXX::10 #strongSwanのIPv6アドレス
remote_addrs = YYYY:YYYY::10 #YAMAHA RTX1210のIPv6アドレス
local {
auth = psk #PSK(事前共有鍵)で認証
id = XXXX:XXXX::10 #strongSwanのIPv6アドレス
}
remote {
auth = psk #PSK(事前共有鍵)で認証
id = YYYY:YYYY::10 #YAMAHA RTX1210のIPv6アドレス
}
children {
net-net {
local_ts = 172.31.0.0/16 #AWS側のCIDR
remote_ts = 192.168.0.0/24 #自宅側のCIDR
esp_proposals = aes128-sha256 #CHILD_SAフェーズで利用する認証・暗号化のアルゴリズム
}
}
version = 2 #IKEv2を使用
mobike = no #よくわからないけど公式サイト見る限りnoでよさそう
proposals = aes128-sha256-modp2048 #IKE_SAフェーズで利用する認証・暗号化・鍵交換のアルゴリズム
}
}
secrets {
ike-1 {
id = XXXX:XXXX::10 #strongSwanのIPv6アドレス
secret = "pre-shared-key-password" #事前共有鍵
}
}
proposals
の値は、strongSwanのデフォルト値がaes128-sha256-modp3072なのですが、YAMAHAルータ側でmodp3072が対応できないため、上記の(modp2048)設定が必要です。
esp_proposals
はデフォルト値がaes128-sha256であるため、記載しなくても接続できると思います。
mobike
の設定はテンプレートからの流用ですが、公式サイトを見る限りnoでよさそう(むしろ明示的にnoと書いたほうがよさそう)であるためそのままにしています。
YAMAHAルーターの設定値
ip route 172.31.0.0/16 gateway tunnel 2 #AWS側のCIDR
tunnel select 2
ipsec tunnel 101
ipsec sa policy 101 2 esp #暗号アルゴリズムを使用
ipsec ike version 2 2 #IKEv2を利用する
ipsec ike duration ipsec-sa 2 14400 #キー交換の間隔
ipsec ike duration isakmp-sa 2 14400 #キー交換の間隔
ipsec ike group 2 modp2048 #IKE_SAフェーズで利用する鍵交換のアルゴリズム
ipsec ike keepalive use 2 on rfc4306 #keepalive これがないとこちらから接続始動しなかった
ipsec ike local name 2 YYYY:YYYY::10 ipv6-addr #YAMAHA RTX1210のIPv6アドレス
ipsec ike pre-shared-key 2 text pre-shared-key-password #事前共有鍵
ipsec ike remote name 2 XXXX:XXXX::10 ipv6-addr #strongSwanのIPv6アドレス
ipsec ike negotiation receive 2 off #受信しない
tunnel enable 2
ipsec auto refresh on #こちらから鍵交換を始動
ipsec ike group
のデフォルト値はmodp1024であるため、明示的にmodp2048を利用するように設定します。(IKEv2の場合は記述しなくても動くみたいな記載はRTProにありましたが。。。)
ipsec ike keepalive use 2 on rfc4306
の記載がないと、YAMAHAルータ側から接続にいきませんでした。
ipsec ike negotiation receive 2 off
の記載があると、strongSwan側からRTXに接続を試みようとすると弾くみたいです。(未検証)
ルートテーブルの設定
AWS側
VPCのルートテーブルに、自宅側のCIDR宛の通信をstrongSwanのサーバーに送る処理が必要になります。
自宅側
自宅側は、デフォルトゲートウェイがYAMAHAルーターになるため、特に設定は不要です。
参考にしたサイト
IPv6 Configuration Examples - strongSwan
MOBIKE - strongSwan
IKEv2 (RTPro)