HSRP 和静态 NAT 行为

网络工程 纳特 高铁
2021-07-26 04:45:14

我可以对以下问题发表您的意见吗?

配置:

两个 2911 路由器。使用 2 个备用组在 Wan 和 LAN 侧执行 HSRP。对内部服务器进行静态 NAT。在 nat 语句上添加了冗余关键字。跟踪 LAN 侧 hsrp 组中的 wan 侧接口和跟踪 WAN 侧 hsrp 组中的 LAN 侧接口。

一切正常,但我在 HSRP 故障转移时发现了以下收敛时间问题。

  1. HSRP 活动设备在表中有一个 TCP 转换。

  2. HSRP active 执行故障转移(关闭接口)。

  3. 故障转移进行得很顺利,但在故障转移发生后大约 30 秒后,新活动上的 ip nat 会话表会使用 TCP 会话进行更新。从调试中看出。

新的活动设备在 30 秒或更长时间后收到来自旧活动的 NAT 会话表更新消息。

当 HSRP 故障转移时,我的客户希望 TCP 会话复制在 15 秒内发生。

有没有办法让它在不到 15 秒的时间内工作?另外,在进行 HSRP 和静态 NAT 时,推荐的 ip nat 转换超时计时器是多少?

我发布了配置和调试消息:

调试消息:

---在80上连接到服务器

SPR2#telnet  10.31.71.20 80
Trying 10.31.71.20, 80 ... Open

--- NATGW1是hsrp active,模拟failover,关闭接口

NATGW1(config-if)#shut

--- NATGW2 是新的活动

它在 05:02:18.323 从待机状态变为活动状态,但在 11 月 5 日 05:02:48.604: 30 秒后接收到 NAT 会话。

NATGW2#debug ip nat detailed
IP NAT detailed debugging is on
NATGW2#

它在 05:02:18.323 *Nov 5 05:02:18.323: %HSRP-5-STATECHANGE: Ethernet0/1 Grp 200 state Standby -> Active 从待机状态变为活动状态

NATGW2#
*Nov  5 05:02:18.324: NAT: redundancy_update: Standby->Active grp:OSE, Address:10.31.71.19
*Nov  5 05:02:18.324: NAT: Find alias : 10.31.71.19 Ethernet0/2
*Nov  5 05:02:18.324: NAT: Found alias
*Nov  5 05:02:18.325: NAT: Setup alias as Active
*Nov  5 05:02:18.325: NAT: redundancy_update: Standby->Active grp:OSE, Address:10.31.71.20
*Nov  5 05:02:18.329: NAT: Find alias : 10.31.71.20 Ethernet0/2
*Nov  5 05:02:18.329: NAT: Found alias
*Nov  5 05:02:18.330: NAT: Setup alias as Active
NATGW2#
*Nov  5 05:02:19.377: %HSRP-5-STATECHANGE: Ethernet0/2 Grp 100 state Standby -> Active
NATGW2#
*Nov  5 05:02:21.399: NAT: redundancy_update: Active->Active grp:OSE, Address:10.31.71.19
*Nov  5 05:02:21.399: NAT: Find alias : 10.31.71.19 Ethernet0/2
*Nov  5 05:02:21.399: NAT: Found alias
*Nov  5 05:02:21.399: NAT: Setup alias as Active
*Nov  5 05:02:21.400: NAT: redundancy_update: Active->Active grp:OSE, Address:10.31.71.20
*Nov  5 05:02:21.400: NAT: Find alias : 10.31.71.20 Ethernet0/2
*Nov  5 05:02:21.400: NAT: Found alias
*Nov  5 05:02:21.400: NAT: Setup alias as Active
NATGW2#

在 11 月 5 日 05:02:48.604 接收 NAT 会话:

*Nov  5 05:02:48.604: NAT: API parameters passed: src_addr:192.168.153.90, src_port:0 dest_addr:10.31.71.252, dest_port:0, proto:6 if_input:Ethernet0/1 pak:B046DD78 get_translated:1

