Dit document beschrijft hoe u een site-to-site (LAN-to-LAN) IPSec Internet toetsuitwisseling versie 1 (IKEv1) via de CLI kunt configureren tussen een Cisco adaptieve security applicatie (ASA) en een router die Cisco IOS® software draait.
Cisco raadt kennis van de volgende onderwerpen aan:
De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u de potentiële impact van elke opdracht begrijpen.
Deze sectie beschrijft hoe de ASA en IOS router CLI configuraties moeten voltooien.
De informatie in dit document gebruikt deze netwerkinstelling:
Als de ASA interfaces niet zijn geconfigureerd, zorg er dan voor dat u minimaal de IP adressen, interfacenamen en beveiligingsniveaus configureren:
interface GigabitEthernet0/0
nameif outside
security-level 0
ip address 172.16.1.1 255.255.255.0
!
interface GigabitEthernet0/1
nameif inside
security-level 100
ip address 10.10.10.1 255.255.255.0
Om het beleid van de Vereniging van de Veiligheid van Internet en van het Protocol van het Toetsingsbeheer (ISAKMP) voor de verbindingen IKEv1 te configureren voert u de beleids <prioriteit>opdracht crypto ikev1 in:
crypto ikev1 policy 10
authentication pre-share
encryption aes
hash sha
group 2
lifetime 86400
U moet IKEv1 inschakelen op de interface die de VPN-tunnel beëindigt. Meestal is dit de externe (of openbare) interface. Om IKEv1 in te schakelen, voert u de opdracht crypto ikev1 in om <interface-naam> in de wereldwijde configuratiemodus te zetten:
crypto ikev1 enable outside
Voor een LAN-to-LAN tunnel is het type verbindingsprofiel ipsec-l2l. Om de IKEv1 vooraf gedeelde toets te configureren voert u de configuratiemodus voor de tunnelgroep ipsec-eigenschappen in:
tunnel-group 172.17.1.1 type ipsec-l2l
tunnel-group 172.17.1.1 ipsec-attributes
ikev1 pre-shared-key cisco123
ASA gebruikt toegangscontrolelijsten (ACL’s) om het verkeer te differentiëren dat met IPSec-encryptie moet worden beschermd tegen het verkeer dat geen bescherming behoeft. Het beschermt de uitgaande pakketten die overeenkomen met een applicatie Application Control Engine (ACE) en zorgt ervoor dat de inkomende pakketten die overeenkomen met een ACE-licentie bescherming hebben.
object-group network local-network
network-object 10.10.10.0 255.255.255.0
object-group network remote-network
network-object 10.20.10.0 255.255.255.0
access-list asa-router-vpn extended permit ip object-group local-network
object-group remote-network
Meestal wordt er geen NAT uitgevoerd op het VPN-verkeer. Om dat verkeer vrij te stellen, moet je een NAT-identiteitsregel maken. De NAT-regel voor identiteit vertaalt slechts een adres naar hetzelfde adres.
nat (inside,outside) source static local-network local-network destination static
remote-network remote-network no-proxy-arp route-lookup
Een IKEv1 transformatie-set is een combinatie van beveiligingsprotocollen en -algoritmen die definiëren hoe de ASA gegevens beschermt. Tijdens onderhandelingen van IPSec Security Association (SA) moeten de peers een transformatie reeks of een voorstel identificeren die hetzelfde is voor beide peers. De ASA past dan de gematchte transformatie set of het voorstel toe om een SA te creëren die gegevensstromen beschermt in de toegangslijst voor die crypto kaart.
Om de IKEv1 transformatie-set te configureren voert u de opdracht crypto ipsec ikev1 transformatie-set in:
crypto ipsec ikev1 transform-set ESP-AES-SHA esp-aes esp-sha-hmac
Een cryptokaart definieert een IPSec-beleid dat moet worden ontwikkeld in de IPSec SA en omvat:
Hierna volgt een voorbeeld:
crypto map outside_map 10 match address asa-router-vpn
crypto map outside_map 10 set peer 172.17.1.1
crypto map outside_map 10 set ikev1 transform-set ESP-AES-SHA
U kunt dan de crypto kaart op de interface toepassen:
crypto map outside_map interface outside
Hier is de laatste configuratie van de ASA:
interface GigabitEthernet0/0
nameif outside
security-level 0
ip address 172.16.1.1 255.255.255.0
!
interface GigabitEthernet0/1
nameif inside
security-level 100
ip address 10.10.10.1 255.255.255.0
!
object-group network local-network
network-object 10.10.10.0 255.255.255.0
object-group network remote-network
network-object 10.20.10.0 255.255.255.0
!
access-list asa-router-vpn extended permit ip object-group local-network
object-group remote-network
!
nat (inside,outside) source static local-network local-network destination
static remote-network remote-network no-proxy-arp route-lookup
!
crypto ipsec ikev1 transform-set ESP-AES-SHA esp-aes esp-sha-hmac
!
crypto map outside_map 10 match address asa-router-vpn
crypto map outside_map 10 set peer 172.17.1.1
crypto map outside_map 10 set ikev1 transform-set ESP-AES-SHA
crypto map outside_map interface outside
Als de IOS routerinterfaces nog niet zijn geconfigureerd, moeten ten minste de LAN- en WAN-interfaces worden geconfigureerd. Hierna volgt een voorbeeld:
interface GigabitEthernet0/0
ip address 172.17.1.1 255.255.255.0
no shutdown
!
interface GigabitEthernet0/1
ip address 10.20.10.1 255.255.255.0
no shutdown
Zorg ervoor dat er connectiviteit is aan zowel de interne als externe netwerken, en vooral aan de verre peer die zal worden gebruikt om een site-to-site VPN-tunnel op te zetten. U kunt een ping gebruiken om basisconnectiviteit te verifiëren.
Om het ISAKMP beleid voor de IKEv1-verbindingen te configureren voert u het crypto-isakmp-beleid in de wereldwijde configuratie-modus. Hier is een voorbeeld:
crypto isakmp policy 10
encr aes
authentication pre-share
group 2
Om een vooraf gedeelde authenticatiesleutel te configureren voert u de opdracht crypto-isakmp in de wereldwijde configuratie-modus:
crypto isakmp key cisco123 address 172.16.1.1
Gebruik de uitgebreide of genoemde toegangslijst om het verkeer te specificeren dat door encryptie moet worden beschermd. Hierna volgt een voorbeeld:
access-list 110 remark Interesting traffic access-list
access-list 110 permit ip 10.20.10.0 0.0.0.255 10.10.10.0 0.0.0.255
Meestal wordt er geen NAT uitgevoerd op het VPN-verkeer. Als de NAT-overload wordt gebruikt, moet er een routekaart worden gebruikt om het VPN-verkeer van belang van vertaling vrij te stellen. Merk op dat in de toegangslijst die in de route-kaart wordt gebruikt het VPN-verkeer van belang moet worden ontkend.
access-list 111 remark NAT exemption access-list
access-list 111 deny ip 10.20.10.0 0.0.0.255 10.10.10.0 0.0.0.255
access-list 111 permit ip 10.20.10.0 0.0.0.255 any
route-map nonat permit 10
match ip address 111
ip nat inside source route-map nonat interface GigabitEthernet0/0 overload
Om een IPSec transformatie set te definiëren (een aanvaardbare combinatie van veiligheidsprotocollen en algoritmen), moet u het crypto ipsec transformatie-ingestelde opdracht in mondiale configuratiemodus invoeren. Hierna volgt een voorbeeld:
crypto ipsec transform-set ESP-AES-SHA esp-aes esp-sha-hmac
mode tunnel
Om een crypto kaartingang te maken of aan te passen en de configuratie van crypto in kaart te brengen, moet de crypto kaart mondiaal configuratie opdracht ingaan. Om de toegang tot crypto-plattegronden te kunnen voltooien, zijn er enkele aspecten die ten minste moeten worden gedefinieerd:
Hierna volgt een voorbeeld:
crypto map outside_map 10 ipsec-isakmp
set peer 172.16.1.1
set transform-set ESP-AES-SHA
match address 110
De laatste stap is de eerder gedefinieerde crypto map toe te passen op een interface. Om dit toe te passen, voer de opdracht voor configuratie van de crypto-kaart in:
interface GigabitEthernet0/0
crypto map outside_map
Hier is de laatste IOS router CLI-configuratie:
crypto isakmp policy 10
encr aes
authentication pre-share
group 2
crypto isakmp key cisco123 address 172.16.1.1
!
crypto ipsec transform-set ESP-AES-SHA esp-aes esp-sha-hmac
mode tunnel
!
crypto map outside_map 10 ipsec-isakmp
set peer 172.16.1.1
set transform-set ESP-AES-SHA
match address 110
!
interface GigabitEthernet0/0
ip address 172.17.1.1 255.255.255.0
ip nat outside
ip virtual-reassembly in
duplex auto
speed auto
crypto map outside_map
!
interface GigabitEthernet0/1
ip address 10.20.10.1 255.255.255.0
ip nat inside
ip virtual-reassembly in
duplex auto
speed auto
!
ip nat inside source route-map nonat interface GigabitEthernet0/0 overload
!
route-map nonat permit 10
match ip address 111
!
access-list 110 remark Interesting traffic access-list
access-list 110 permit ip 10.20.10.0 0.0.0.255 10.10.10.0 0.0.0.255
access-list 111 remark NAT exemption access-list
access-list 111 deny ip 10.20.10.0 0.0.0.255 10.10.10.0 0.0.0.255
access-list 111 permit ip 10.20.10.0 0.0.0.255 any
Voordat u verifieert of de tunnel omhoog is en het verkeer passeert, moet u verzekeren dat het verkeer van belangen naar of de ASA of de IOS router wordt verzonden.
Om te controleren of IKEv1 fase 1 op de ASA staat, dient u de show crypto isakmp sa opdracht in. De verwachte uitvoer is om de MM_ACTIVE status te zien:
ciscoasa# show crypto isakmp sa
IKEv1 SAs:
Active SA: 1
Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey)
Total IKE SA: 1
1 IKE Peer: 172.17.1.1
Type : L2L Role : responder
Rekey : no State : MM_ACTIVE
There are no IKEv2 SAs
ciscoasa#
Om te verifiëren of de IKEv1 fase 1 op de IOS is, voer de show crypto isakmp als opdracht in. Het verwachte resultaat is dat de actieve staat wordt gezien:
Router#show crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst src state conn-id status
172.16.1.1 172.17.1.1 QM_IDLE 1005 ACTIVE
IPv6 Crypto ISAKMP SA
Router#
Om te controleren of IKEv1 fase 2 op de ASA staat, moet u de show crypto ipsec als opdracht invoeren. De verwachte uitvoer is om zowel de inkomende als uitgaande Security Parameter Index (SPI) te zien. Als het verkeer door de tunnel gaat, moet u de toename van de omtrek/decaps-tellers zien.
Hierna volgt een voorbeeld:
ciscoasa# show crypto ipsec sa peer 172.17.1.1
peer address: 172.17.1.1
Crypto map tag: outside_map, seq num: 10, local addr: 172.16.1.1
access-list asa-router-vpn extended permit ip 10.10.10.0 255.255.255.0
10.20.10.0 255.255.255.0
local ident (addr/mask/prot/port): (10.10.10.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (10.20.10.0/255.255.255.0/0/0)
current_peer: 172.17.1.1
#pkts encaps: 1005, #pkts encrypt: 1005, #pkts digest: 1005
#pkts decaps: 1014, #pkts decrypt: 1014, #pkts verify: 1014
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 1005, #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.: 172.16.1.1/0, remote crypto endpt.: 172.17.1.1/0
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: 8A9FE619
current inbound spi : D8639BD0
inbound esp sas:
spi: 0xD8639BD0 (3630406608)
transform: esp-aes esp-sha-hmac no compression
in use settings ={L2L, Tunnel, IKEv1, }
slot: 0, conn_id: 8192, crypto-map: outside_map
sa timing: remaining key lifetime (kB/sec): (3914900/3519)
IV size: 16 bytes
replay detection support: Y
Anti replay bitmap:
0xFFFFFFFF 0xFFFFFFFF
outbound esp sas:
spi: 0x8A9FE619 (2325734937)
transform: esp-aes esp-sha-hmac no compression
in use settings ={L2L, Tunnel, IKEv1, }
slot: 0, conn_id: 8192, crypto-map: outside_map
sa timing: remaining key lifetime (kB/sec): (3914901/3519)
IV size: 16 bytes
replay detection support: Y
Anti replay bitmap:
0x00000000 0x00000001
ciscoasa#
Om te verifiëren of IKEv1 fase 2 op IOS is, voer de show crypto ipsec als opdracht in. De verwachte output is om zowel de inkomende als de uitgaande SPI te zien. Als het verkeer door de tunnel gaat, moet u de toename van de omtrek/decaps-tellers zien.
Hierna volgt een voorbeeld:
Router#show crypto ipsec sa peer 172.16.1.1
interface: GigabitEthernet0/0
Crypto map tag: outside_map, local addr 172.17.1.1
protected vrf: (none)
local ident (addr/mask/prot/port): (10.20.10.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (10.10.10.0/255.255.255.0/0/0)
current_peer 172.16.1.1 port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 2024, #pkts encrypt: 2024, #pkts digest: 2024
#pkts decaps: 2015, #pkts decrypt: 2015, #pkts verify: 2015
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 26, #recv errors 0
local crypto endpt.: 172.17.1.1, remote crypto endpt.: 172.16.1.1
path mtu 1500, ip mtu 1500, ip mtu idb GigabitEthernet0/0
current outbound spi: 0xD8639BD0(3630406608)
PFS (Y/N): N, DH group: none
inbound esp sas:
spi: 0x8A9FE619(2325734937)
transform: esp-aes esp-sha-hmac ,
in use settings ={Tunnel, }
conn id: 2003, flow_id: Onboard VPN:3, sibling_flags 80000046,
crypto map: outside_map
sa timing: remaining key lifetime (k/sec): (4449870/3455)
IV size: 16 bytes
replay detection support: Y
Status: ACTIVE
inbound ah sas:
inbound pcp sas:
outbound esp sas:
spi: 0xD8639BD0(3630406608)
transform: esp-aes esp-sha-hmac ,
in use settings ={Tunnel, }
conn id: 2004, flow_id: Onboard VPN:4, sibling_flags 80000046,
crypto map: outside_map
sa timing: remaining key lifetime (k/sec): (4449868/3455)
IV size: 16 bytes
replay detection support: Y
Status: ACTIVE
outbound ah sas:
outbound pcp sas:
Router#
In dit gedeelte worden de opdrachten beschreven die u op de ASA of IOS kunt gebruiken om de details voor zowel fase 1 als fase 2 te controleren.
Voer de opdracht show vpn-sessiondb in op de ASA-toets ter verificatie:
ciscoasa# show vpn-sessiondb detail l2l filter ipaddress 172.17.1.1
Session Type: LAN-to-LAN Detailed
Connection : 172.17.1.1
Index : 2 IP Addr : 172.17.1.1
Protocol : IKEv1 IPsec
Encryption : IKEv1: (1)AES128 IPsec: (1)AES128
Hashing : IKEv1: (1)SHA1 IPsec: (1)SHA1
Bytes Tx : 100500 Bytes Rx : 101400
Login Time : 18:06:02 UTC Wed Jul 22 2015
Duration : 0h:05m:07s
IKEv1 Tunnels: 1
IPsec Tunnels: 1
IKEv1:
Tunnel ID : 2.1
UDP Src Port : 500 UDP Dst Port : 500
IKE Neg Mode : Main Auth Mode : preSharedKeys
Encryption : AES128 Hashing : SHA1
Rekey Int (T): 86400 Seconds Rekey Left(T): 86093 Seconds
D/H Group : 2
Filter Name :
IPsec:
Tunnel ID : 2.2
Local Addr : 10.10.10.0/255.255.255.0/0/0
Remote Addr : 10.20.10.0/255.255.255.0/0/0
Encryption : AES128 Hashing : SHA1
Encapsulation: Tunnel
Rekey Int (T): 3600 Seconds Rekey Left(T): 3293 Seconds
Rekey Int (D): 4608000 K-Bytes Rekey Left(D): 4607901 K-Bytes
Idle Time Out: 30 Minutes Idle TO Left : 26 Minutes
Bytes Tx : 100500 Bytes Rx : 101400
Pkts Tx : 1005 Pkts Rx : 1014
NAC:
Reval Int (T): 0 Seconds Reval Left(T): 0 Seconds
SQ Int (T) : 0 Seconds EoU Age(T) : 309 Seconds
Hold Left (T): 0 Seconds Posture Token:
Redirect URL :
ciscoasa#
Voer de opdracht showcrypto sessie in op de IOS ter verificatie:
Router#show crypto session remote 172.16.1.1 detail
Crypto session current status
Code: C - IKE Configuration mode, D - Dead Peer Detection
K - Keepalives, N - NAT-traversal, T - cTCP encapsulation
X - IKE Extended Authentication, F - IKE Fragmentation
Interface: GigabitEthernet0/0
Uptime: 00:03:36
Session status: UP-ACTIVE
Peer: 172.16.1.1 port 500 fvrf: (none) ivrf: (none)
Phase1_id: 172.16.1.1
Desc: (none)
IKE SA: local 172.17.1.1/500 remote 172.16.1.1/500 Active
Capabilities:(none) connid:1005 lifetime:23:56:23
IPSEC FLOW: permit ip 10.20.10.0/255.255.255.0 10.10.10.0/255.255.255.0
Active SAs: 2, origin: crypto map
Inbound: #pkts dec'ed 2015 drop 0 life (KB/Sec) 4449870/3383
Outbound: #pkts enc'ed 2024 drop 26 life (KB/Sec) 4449868/3383
Router#
Deze sectie verschaft informatie die u kunt gebruiken om problemen met uw configuratie op te lossen.
Om automatisch te verifiëren of de IPSec LAN-to-LAN configuratie tussen de ASA en IOS geldig is, kunt u het IPSec LAN-to-LAN Selectiegereedschap gebruiken. Het gereedschap is ontworpen zodat het een show tech accepteert of een in werking stellen-configuratie opdracht van een ASA of IOS router toont. Het onderzoekt de configuratie en de pogingen om te ontdekken of een crypto kaart gebaseerde LAN-to-LAN IPSec-tunnel wordt gevormd. Indien geconfigureerd voert het een multicastcontrole uit van de configuratie en belicht het alle configuratiefouten en instellingen voor de tunnel die tijdens onderhandelingen worden bereikt.
Om de tunnelonderhandeling van IPSec IKEv1 op een ASA firewall te melden, kunt u deze debug opdrachten gebruiken:
debug crypto ipsec 127
debug crypto isakmp 127
debug ike-common 10
Om de tunnelonderhandeling van IPSec IKEv1 op een IOS router te problemeren kunt u deze debug opdrachten gebruiken:
debug crypto ipsec
debug crypto isakmp