Linux防火牆 iptables基本原理 四表五鏈 NetFilter 概述

語言: CN / TW / HK

Linux防火牆主要就行工作的部分在內核,這個模塊叫NetFilter;我們平時配置的iptables是給我們的一個配置界面,我們通過iptables配置規則,配置之後,NetFilter通過這些規則來進行防火牆過濾等操作控制。

NetFilter模塊:它是主要的工作模塊,位於內核中,在網絡層的五個位置(也就是防火牆四表五鏈中的五鏈)註冊了一些鈎子函數,用來抓取數據包;把數據包的信息拿出來匹配各個各個鏈位置在對應表中的

規則:匹配之後,進行相應的處理ACCEPT、DROP等等。

 

 

 

四表五鏈:大家常説的iptables四表五鏈究竟是什麼呢?其實只要理解了表和鏈究竟是做什麼的 就很簡單了。

鏈就是位置:共有五個 進路由(PREROUTING)、進系統(INPUT) 、轉發(FORWARD)、出系統(OUTPUT)、出路由(POSTROUTING);

表就是存儲的規則;數據包到了該鏈處,會去對應表中查詢設置的規則,然後決定是否放行、丟棄、轉發還是修改等等操作。

 

 

我們在平時配置防火牆 主要用到表 就是filter和nat表

Filter表:用來處理是否放行

NAT表:實現數據包轉發,修改源地址 端口 目標地址 端口,實現地址轉換

 

 

Linux註冊的五個鈎子函數:

鏈是位置:對應鈎子函數的位置:在對應位置檢查