配置:

NATGW1#show run | sec nat
 ip nat inside
 ip nat outside
ip nat inside source static 192.168.153.99 10.31.71.19 redundancy OSE
ip nat inside source static 192.168.153.90 10.31.71.20 redundancy OSE


NATGW2#show run | sec nat
 ip nat inside
 ip nat outside
ip nat inside source static 192.168.153.99 10.31.71.19 redundancy OSE
ip nat inside source static 192.168.153.90 10.31.71.20 redundancy OSE


NATGW1#show standby
Ethernet0/1 - Group 200
  State is Active
    8 state changes, last state change 00:02:27
  Virtual IP address is 192.168.153.253
  Active virtual MAC address is 0000.0c07.acc8
    Local virtual MAC address is 0000.0c07.acc8 (v1 default)
  Hello time 3 sec, hold time 10 sec
    Next hello sent in 2.944 secs
  Preemption enabled
  Active router is local
  Standby router is 192.168.153.252, priority 105 (expires in 9.792 sec)
  Priority 110 (configured 110)
    Track interface Ethernet0/2 state Up decrement 10
  Group name is "OSE" (cfgd)
Ethernet0/2 - Group 100
  State is Active
    11 state changes, last state change 00:02:28
  Virtual IP address is 10.31.71.103
  Active virtual MAC address is 0000.0c07.ac64
    Local virtual MAC address is 0000.0c07.ac64 (v1 default)
  Hello time 3 sec, hold time 10 sec
    Next hello sent in 0.352 secs
  Preemption enabled
  Active router is local
  Standby router is 10.31.71.102, priority 105 (expires in 9.584 sec)
  Priority 110 (configured 110)
    Track interface Ethernet0/1 state Up decrement 10
  Group name is "hsrp-Et0/2-100" (default)

谢谢你的帮助。

1个回答

我发现了这个问题。

问题是我的测试程序。我使用 telnet 模拟了 http 连接到 http 端口,但我没有产生任何流量(请求)。我使用 GET 请求重复了测试,并且几乎立即复制了 nat 会话表。

我发布了调试消息。

NAT 复制触发器是 tcp 会话中的下一个段请求。

调试消息

从客户端远程登录

telnet 10.31.73.12 3099 
*Nov  7 03:52:17.071: TCBB2701B60 connected to 10.31.73.12.3099
GET / HTTP/1.0
GET / HTTP/1.0
GET / HTTP/1.0

新活跃

在 03:52:32,34 变得活跃

NATGW2#
*Nov  7 03:52:32.700: %HSRP-5-STATECHANGE: Ethernet0/2 Grp 100 state Standby -> Active
NATGW2#
*Nov  7 03:52:32.701:  IP-ADDR: ipaddr_table_insert_w_tableid() 10.31.71.254, in global table on Ethernet0/2
NATGW2#
*Nov  7 03:52:34.657: %HSRP-5-STATECHANGE: Ethernet0/1 Grp 200 state Standby -> Active

新的 Active 侦听 HSRP IP 的 ARP 请求

*Nov  7 03:52:34.658:  IP-ADDR: ipaddr_table_insert_w_tableid() 192.168.153.253, in global table on Ethernet0/1

在新的 Active 上重新创建 nat 会话。

*Nov  7 03:52:34.745: NAT: API parameters passed: src_addr:10.31.71.3, src_port:0 dest_addr:10.31.73.12, dest_port:0, proto:6 if_input:Ethernet0/2 pak:B072F0A8 get_translated:1
*Nov  7 03:52:34.745: ipnat_api_translated_address_and_port_common, out->in want IL,OL
*Nov  7 03:52:34.745: NAT: API Translated-Info(1): (src-addr:10.31.71.3, src-port:0) (dest-addr:192.168.153.12, dest-port:0)