tcp回流经过ASA防火墙问题
环境R2,R3网关在ASA,R3背后有10.0.0.0网络,ASA路由10.0.0.0/24下一跳是R3
问题,R2访问10.0.0.0/24网段时,流量到达ASA,icmp和udp可以通过,tcp会被丢弃
1,R2的10.1.1.44发起TCP流量访问10.0.0.0网段web server
2,ASA收到改流量,发现出站接口是相同的security-level,需要敲下这条命令:
ASA(config)#same-security permit intra-interface
3,然后这个SYN包会通过R3路由到达R4,
4,Web server返回SYN-ACK,这个包在到达R3之后,将会被直接通过mac地址转发到R2
5,R2收到该数据包会直接丢弃,这是因为ASA的“tcp序列号随机化”的默认特性,
当ASA从任意接口收到一个的SYN包时,会将seq随机成另一个数字,记录在状态表中,然后再发出,这是他的一个安全策略。
而在上例中,假定R2初始的SYN包的seq是12345,经过ASA被随机成为56789,R4回报只会确认收到56789,这个包在到达R2之后会被丢弃,因为R2希望确认12345
6,为了避免这种内部的异步路由导致的丢包,需要在ASA赦免特定tcp流量的状态化检测,配置如下:
1 | object-group network LOCAL |
其他:
如果ping也被ASA检测,那么也需要禁用,否则从10.0.0.0发起的ping是不通的,
其他被ASA检测的协议也是类似
原文作者: Mansur
原文链接: http://nbma.info/asa-tcp-traffic-back/
许可协议: 除特别声明外,本站文章均采用CC BY-NC 4.0许可协议,转载请注明出处。