Linux防火牆實際指的是Linux下的Netfilter/Iptables。Netfilter/Iptables是2.4.x/2.6.x版本Linux內核集成的IP信息包過濾系統。
查看Linux內核版本
Netfilter/Iptables 信息包過濾系統可以當成一個整體,netfilter是內核的模塊實現,iptables是對上層操作工具。
Netfilter是Linux核心中的一個通用架構,工作於內核空間。
Netfilter支持一下方式對數據包進行分類:
其提供了一系列的表(tables),每個表由若干個鏈(chains)組成,每條鏈可以由一條或若干條規則(rules)組成,其規則由一些信息包過濾表組成,這些表包含內核用來控制信息包過濾處理的規則集。
chain的本質是Netfilter定義的不同過濾點。總共定義了5個過濾點。INPUT,FORWARDING,OUTPUT,PREROUTING,POSTROUTIONG。
Table的本質是Netfilter定義的不同功能的劃分。
filter用於執行基本過濾。
nat是對數據IP進行修改。
mangle是對數據包進行高級修改。
不同的Table只能用於特定的Chain。
Iptables 是一個管理內核包過濾的工具,可以用來配置核心包過濾表格中的規則。運行於用戶空間。