ISR 4431 IPSec VPN 的高可用性

网络工程 虚拟专用网 ospf 网络安全 冗余 高铁
2021-07-18 16:48:11

我在 GNS3 中有以下实验室设置。R1 和 R2 是我数据中心的 VPN 端点,而 R3 正在模拟远程站点。我想要完成的是拥有一条从 R3 到数据中心的隧道,该隧道使用 HSRP 和有状态故障转移来利用 R1 和 R2。我正在附加的配置工作,但是故障转移时间很慢(30 秒以上)并且在规范化解决方案时也失败。是否有一些我可以调整的计时器或可能利用其他东西来加速这个过程?或者最好放弃 HSRP 解决方案并使用两条隧道并让 OSPF 进行故障转移?

在此处输入图片说明

这是关闭 r1 进行测试时发生的情况的图片。

在此处输入图片说明

R1:

!
hostname r1
!
ipc zone default
 association 1
  no shutdown
  protocol sctp
   local-port 5000
    local-ip 172.16.1.2
   remote-port 5000
    remote-ip 172.16.1.3
!
redundancy inter-device
 scheme standby HA-Out
 security ipsec TUNNEL-PROFILE-SITE
!
redundancy
!
crypto ikev2 proposal IKEv2-PROPOSAL
 encryption aes-gcm-256
 prf sha384
 group 20
!
crypto ikev2 policy IKEv2-POLICY
 match fvrf any
 proposal IKEv2-PROPOSAL
!
crypto ikev2 keyring IKEv2-KEYRING
 peer TO-SITE
  address 172.16.2.1
  pre-shared-key cisco123
 !
!
crypto ikev2 profile IKEv2-PROFILE-SITE
 match identity remote any
 authentication local pre-share
 authentication remote pre-share
 keyring local IKEv2-KEYRING
!
crypto ipsec transform-set MYSET esp-gcm 256
 mode tunnel
!
crypto ipsec profile TUNNEL-PROFILE-SITE
 set transform-set MYSET
 set ikev2-profile IKEv2-PROFILE-SITE
 redundancy HA-Out stateful
!
interface Loopback0
 ip address 10.1.1.1 255.255.255.255
!
interface Tunnel208
 description <== Datacenter Connection to SITE ==>
 ip unnumbered Loopback0
 tunnel source 172.16.1.1
 tunnel mode ipsec ipv4
 tunnel destination 172.16.2.1
 tunnel protection ipsec profile TUNNEL-PROFILE-SITE
!
interface GigabitEthernet0/0
 ip address 172.16.1.2 255.255.255.240
 standby 1 ip 172.16.1.1
 standby 1 priority 110
 standby 1 preempt
 standby 1 name HA-Out
 duplex auto
 speed auto
 media-type rj45
!
interface GigabitEthernet0/1
 ip address 10.1.200.2 255.255.255.0
 standby 0 name HA-In
 standby 1 ip 10.1.200.1
 standby 1 priority 110
 standby 1 preempt
 duplex auto
 speed auto
 media-type rj45
 !
router ospf 1
 passive-interface default
 no passive-interface Tunnel208
 network 10.1.1.1 0.0.0.0 area 0
 network 10.1.200.0 0.0.0.255 area 0
 network 10.254.2.32 0.0.0.3 area 0
!
ip route 0.0.0.0 0.0.0.0 172.16.1.10
!

R2:

!
hostname r2
!
ipc zone default
 association 1
  no shutdown
  protocol sctp
   local-port 5000
    local-ip 172.16.1.3
   remote-port 5000
    remote-ip 172.16.1.2
!
redundancy inter-device
 scheme standby HA-Out
 security ipsec TUNNEL-PROFILE-SITE
!
redundancy
!
crypto ikev2 proposal IKEv2-PROPOSAL
 encryption aes-gcm-256
 prf sha384
 group 20
!
crypto ikev2 policy IKEv2-POLICY
 match fvrf any
 proposal IKEv2-PROPOSAL
!
crypto ikev2 keyring IKEv2-KEYRING
 peer TO-SITE
  address 172.16.2.1
  pre-shared-key cisco123
 !
!
crypto ikev2 profile IKEv2-PROFILE-SITE
 match identity remote any
 authentication local pre-share
 authentication remote pre-share
 keyring local IKEv2-KEYRING
!
crypto ipsec transform-set MYSET esp-gcm 256
 mode tunnel
!
crypto ipsec profile TUNNEL-PROFILE-SITE
 set transform-set MYSET
 set ikev2-profile IKEv2-PROFILE-SITE
 redundancy HA-Out stateful
!
interface Loopback0
 ip address 10.1.1.2 255.255.255.255
!
interface Tunnel208
 description <== Datacenter Connection to SITE ==>
 ip unnumbered Loopback0
 tunnel source 172.16.1.1
 tunnel mode ipsec ipv4
 tunnel destination 172.16.2.1
 tunnel protection ipsec profile TUNNEL-PROFILE-SITE
