利用掌握的路由知识解决现实环境中的问题 --- 之(非对称路由)-dearsky

上一篇中?

"利用掌握的路由知识解决现实环境中的问题"?提出的解决方法并没有解释清楚问题的症结!

现在补上!


更改之处:在本次实验当中(M0n0wall 用 Pfsense替代)

遇到问题:本次遇到的问题与之前并没有不同 -- 从SZBG ping/tracert HKBG 192.168.15.21 正常

? ? ? ? ? ? ? ? 但客户端Outlook邮箱就是不能正常连接HKBG的邮件服务器192.168.15.21



image.png


思考的方向:

? ? 既然ping和tracert都没有问题、说明路由没什么太大问题。

? ? 到底是哪里不同呢?(协议),ping/tracert/Outlook使用的协议不同!


?? 正常情况下: 客户端 连接 邮件服务器是这样->

? ??image.png

? ? 很显然Outlook是使用TCP协议 与 邮件服务器通讯 而ping/tracert 是使用ICMP协议!


? ? M0n0wall 和 Pfsense这两者都是基于状态检测的防火墙(它集成了:FW+Router的功能)

? ? ?基于状态检测的防火墙特性:

? ? ?如果:某个会话不完整(如:只有请求报文SYN、没有响应报文 ACK)那么这个会话请求将被拦截或丢弃!

???? 通常它要求必须保持会话的完整性,我们知道(一个TCP连接的建立与断开分为:3次握手与4次断开)

???? TCP是面向连接的且有状态的可靠传输协议:

??????image.png

?????

把我们现有的网络架构放大一点看得更清楚:

? ??image.png

? ? 我们可以从图中看出(报文从192.168.20.45出去/回来时的路径 是不相同的,即通常所谓:非对称路由)

? ? ?然而这种情况在(M0n0wall 和 Pfsense)看来此次会话是不完整的(因为它仅仅是收到了SYN的包、其它包都没有收到)

? ? ?所以192.168.20.45发起的连接请求将会被(M0n0wall 和 Pfsense)拦截或丢弃!


???? 为了解决这个问题PFsense提供了一办法:

????? 我们只需要在 System - > Advanced -> Firewall&NAT 勾选“Static route filtering”。即可真正解决上述问题!

? ? ?image.png

????