现场使用一台堆叠的防火墙,使用G1/0/2口连接核心设备,旁挂在服务器区的网络中。同时在防火墙上起服务器负载,所有访问服务,经由防火墙做服务器负载后,转发给对应的服务器进行处理。
现场做了服务器负载,但是客户端通过虚服务地址访问服务异常,终端直接访问实服务器地址,各项服务正常。
(1)首先查看防火墙的虚实服务是否正常:
经查看防火墙的虚实服务都是正常的。
(2)然后确认了下,终端到防火墙的虚服务地址能通,端口也是开放的。
(3)在终端进行故障访问测试后,查看了下防火墙的会话表,根据会话看,终端访问虚服务器10.1.100.107的时候,服务被负载到了10.1.101.114,同时设备在出方向1/0/2口做了源nat(回包的目的端口和始发包源端口不同,默认为PAT方式)。看会话地址转换正常,没有问题。
[NWFW]dis session table ipv4 destination-ip 10.1.100.107 verbose
Slot 1:
Initiator:
Source IP/port: 10.1.99.75/55517
Destination IP/port: 10.1.100.107/9006
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: SLB/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/2
Source security zone: SLB
Responder:
Source IP/port: 10.1.101.114/9006
Destination IP/port: 10.1.100.107/1047
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/2
Source security zone: SLB
State: TCP_SYN_SENT
Application: GENERAL_TCP
Rule ID: 5
Rule name: SLB-SLB
Start time: 2020-08-24 17:54:31 TTL: 12s
Initiator->Responder: 2 packets 104 bytes
Responder->Initiator: 0 packets 0 bytes
(4)根据3中查看结果,怀疑是服务器回包异常。于是在防火墙上针对互联1/0/2口抓包,通过抓包发现,防火墙和服务器之间3次握手交互正常完成后,防火墙重传了sys报文,然后服务器进行了重复的ACK确认,最后防火墙发了RST重置了该三次握手。
根据抓包看,应该是防火墙出了问题。
(5)考虑到现场的环境涉及IRF,由出现了会话的异常,开始怀疑是防火墙会话同步未开导致的。后续检查发现,现场的会话同步是正常开启的。
session synchronization enable asymmetric
session synchronization dns http
(6)最终联系产品线工程师协同进行定位,发现该情况下,即使单接口连接到核心设备进行互通,仍属于双主模式部署,当前设备双主模式运行下,服务器负载会出现异常的情况。这也解释了为什么抓包中,设备会给服务器发送RST重置报文。
在本案例拓扑情况下,即使单接口连接到核心设备进行互通,仍属于双主模式部署,当前设备双主模式运行下,服务器负载会出现异常。双主模式下,不支持做服务器负载。后续将现场的防火墙,在两个框上各出一个三层口,配置冗余口和核心对接,改为冗余主备的方案进行使用后正常。
另外需要注意的一点是,像本案例中一样,使用单端口作为业务口对接,也属于双主模式运行,双主情况下运行使用时,配置nat的时候,需要在逻辑口上配置。本案例中,直接在物理口1/0/2上配置nat outbound进行源地址转换,也会存在业务异常的风险。如果在双主情况下,有nat配置需求时,可以将该单接口加入聚合口中,在聚合口上配置nat使用。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作