Questions
「為什麼Fortigate設定policy的時候只需要設定外對內?」
「為什麼Policy Route不參與封包回去的路由決策?」
「去回不同路?」
Reference
https://docs.fortinet.com/document/fortigate/7.6.4/administration-guide/562859/using-a-session-table
https://docs.fortinet.com/document/fortigate/7.6.4/administration-guide/139692/routing-concepts
Creating New Session
1. 查 Policy
- 檢查 Security Policy(來源介面 → 目的介面)是否允許這個流量。
- 如果不允許,直接丟棄,不會建立 session。
2. 查 Policy Route > SD-WAN rule > Routing Table給"正向流量"。
3. 查詢FIB給"反向流量",也就是不包含Policy Route and SDWAN Rule。
4. 建立 Session Entry
- 在 session table 裡建立紀錄,包括:
- 來源與目的 IP/Port + protocol(五元組)
- ingress / egress interface
- NAT 轉換資訊(SNAT/DNAT)
- timeout、flags、UTM 狀態
這時候,routing lookup 的結果會被寫入 session table。
Respond Packet
當回應封包進來時(例如 TCP SYN-ACK):
1. 比對 Session Table
- 如果找到符合的 entry(反向五元組),就直接放行。
2. 出口介面決定
- 出口並不是重新查 routing table,而是直接使用 session entry 裡的 egress interface。
Conclusion
封包進入防火牆(比對不到session)
→ 查 Policy、查 Routing → 建立 session entry。
回應封包
→ 直接比對 反向session entry → 若比對成功,則套用egress interface。
(也就是說,這個階段policy route, SDWAN rule不參與,只有FIB會影響。)