部署 IPSEC 安全通道 - isakmp SA 为空

网络工程 思科 虚拟专用网 网络安全 艾克
2021-07-11 17:27:47

我目前正在尝试使用简单的实验室架构对 IPSEC 隧道中的流量进行加密。架构如下所示:

网络图

我正在尝试在路由器 A 和路由器 B 之间安装 IPSEC 隧道,中间有一个 L3 交换机来模拟 ISP。

如果没有 IPSEC 隧道,我可以毫无问题地 ping 一切。我一开始建造隧道,ping就停止了。

以下是配置:

路由器A

crypto isakmp policy 2
 authentication pre-share
crypto isakmp key cisco123 address 172.17.1.1
!
crypto ipsec transform-set Router-IPSEC esp-des esp-sha-hmac
 mode tunnel
!
crypto map SDM_CMAP_1 1 ipsec-isakmp
 description Tunnel to172.17.1.1
 set peer 172.17.1.1
 set transform-set Router-IPSEC
 match address 100
!
interface FastEthernet4
 switchport access vlan 10
 no ip address
 spanning-tree portfast

interface GigabitEthernet0
 no ip address
 duplex auto
 speed auto
!
interface GigabitEthernet0.1
 encapsulation dot1Q 100
 ip address 172.16.1.1 255.255.255.0
 crypto map SDM_CMAP_1
!
interface Vlan10
 ip address 10.10.10.1 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 172.16.1.2
!
access-list 100 permit ip 10.10.10.0 0.0.0.255 10.20.10.0 0.0.0.255 log
access-list 110 deny   ip 10.10.10.0 0.0.0.255 10.20.10.0 0.0.0.255 log
access-list 110 permit ip 10.10.10.0 0.0.0.255 any log
!
route-map nonat permit 10
 match ip address 110

路由器B

!
crypto isakmp policy 2
 authentication pre-share
crypto isakmp key cisco123 address 172.16.1.1
!
crypto ipsec transform-set Router-IPSEC esp-des esp-sha-hmac
 mode tunnel
!
crypto map SDM_CMAP_1 1 ipsec-isakmp
 description Tunnel to172.16.1.1
 set peer 172.16.1.1
 set transform-set Router-IPSEC
 match address 100
!
interface FastEthernet4
 switchport access vlan 20
 no ip address
 spanning-tree portfast
!
interface GigabitEthernet0
 no ip address
 duplex auto
 speed auto
!
interface GigabitEthernet0.1
 encapsulation dot1Q 200
 ip address 172.17.1.1 255.255.255.0
 crypto map SDM_CMAP_1
!
interface Vlan20
 ip address 10.20.10.1 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 172.17.1.2    
!
access-list 100 permit ip 10.20.10.0 0.0.0.255 10.10.10.0 0.0.0.255 log
access-list 110 deny   ip 10.20.10.0 0.0.0.255 10.10.10.0 0.0.0.255 log
access-list 110 permit ip 10.20.10.0 0.0.0.255 any log
!
route-map nonat permit 10
 match ip address 110

三层交换机

!
system mtu routing 1500
ip subnet-zero
ip routing
!
interface FastEthernet1/0/1
 description *** Interco L2L ***
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 100
 switchport mode trunk
!
interface FastEthernet1/0/2
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 200
 switchport mode trunk
!
interface Vlan100
 ip address 172.16.1.2 255.255.255.0
!
interface Vlan200
 ip address 172.17.1.2 255.255.255.0
!

当我尝试检查 IKE 安全关联时,我发现没有生成 SA。

RouterB# show crypto isakmp sa

dst             src             state          conn-id slot status

但是我可以看到 IPSEC 安全关联...

RouterB# show crypto ipsec sa
    interface: FastEthernet0
Crypto map tag: SDM_CMAP_1, 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

此外,即使我从本地主机 ping 远程主机之一,ACL 100 和 110 也没有显示匹配项。

可能是什么问题?ACL 没有得到任何命中的事实对我来说似乎很奇怪。

感谢您的回答。

杰里米

1个回答

如果我正确理解您的问题 - 您正在尝试在两个路由器之间部署 IPSec 站点到站点隧道

在这种情况下,据我所知,您的配置存在几个问题:

首先 - 您需要在两个路由器之间建立一个 GRE(未加密)隧道,如下所示:

路由器A:

    interface Tunnel100
     tunnel source 172.16.1.1
     tunnel destination 172.17.1.1
     ip address [inner ip-address] [inner subnet-mask]

路由器 B:

    interface Tunnel100
     tunnel source 172.17.1.1
     tunnel destination 172.16.1.1
     ip address [inner ip-address] [inner subnet-mask]

现在,为了使其发挥作用,需要在172.16.1.1之间建立端到端连接172.17.1.1在您的配置中,这是通过ip route 0.0.0.0 0.0.0.0 172.[...]线路实现的,但我强烈建议反对,因为您可能希望稍后通过隧道路由所有流量。

将其ip route 172.16.0.0 255.254.0.0 172.[...]改为(至少) - 这样只有172.16/15子网中的流量才会通过接口路由。

一旦 Tunnel100 启动 - 隧道末端(内部 IP 地址)应该是可 ping 的,例如,如果inner ip-addresses(A) - 192.168.0.1并且(B) - 192.168.0.2您应该能够192.168.0.2Router A以下位置ping 通

ping 192.168.0.2 source 192.168.0.1
[...]
!!!!!

如果这有效,您可能希望通过隧道添加默认路由 - 如上所述:

ip route 0.0.0.0 0.0.0.0 192.168.0.[1 or 2]

现在,接下来应该做的是加密或“隧道保护”:

interface Tunnel100
 tunnel protection ipsec profile [isakmp-profile]

查看本指南以获取有关 isakmp 配置文件的详细说明。也可以使用default

此外,您可能对使用 ikev2 信令(而不是 isakmp)部署 IPSec vpn 的本指南感兴趣- 主要区别在于(缺乏)需要配置加密映射。

思科正在慢慢地弃用 isakmp 以将其替换为 ikev2,因此部署该配置可能是一个很好的做法。

希望这有帮助。

问候,

伊利亚