#ルータ配下のRTX830でIKEv2トンネルのVPN接続
##この記事について
NATトラバーサル環境のCustomer Gateways(CGW)からIKEv2で接続する構成を構築した際、思いのほか情報が少なかったので作業の内容をまとめました。
- CGWはNAPTルータ配下へ設置し、ローカルIPアドレスを採番
- オンプレ側拠点のインターネット接続ルータはLAN側からWAN側へステートフル通信が可能
- Tunnel1 はIKEv2、Tunnel2 はIKEv1で接続
- AWS Virtual Gateway(VGW)とCGWの経路交換はBGPで行い、CGWから広報された経路はVPCのルーティングテーブルへプロパゲート
##使用機器
- RTX830
##RTX830設定
###Tunnel1 IKEv2
tunnel select 1
ipsec tunnel 201
ipsec sa policy 201 1 esp aes256-cbc sha256-hmac
ipsec ike version 1 2
ipsec ike duration ipsec-sa 1 3600
ipsec ike duration isakmp-sa 1 28800
ipsec ike encryption 1 aes256-cbc
ipsec ike group 1 modp1536
ipsec ike hash 1 sha256
ipsec ike keepalive log 1 on
ipsec ike keepalive use 1 on rfc4306 10 3
ipsec ike local name 1 "CGW_Local_Ip-Address" ipv4-addr
ipsec ike nat-traversal 1 on type=2
ipsec ike pfs 1 on
ipsec ike message-id-control 1 on
ipsec ike pre-shared-key 1 text "Tunnel1_Pre-Shared_Key"
ipsec ike remote name 1 "Tunnel1_VGW-IP-Address" ipv4-addr
ipsec ike negotiation receive 1 off
ipsec auto refresh 1 on
ipsec tunnel outer df-bit clear
ip tunnel address 169.254.216.206/30
ip tunnel remote address 169.254.216.205
ip tunnel tcp mss limit auto
tunnel enable 1
###Tunnel2 IKEv1
tunnel select 2
ipsec tunnel 202
ipsec sa policy 202 2 esp aes-cbc sha-hmac
ipsec ike duration ipsec-sa 2 3600
ipsec ike encryption 2 aes-cbc
ipsec ike group 2 modp1024
ipsec ike hash 2 sha
ipsec ike keepalive use 2 on dpd 10 3
ipsec ike local address 2 10.1.0.32
ipsec ike local id 2 10.1.0.32
ipsec ike nat-traversal 2 on type=2
ipsec ike pfs 2 on
ipsec ike pre-shared-key 2 text "Tunnel2_Pre-Shared_Key"
ipsec ike remote address 2 "Tunnel2_VGW-IP-Address"
ipsec tunnel outer df-bit clear
ip tunnel address 169.254.168.154/30
ip tunnel remote address 169.254.168.153
ip tunnel tcp mss limit 1379
tunnel enable 2
###NATトラバーサル設定(IKEv2、IKEv1 共通)
- ipsec ike nat-traversal "tunnel ID" on type=2
- RTXをナットトラバーサルでVGWへVPN接続する際の設定
###IKEv2設定
- ipsec ike version 1 2
- IKEのバージョンをTunnel1で「2」に指定
- ipsec ike local name 1 "CGW_Local_Ip-Address" ipv4-addr
- v1は「ike local address」で指定するがv2は「ike local name」で設定
- ipsec ike negotiation receive 1 off
- 鍵交換の始動パケット受信をoffに設定、VGWからの鍵交換始動パケットを受け取らない
- VGWをレスポンダ、RTXをイニシエータとして設定
- ipsec ike keepalive use 1 on rfc4306 10 3
- AMCからダウンロードできる設定例に記載されるDead Peer Detection(DPD)でのトンネルの通信断検知はIKEv2では自動再接続しないため「rfc4306」を指定
- ipsec ike keepalive log 1 on
- IKEキープアライブのログ出力をONに設定
- ipsec ike message-id-control 1 on
- RTXからIKEv2 のリクエストメッセージを送信するときのメッセージ ID 管理方法を設定
##AWS Management Console(AMC)からの接続確認
##まとめ
IKEv2とIKEv1の接続で設定方法の異なる箇所がありますが、NATトラバーサル環境でISAKMP、IPSec 両方のSAが確立され、正常なBGP経路交換、およびAWSとオンプレ間のデータ通信が確認できました。
##参考URL
IKE キープアライブ機能の設定
http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/ipsec/ipsec_ike_keepalive_use.html
IPsec DPD
http://www.rtpro.yamaha.co.jp/RT/docs/ipsec/dpd.html
鍵交換の始動パケットを受信するか否かの設定
http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/ipsec/ipsec_ike_negotiation_receive.html
Microsoft AzureとのIPsec接続(IKEv2) 設定例
http://www.rtpro.yamaha.co.jp/RT/docs/windows_azure/index_ikev2.html
IKEv2 VPN トンネルネゴシエーションが AWS VPN で失敗する理由を教えてください
https://aws.amazon.com/jp/premiumsupport/knowledge-center/vpc-enable-ikev2-vpn-tunnel-negotiation/
18.44 IKE のメッセージ ID 管理の設定
http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/ipsec/ipsec_ike_message-id-control.html