EC2にCisco1000vを立て, 自宅とVPNを張る。
以前, VyOSとでGRE over IPSecとVTIと2パターンやったが, 今回はVTI+IKEv2でやる。
まずはCisco同士でトライ。
はじめに
「何故IKEv2でやろうとしたか」
単純にv2だからより安全なんだろうと思ったから。
IKEv1と何が違うのかは様々なサイトに詳しく書いてある。
・UNIVERGE IXシリーズ FAQ「IKEv2に関するFAQ」
・Cisco IOS セキュリティ コンフィギュレーション ガ イド「Cisco IOS セキュリティ コンフィギュレーション ガ イドインターネット キー エクスチェンジ バージョ ン 2(IKEv2)の設定」
個人的には設定の可視化レベルがcrypto mapよりは高いと感じた。P1のポリシーもピア毎に指定できるのでこのあたりは便利だと思う。(Site-to-Siteだとあまり恩恵は感じられないかもしれない)
構成概要
2台のルータでIPSecをVTI+IKEv2で張る。
それぞれのルータはNAT越しに通信する。
鍵交換はPSK。
暗号化周りはAES256, SHA2-256, DH 14。
構成概略図 |
前提条件
・EC2上にインスタンス作成済
・そのインスタンスにElastic IP割当済
・適切にセキュリティグループは設定済(UDP500・4500は許可等)
・自宅のGlobal IPは固定前提
・ブロードバンドルータでポートフォワーディング設定済
設定手順
Config上から流し込んでいくイメージでOK。
・IKEv2のプロポーザル設定
・IKEv2のポリシー設定
・IKEv2のKey設定
・IKEv2のプロファイル設定
・トランスフォームセット設定
・IPSECプロファイル設定
・トンネルインタフェース作成
・VTI適用
いざ設定
Configを抜粋。
基本的にこのまま流し込めばOK。
C841M
|
C1000v
|
!プロポーザル設定 |
! プロポーザル設定 |
確認
c1000v#sh crypto ikev2 sa
IPv4 Crypto IKEv2 SA
Tunnel-id Local Remote fvrf/ivrf Status
1 10.1.1.10/4500 B.B.B.B/4500 none/none READY
Encr: AES-CBC, keysize: 256, PRF: SHA256, Hash: SHA256, DH Grp:14, Auth sign: PSK, Auth verify: PSK
Life/Active Time: 3600/2111 sec
IPv6 Crypto IKEv2 SA
c1000v#sh crypto ipsec sa
interface: Tunnel1
Crypto map tag: Tunnel1-head-0, local addr 10.1.1.10
protected vrf: (none)
local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)
remote ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)
current_peer B.B.B.B port 4500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 10, #pkts encrypt: 10, #pkts digest: 10
#pkts decaps: 10, #pkts decrypt: 10, #pkts verify: 10
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 0, #recv errors 0
local crypto endpt.: 10.1.1.10, remote crypto endpt.: B.B.B.B
plaintext mtu 1422, path mtu 1500, ip mtu 1500, ip mtu idb GigabitEthernet1
current outbound spi: 0x3478CA01(880331265)
PFS (Y/N): N, DH group: none
inbound esp sas:
spi: 0x9AF7C1FF(2599928319)
transform: esp-256-aes esp-sha256-hmac ,
in use settings ={Tunnel UDP-Encaps, }
conn id: 2068, flow_id: CSR:68, sibling_flags FFFFFFFF80000048, crypto map: Tunnel1-head-0
sa timing: remaining key lifetime (k/sec): (4607998/1485)
IV size: 16 bytes
replay detection support: Y
Status: ACTIVE(ACTIVE)
inbound ah sas:
inbound pcp sas:
outbound esp sas:
spi: 0x3478CA01(880331265)
transform: esp-256-aes esp-sha256-hmac ,
in use settings ={Tunnel UDP-Encaps, }
conn id: 2067, flow_id: CSR:67, sibling_flags FFFFFFFF80000048, crypto map: Tunnel1-head-0
sa timing: remaining key lifetime (k/sec): (4607999/1485)
IV size: 16 bytes
replay detection support: Y
Status: ACTIVE(ACTIVE)
outbound ah sas:
outbound pcp sas:
c1000v#sh crypto session
Crypto session current status
Interface: Tunnel1
Profile: IKEv2_Profile
Session status: UP-ACTIVE
Peer: B.B.B.B port 4500
Session ID: 6
IKEv2 SA: local 10.1.1.10/4500 remote B.B.B.B/4500 Active
IPSEC FLOW: permit ip 0.0.0.0/0.0.0.0 0.0.0.0/0.0.0.0
Active SAs: 2, origin: crypto map
以上, お疲れ様でした。