今回はNSX-TでのIKEv1の検証証跡をまとめました。
概要
IKEv1について
NSX-TではIKEv2に加えて、IKEv1もサポートしています。しかし、IKEv1とIKEv2は互換性が無いため、IPsec VPNを確立するルータ間では同じIKEのバージョンを使用する必要があります。
IKEv1では最初に6個のISAKMPメッセージをやり取りし、IKE SAを確立します。(Aggressive Modeの場合は3個のISAKMPメッセージをやり取りします。)
その後、IKE SA上で3個のISAKMPメッセージをやり取りし、IPsec SAを2個確立します。
検証結果
検証内容、構成
Tier-1 GWでSegment 1を収容します。
Tier-1 GWとTier-0 GWを接続します。
NSX EdgeにTier-0 GWのSRを配置し、物理ネットワークとNSX-Tの仮想ネットワークを接続します。
Tier-0 GWのSRとR2間でIPsec VPNを確立し、10.1.1.0/24と20.2.2.0/24間の通信をESPで暗号化します。
IKEにばバージョン2のIKEv1を使用します。
ネットワーク機器のCLIの設定
interface GigabitEthernet2
ip address 10.1.1.1 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.1.1.254
crypto isakmp policy 1
encryption aes
hash sha256
authentication pre-share
group 14
!
crypto isakmp key Zaq12wsx!@ address 10.2.2.1
!
crypto ipsec transform-set TRANSFORM_SET esp-gcm
mode tunnel
!
crypto map CRYPTO_MAP 10 ipsec-isakmp
set peer 10.2.2.1
set transform-set TRANSFORM_SET
match address CRYPTO_ACL
!
interface Loopback0
ip address 20.2.2.2 255.255.255.0
!
interface GigabitEthernet2
ip address 20.1.1.100 255.255.255.0
crypto map CRYPTO_MAP
!
ip route 0.0.0.0 0.0.0.0 20.1.1.1
!
ip access-list extended CRYPTO_ACL
permit ip 20.2.2.0 0.0.0.255 10.1.1.0 0.0.0.255
IPsecの設定
IKE Profileの定義
IKE Profileにおいて、使用するIKEのバージョンを指定可能です。
VPNサービスの定義
ローカルエンドポイントの定義
ポリシーベースのIPsecセッションの定義
IPsecセッションに対して、先程定義したIKE Profileを適用します。
スタティックルートの設定
対向拠点のルート情報に関するスタティックルートのネクストホップにはUplinkを指定します。
状態確認
Tier-0 GWのSRのIPsec VPNの設定/状態確認
Tier-0 GWのSRがIKEv1を使用していることが確認できます。
edge1> get ipsecvpn ikesa
Total Number of IKE SAs: 1
IKE Version : IKEv1
IKE Status : Up
IKE Session ID : 8193
Session Name : Tunnel-f195da00-47294555-8ad48653-c00f5b16
Session Type : Policy Based
IKE SPI Initiator : 0x95590c392a388614
IKE SPI Responder : 0x75fb785c5d7d08b1
Role : Initiator
Number of Child SA Pairs : 1
Created Timestamp : 2020-09-13 06:19:32
IKE SA Uptime : 282 sec
IKE SA Lifetime : 86400 sec
DPD Probe Interval : 60 sec
IP Address:
Local : 10.2.2.1
Remote : 20.1.1.100
Identity:
Local : 10.2.2.1 (ipv4)
Remote : 20.1.1.100 (ipv4)
Algorithm:
Encryption : aes128-cbc
Authentication : hmac-sha256-128
PRF : hmac-sha256
DH Group : 14
Authentication Method : Pre-shared key
----------------------------------------
IKEv1を使用してIPsec SAが確立できていることが確認できます。
edge1> get ipsecvpn ipsecsa
Total Number of IPSec SA Pairs: 1
Session ID : 8193
Created Timestamp : 2020-09-13 06:19:32
Local TS : ipv4(10.1.1.0-10.1.1.255)
Remote TS : ipv4(20.2.2.0-20.2.2.255)
SPI In : 0x2dbd84fa SPI Out : 0x9644fc3a
Rule ID In : 536871950 Rule ID Out : 2684355598
SA Uptime : 286 sec SA Lifetime : 3600 sec
Local Endpoint : 10.2.2.1 Remote Endpoint: 20.1.1.100
Algorithm: aes128-gcm-16/none/14
NAT-T: False, ESN: False, DF-Policy: Copy
Anti-Replay Window Size: 960, Role: Initiator
----------------------------------------
ISAKMPのメッセージの確認
IKE SA確立前
以下はTier-0 GWのSRがR2に対して送信した最初のISAKMPメッセージのキャプチャになります。IKEのバージョンが1であることが確認できます。
SA PayloadにIKE SAに関するProposal等が格納されています。
以下はTier-0 GWのSRがR2に対して送信した2個目のISAKMPメッセージのキャプチャになります。DHの計算値を格納したKE Payloadなどが存在することが確認できます。
以下はTier-0 GWのSRがR2に対して送信した3個目のISAKMPメッセージのキャプチャになります。このメッセージから内容が暗号化されます。(このメッセージはIKE SA上ではやり取りされていません。)
IKE SA確立後
以下はIKE SA確立後に、Tier-0 GWのSRがR2に対して送信したISAKMPのメッセージのキャプチャになります。暗号化されていることが確認できます。
疎通確認
R1の10.1.1.1からR2の20.2.2.2へPingを実施します。
R1の10.1.1.1からR2の20.2.2.2へのPingが成功していることが確認できます。
R1#ping 20.2.2.2 source 10.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 20.2.2.2, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
以下は20.1.1.0/24上でキャプチャしたR1の10.1.1.1からR2の20.2.2.2へのICMP Echoになります。ESPで暗号化されていることが確認できます。
コメント