實戰案例:90%網工遇過!路徑不對等組網場景經防火墻會丟包,那么該如何解決?
背景介紹
最近某企業近期網絡改造,需要將部門對專網和公網的訪問權限隔離開來,即“研發部通過某C防火墻上研發專網,辦公區可以上互聯網,但要保證兩者均能互訪”。拓撲簡化如下:
- 研發部-VLAN10:網關為192.168.10.2即專網防護墻,可訪問研發專網
- 辦公區VLAN20:網關為192.168.10.1即核心交換機,可訪問互聯網
- 防火墻配置靜態路由,目的VLAN20下一跳交給核心
按照上述方式部署以后,IT人員發現只有研發部VLAN10能訪問到辦公區VLAN20而反之則不行,一通排查下來發現原因是訪問路徑不對等,防火墻將包給丟掉了!
問題分析
最玩過防火墻(后文簡稱FW)的朋友或多或少都聽說過FW會因為路徑不對等而丟包,其原理是什么呢?我們基于這個拓撲來看一下。
首先看VLAN10—>VLAN20成功,路徑如下:
可以看到VLAN10去往VLAN20的路徑是(PC2-FW-核心SW-PC1),即①②③④,PC2發出的ICMP Request經過FW后會生成Session(會話)同時將包轉發出去。
VLAN20回包路徑是(PC2-核心SW-PC1),即⑤⑥。這個ICMP Reply不經過防火墻直接到研發部,來回是成功的。
然后看VLAN20—>VLAN10失敗,路徑如下:
VLAN20訪問VLAN10的路徑是①②,ICMP Request能被研發部設備收到沒問題。但是VLAN20的回包路徑是③④,此時當FW收到ICMP Reply后會檢查Session狀態是否存在,答案是沒有的!因為沒收到過Request。
會話檢查后FW就把ICMP Reply丟掉了。這就是FW組網場景對路徑不對等的報文丟棄的原理,TCP三次握手也是一樣,我這里就不細說了。那么如何解決呢?
解決方案
通過上述分析可知防火墻基于會話狀態檢測機制丟包,即默認的“嚴格模式”。華三防火墻可通過配置會話狀態機為“寬松模式”來實現類似寬松的效果,相關命令如下:
<H3C> system-view
[H3C] session state-machine mode loose
需注意:開啟"寬松模式"可能會帶來一定的安全風險,建議根據具體的網絡環境和安全需求謹慎配置,并結合其他安全措施保障網絡安全。