はじめに
このドキュメントでは、Firepower Management Center(FMC)によって管理されるFirepower Threat Defense(FTD)で、仮想ルーティングおよび転送(VRF)対応のIKEv2サイト間VPNトンネルを設定する方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- VPNの基本的な知識
- FMCの使用経験
- VRF実装に関する知識
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアのバージョンに基づいています。
- Cisco FMCバージョン7.x
- Cisco FTDバージョン7.x
注:このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
仮想ルーティングおよび転送
仮想ルーティングでは、複数の仮想ルータを作成して、インターフェイスグループごとに個別のルーティングテーブルを維持し、ネットワークを分離できます。これにより、複数のデバイスを使用せずにネットワークパスをセグメント化することで、機能が向上します。
ルーティングインスタンスは独立しているため、重複するIPアドレスは競合することなく使用できます。各VRFには、独自のルーティングプロトコルセッションとIPv4、およびIPv6ルーティングテーブルがあります。
制限事項
- VRFインスタンス内のインターフェイスをトンネルエンドポイント/VPNインターフェイスとして使用することはできません。
- VPNトンネルの終端に使用されるインターフェイスは、グローバルVRF内にのみ存在できます。
制限1
インター outside フェイスが仮想ルータ vrf_outside に追加された場合、サイト間VPNトポロジが作成されたときにこのインターフェイスはエンドポイントインターフェイス選択のドロップダウンに表示されません。
制限2
インターoutside フェイスにサイト間VPNトポロジが存在する場合、インターフェイスをVRFインスタンスに追加することはできません。FMCで、VPNトンネルとして機能する outside (WAN)インターフェイスが、カスタムVRFではなくグローバルVRFの一部になるエンドポイントを終端することを示すエラーが表示されます。
ネットワーク図
設定
FTD 7.xとその他のデバイス(ASA/FTD/ルータまたはサードパーティベンダー)の間にIKEv2サイト間VPNトンネルを設定します。
に移動します。 Edit をクリックし、Routingを選択します。
ステップ 1:図に示すように、 Manage Virtual Routersをクリックします。
ステップ 2: Add Virtual Router をクリックし、必要なVRFインスタンスを追加します。この導入では、vrf_insideを使用します。
ステップ 3:VRFインスタンスが作成されると、必要なインターフェイスを追加するオプションが表示されます。この導入では、図に示すようにinsideにインターフェイスvrf_insideを追加します。
ステップ 4:この導入では、これらはサイト間VPNトンネルのトラフィックセレクタです。
Source: 192.168.70.0/24 [This network is on inside interface which is in "vrf_inside"] 192.168.80.0/24 [This network is on dmz interface which is not in any vrf instance] Destination : 192.168.10.0/24
ルートリーク
VRFを使用すると、ルータは異なる仮想ネットワークに対して個別のルーティングテーブルを維持できます。例外が必要な場合、VRFルート漏出により、一部のトラフィックをVRF間でルーティングできます。グローバルルーティングテーブル(GRT)とVirtual Routing and Forwarding(VRF)テーブル間のルート漏出は、スタティックルートを使用して行われます。どちらの方法でも、ネクストホップIPアドレスを提供するか(マルチアクセスセグメント用)、またはインターフェイスからルートをポイントします(ポイントツーポイントインターフェイス)。
VRFからグローバルへのルート漏出
Devices > Device Managementを選択し、FTDのEditをクリックします。
- をクリックします。
Routingデフォルトでは、グローバルルーティングプロパティページが表示されます。
- をクリックします。
Static Route
Add Route - をクリックし、次のように設定します。
・ Interface :内部インターフェイスを選択します。
・ Network — vrf_inside仮想ルータネットワークオブジェクト(192.168.70.0/24)を選択します。
・ Gateway – 空白のままにします。ルートを別の仮想ルータにリークする場合は、ゲートウェイを選択しないでください。
ルートリークにより、サイト間VPNの外部(リモート)エンドによって保護されているエンドポイントが、vrf_inside仮想ルータの192.168.70.0/24ネットワークにアクセスできます。
5.図に示すよOK うにクリックします。
CLIでは、ルートは次のように表示されます。
route inside 192.168.70.0 255.255.255.0 1
ネットワーク192.168.70.0/24はインターフェイスに直接接続されていますがinside、ネットワークはVRFインスタンス内にあるため、このネットワークはGRTには表示されません。このルートをGRTで使用可能にするために、vrf_insideからGlobalへのルートが漏出されています。
グローバルからVRFへのルート漏出
Devices > Device Managementを選択し、Editをクリックします。
Routing - をクリックし、ドロップダウンから
vrf_insideを選択します。
- をクリックします。
Static Route
Add Route - をクリックし、次のように設定します。
・ Interface – グローバルルータの外部インターフェイスを選択します
・ Network:グローバル仮想ルータネットワークオブジェクト(192.168.10.0/24)を選択します。
・ Gateway – 空白のままにします。ルートを別の仮想ルータにリークする場合は、ゲートウェイを選択しないでください
このスタティックルートを使用すると、192.168.70.0/24ネットワーク上のエンドポイントは、サイト間VPNトンネルを通過する192.168.10.0/24への接続を開始できます。
5.図に示すよOKうにクリックします。
CLIでは、ルートは次のように表示されます。
route vrf vrf_inside outside 192.168.10.0 255.255.255.0 1
確認
ここでは、設定が正常に機能しているかどうかを確認します。すべての出力は、ネットワークダイアグラムに示されたFTDから収集されます。
FTD# show vrf Name VRF ID Description Interfaces vrf_inside 1 inside
FTD# show run route route outside 10.0.0.0 255.0.0.0 10.106.50.1 1 route inside 192.168.70.0 255.255.255.0 1
FTD# show run route vrf vrf_inside route vrf vrf_inside outside 192.168.10.0 255.255.255.0 1
FTD# show route Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, V - VPN i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route, + - replicated route Gateway of last resort is not set S 10.0.0.0 255.0.0.0 [1/0] via 10.106.50.1, outside C 10.106.50.0 255.255.255.0 is directly connected, outside L 10.106.50.212 255.255.255.255 is directly connected, outside V 192.168.10.0 255.255.255.0 connected by VPN (advertised), outside S 192.168.70.0 255.255.255.0 [1/0] is directly connected, inside C 192.168.80.0 255.255.255.0 is directly connected, dmz L 192.168.80.1 255.255.255.255 is directly connected, dmz
FTD# show crypto ikev2 sa IKEv2 SAs: Session-id:8, Status:UP-ACTIVE, IKE count:1, CHILD count:1 Tunnel-id Local Remote Status Role 444445753 10.106.50.212/500 10.197.224.175/500 READY RESPONDER Encr: AES-CBC, keysize: 256, Hash: SHA256, DH Grp:19, Auth sign: PSK, Auth verify: PSK Life/Active Time: 86400/11 sec Child sa: local selector 192.168.70.0/0 - 192.168.70.255/65535 remote selector 192.168.10.0/0 - 192.168.10.255/65535 ESP spi in/out: 0x5e950adb/0x47acd2dc
FTD# show crypto ipsec sa peer 10.197.224.175 peer address: 10.197.224.175 Crypto map tag: CSM_outside_map, seq num: 2, local addr: 10.106.50.212 access-list vrf-crypto-acl extended permit ip 192.168.70.0 255.255.255.0 192.168.10.0 255.255.255.0 local ident (addr/mask/prot/port): (192.168.70.0/255.255.255.0/0/0) remote ident (addr/mask/prot/port): (192.168.10.0/255.255.255.0/0/0) current_peer: 10.197.224.175 #pkts encaps: 4, #pkts encrypt: 4, #pkts digest: 4 #pkts decaps: 4, #pkts decrypt: 4, #pkts verify: 4 #pkts compressed: 0, #pkts decompressed: 0 #pkts not compressed: 4, #pkts comp failed: 0, #pkts decomp failed: 0 #pre-frag successes: 0, #pre-frag failures: 0, #fragments created: 0 #PMTUs sent: 0, #PMTUs rcvd: 0, #decapsulated frgs needing reassembly: 0 #TFC rcvd: 0, #TFC sent: 0 #Valid ICMP Errors rcvd: 0, #Invalid ICMP Errors rcvd: 0 #send errors: 0, #recv errors: 0 local crypto endpt.: 10.106.50.212/500, remote crypto endpt.: 10.197.224.175/500 path mtu 1500, ipsec overhead 74(44), media mtu 1500 PMTU time remaining (sec): 0, DF policy: copy-df ICMP error validation: disabled, TFC packets: disabled current outbound spi: 47ACD2DC current inbound spi : 5E950ADB inbound esp sas: spi: 0x5E950ADB (1586825947) SA State: active transform: esp-aes-256 esp-sha-hmac no compression in use settings ={L2L, Tunnel, IKEv2, } slot: 0, conn_id: 10, crypto-map: CSM_outside_map sa timing: remaining key lifetime (kB/sec): (4193279/28774) IV size: 16 bytes replay detection support: Y Anti replay bitmap: 0x00000000 0x0000001F outbound esp sas: spi: 0x47ACD2DC (1202508508) SA State: active transform: esp-aes-256 esp-sha-hmac no compression in use settings ={L2L, Tunnel, IKEv2, } slot: 0, conn_id: 10, crypto-map: CSM_outside_map sa timing: remaining key lifetime (kB/sec): (4147199/28774) IV size: 16 bytes replay detection support: Y Anti replay bitmap: 0x00000000 0x00000001
トラブルシュート
ここでは、設定のトラブルシューティングに使用できる情報を示します。
FTD# show crypto ipsec sa peer 10.197.224.175 peer address: 10.197.224.175 Crypto map tag: CSM_outside_map, seq num: 2, local addr: 10.106.50.212 access-list vrf-crypto-acl extended permit ip 192.168.70.0 255.255.255.0 192.168.10.0 255.255.255.0 local ident (addr/mask/prot/port): (192.168.70.0/255.255.255.0/0/0) remote ident (addr/mask/prot/port): (192.168.10.0/255.255.255.0/0/0) current_peer: 10.197.224.175 #pkts encaps: 0, #pkts encrypt: 0, #pkts digest: 0 >>>> Packets received from remote end gets decapsulated but there are not encaps for the responses #pkts decaps: 4, #pkts decrypt: 4, #pkts verify: 4 #pkts compressed: 0, #pkts decompressed: 0 #pkts not compressed: 0, #pkts comp failed: 0, #pkts decomp failed: 0 #pre-frag successes: 0, #pre-frag failures: 0, #fragments created: 0 #PMTUs sent: 0, #PMTUs rcvd: 0, #decapsulated frgs needing reassembly: 0 #TFC rcvd: 0, #TFC sent: 0 #Valid ICMP Errors rcvd: 0, #Invalid ICMP Errors rcvd: 0 #send errors: 0, #recv errors: 0 local crypto endpt.: 10.106.50.212/500, remote crypto endpt.: 10.197.224.175/500 path mtu 1500, ipsec overhead 74(44), media mtu 1500 PMTU time remaining (sec): 0, DF policy: copy-df ICMP error validation: disabled, TFC packets: disabled current outbound spi: 490F4CD1 current inbound spi : DB5608EB inbound esp sas: spi: 0xDB5608EB (3679848683) SA State: active transform: esp-aes-256 esp-sha-hmac no compression in use settings ={L2L, Tunnel, IKEv2, } slot: 0, conn_id: 11, crypto-map: CSM_outside_map sa timing: remaining key lifetime (kB/sec): (4008959/28761) IV size: 16 bytes replay detection support: Y Anti replay bitmap: 0x00000000 0x0000001F outbound esp sas: spi: 0x490F4CD1 (1225739473) SA State: active transform: esp-aes-256 esp-sha-hmac no compression in use settings ={L2L, Tunnel, IKEv2, } slot: 0, conn_id: 11, crypto-map: CSM_outside_map sa timing: remaining key lifetime (kB/sec): (4239360/28761) IV size: 16 bytes replay detection support: Y Anti replay bitmap: 0x00000000 0x00000001
capture capin type raw-data interface inside [Capturing - 0 bytes] >>>> Captures applied on LAN(inside) interface shows decapsulated packets are not routed into LAN network match ip host 192.168.10.2 host 192.168.70.2 FTD# show cap capin 0 packet captured 0 packet shown
capture asp type asp-drop all [Capturing - 0 bytes] >>>> ASP Captures shows decapsulated packets are being dropped on FTD FTD# show capture asp | i 192.168.70.2 145: 15:28:47.670894 192.168.10.2 > 192.168.70.2 icmp: echo request 154: 15:28:49.666545 192.168.10.2 > 192.168.70.2 icmp: echo request 171: 15:28:51.672740 192.168.10.2 > 192.168.70.2 icmp: echo request 172: 15:28:53.664928 192.168.10.2 > 192.168.70.2 icmp: echo request
FTD# packet-tracer input outside icmp 192.168.10.2 8 0 192.168.70.2 detailed >>>> Packet tracer from outside shows "no route" for 192.168.70.0/24 network Phase: 1 Type: ACCESS-LIST Subtype: Result: ALLOW Config: Implicit Rule Additional Information: Forward Flow based lookup yields rule: in id=0x2ba3bce77330, priority=1, domain=permit, deny=false hits=171480, user_data=0x0, cs_id=0x0, l3_type=0x8 src mac=0000.0000.0000, mask=0000.0000.0000 dst mac=0000.0000.0000, mask=0100.0000.0000 input_ifc=outside, output_ifc=any Result: input-interface: outside(vrfid:0) input-status: up input-line-status: up Action: drop Drop-reason: (no-route) No route to host, Drop-location: frame 0x000055d9b7e8c7ce flow (NA)/NA
FTD# show run route route outside 10.0.0.0 255.0.0.0 10.106.50.1 1 >>>> As the network 192.168.70.0/24 is in "vrf_inside" instance, there is no route leaked from Global to vrf_inside
FTD# show run route route outside 10.0.0.0 255.0.0.0 10.106.50.1 1 route inside 192.168.70.0 255.255.255.0 1 >>>> After leaking the route from Global to vrf_inside
FTD# show cap capin >>>> Now capture shows bi-directional traffic on LAN(inside) interface 10 packets captured 1: 15:44:32.972743 192.168.10.2 > 192.168.70.2 icmp: echo request 2: 15:44:32.974543 192.168.70.2 > 192.168.10.2 icmp: echo reply 3: 15:44:33.032209 192.168.10.2 > 192.168.70.2 icmp: echo request 4: 15:44:33.033353 192.168.70.2 > 192.168.10.2 icmp: echo reply 5: 15:44:33.089656 192.168.10.2 > 192.168.70.2 icmp: echo request 6: 15:44:33.092814 192.168.70.2 > 192.168.10.2 icmp: echo reply 7: 15:44:33.149024 192.168.10.2 > 192.168.70.2 icmp: echo request 8: 15:44:33.151878 192.168.70.2 > 192.168.10.2 icmp: echo reply 9: 15:44:33.158774 192.168.10.2 > 192.168.70.2 icmp: echo request 10: 15:44:33.161048 192.168.70.2 > 192.168.10.2 icmp: echo reply 10 packets shown
FTD# packet-tracer input outside icmp 192.168.10.2 8 0 192.168.70.2 detailed >>>> Verified packet flow using Packet tracer Phase: 1 Type: INPUT-ROUTE-LOOKUP Subtype: Resolve Egress Interface Result: ALLOW Config: Additional Information: Found next-hop 0.0.0.0 using egress ifc inside(vrfid:1) -------------------Output Omitted------------------------
Phase: 8 Type: VPN Subtype: ipsec-tunnel-flow Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x2ba3bdc75cc0, priority=70, domain=ipsec-tunnel-flow, deny=false hits=7, user_data=0xea71cdc, cs_id=0x2ba3bce93e70, reverse, flags=0x0, protocol=0 src ip/id=192.168.10.0, mask=255.255.255.0, port=0, tag=any dst ip/id=192.168.70.0, mask=255.255.255.0, port=0, tag=any, dscp=0x0 input_ifc=outside(vrfid:0), output_ifc=any -------------------Output Omitted------------------------ Phase: 13 Type: VPN Subtype: encrypt Result: ALLOW Config: Additional Information: Reverse Flow based lookup yields rule: out id=0x2ba3bd44ed40, priority=70, domain=encrypt, deny=false hits=7, user_data=0xea6e344, cs_id=0x2ba3bce93e70, reverse, flags=0x0, protocol=0 src ip/id=192.168.70.0, mask=255.255.255.0, port=0, tag=any dst ip/id=192.168.10.0, mask=255.255.255.0, port=0, tag=any, dscp=0x0 input_ifc=any(vrfid:65535), output_ifc=outside Result: input-interface: outside(vrfid:0) input-status: up input-line-status: up output-interface: inside(vrfid:1) output-status: up output-line-status: up Action: drop Drop-reason: (ipsec-spoof) IPSEC Spoof detected, Drop-location: frame 0x000055d9b7e8b4d1 flow (NA)/NA
BJB で BDB バックエンドへの接続にタイムアウトが発生しました。Cisco Internal Networkに接続していることを確認してください。
[閉じる]