[推薦] 用人話說 iptables
Source
https://www.youtube.com/watch?v=H8HxSdSUO9Q
Summary
iptables 透過 netfilter 模組實現,他們的關係就像是門禁系統之於門禁控制器
Q: iptables 是防火牆嗎? A: 他是 client-side 的數據包規則的設置程式,防火牆只是他可以實現的功能之一
Q: ufw, firewalld, nftables 的差別? A: 全部都是一樣的設置程式,其中 nftables 的目的是透過更高效簡單且兼容性高的方式改進 netfilter,比較有未來性
- netfilter 由 rule + chain + table 組成
- rule 是一條封包管理策略
- chain 是封包流動的過程,總結處理三種情況:流入、流出、轉發,包含下列 5 條鏈
- pre-routing 是封包進入系統後,還沒決定要送到哪個網路介面時的處理
- input 是封包送到本機的處理
- forward 是封包送到其他網路介面的處理
- output 是本機產生的封包處理
- post-routing 是封包離開系統前的處理
- table 是一組 chain 的集合,netfilter 內建 4 張表優先級由高至低為下:
- raw table:處理原始封包,進行封包的追蹤或是追蹤前處理
- mangle table:拆包、修改再封包的處理
- nat table:所有地址轉換的操作
- filter table:防火牆功能的實踐處理
下表為 chain 可作用的 table
鏈表關係 | pre-routing | input | forward | output | post-routing |
---|---|---|---|---|---|
raw | x | x | |||
mangle | x | x | x | x | x |
nat | x | x (centos 7 only) | x | x | |
filter | x | x | x |
發佈時間
2025-6-9