!
interface GigabitEthernet0/0
 ip address 172.16.1.3 255.255.255.240
 standby 1 ip 172.16.1.1
 standby 1 priority 105
 standby 1 name HA-Out
 duplex auto
 speed auto
 media-type rj45
!
interface GigabitEthernet0/1
 ip address 10.1.200.3 255.255.255.0
 standby 0 name HA-In
 standby 1 ip 10.1.200.1
 standby 1 priority 105
 duplex auto
 speed auto
 media-type rj45
!
router ospf 1
 passive-interface default
 no passive-interface Tunnel208
 network 10.1.1.2 0.0.0.0 area 0
 network 10.1.200.0 0.0.0.255 area 0
 network 10.254.2.32 0.0.0.3 area 0
!
ip route 0.0.0.0 0.0.0.0 172.16.1.10
!

R3:

!
hostname r3
!
crypto ikev2 proposal IKEv2-PROPOSAL
 encryption aes-gcm-256
 prf sha384
 group 20
!
crypto ikev2 policy IKEv2-POLICY
 match fvrf any
 proposal IKEv2-PROPOSAL
!
crypto ikev2 keyring IKEv2-KEYRING
 peer TO-DC01
  address 172.16.1.1
  pre-shared-key cisco123
 !
!
crypto ikev2 profile IKEv2-PROFILE-DC01
 match identity remote any
 authentication local pre-share
 authentication remote pre-share
 keyring local IKEv2-KEYRING
!
crypto ipsec transform-set MYSET esp-gcm 256
 mode tunnel
!
crypto ipsec profile TUNNEL-PROFILE-DC01
 set transform-set MYSET
 set ikev2-profile IKEv2-PROFILE-DC01
!
interface Loopback0
 ip address 10.10.1.1 255.255.255.255
!
interface Tunnel208
 description <== Datacenter Connection ==>
 ip unnumbered Loopback0
 tunnel source 172.16.2.1
 tunnel mode ipsec ipv4
 tunnel destination 172.16.1.1
 tunnel protection ipsec profile TUNNEL-PROFILE-DC01
!
interface GigabitEthernet0/0
 ip address 172.16.2.1 255.255.255.240
 duplex auto
 speed auto
 media-type rj45
 bfd template sample
 no cdp enable
!
!
router ospf 1
 passive-interface default
 no passive-interface Tunnel208
 network 10.10.1.1 0.0.0.0 area 0
 network 10.254.2.32 0.0.0.3 area 0
!
ip route 0.0.0.0 0.0.0.0 172.16.2.10
!
1个回答

是否有一些我可以调整的计时器或可能利用其他东西来加速这个过程?或者最好放弃 HSRP 解决方案并使用两条隧道并让 OSPF 进行故障转移?

是的,您可以调整 HSRP 计时器,也可以使用亚秒级计时器,但这会将 CPU 利用率提高到可能无法接受的水平。Cisco 有很多描述 HSRP 功能和配置的文档:

HSRP 定时器

每个路由器在 HSRP 中只使用三个定时器。计时器计时问候消息。发生故障时,HSRP 收敛取决于 HSRP hello 和保持计时器的配置方式。默认情况下,这些定时器分别设置为 3 和 10 秒,这意味着每 3 秒在 HSRP 备用组设备之间发送一个 hello 数据包,当 10 秒没有收到 hello 数据包时备用设备变为活动状态. 您可以降低这些计时器设置以加快故障转移或抢占速度,但是,为避免 CPU 使用率增加和不必要的待机状态波动,请勿将 hello 计时器设置为低于一 (1) 秒或将保持计时器设置为低于 4 秒。请注意,如果您使用 HSRP 跟踪机制并且被跟踪的链路发生故障,则立即发生故障转移或抢占,不管你好和保持定时器。当计时器到期时,路由器转换到新的 HSRP 状态。可以使用以下命令更改计时器:备用 [组号] 计时器 hellotime 保持时间例如, 待机 1 定时器 5 15

路由协议的故障转移速度比 HSRP 快得多。类似于 HSRP 的 FHRP 的想法是主机通常只有一个默认网关,并且 FHRP 将创建一个虚拟网关,LAN 上的主机可以向该网关发送发往不同网络的流量。路由器将相互通信以确定哪个是虚拟网关的活动路由器,并查看活动路由器是否仍在运行。如果活动路由器出现故障,备用路由器将接管,但确定活动路由器的故障需要时间。路由协议确定路径故障并重新路由也需要时间;您永远不会在不同设备之间进行即时故障转移。


对于真正的 HA 场景,您还需要做其他一些事情。例如,您应该在 R1 和 R2 之间有一条链路,并且应该跟踪到 SW1 的路由器接口,当链路出现故障但路由器仍在运行时降低 HSRP 优先级。

就我个人而言,我会将您的第 3 层交换机 AS01 设置为网关,然后在它和两个路由器之间使用路由协议(两个路由器之间有一条链路),让路由协议决定如何路由流量。