歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> iptables四個表與五個鏈間的處理關系

iptables四個表與五個鏈間的處理關系

日期:2017/2/28 15:43:44   编辑:Linux教程

netfilter/iptables IP 信息包過濾系統是一種功能強大的工具,可用於添加、編輯和除去規則,這些規則是在做信息包過濾決定時,防火牆所遵循和組成的規則。這些規則存儲在專用的信息包過濾表中,而這些表集成在 Linux 內核中。在信息包過濾表中,規則被分組放在我們所謂的鏈(chain)中。

雖然 netfilter/iptables IP 信息包過濾系統被稱為單個實體,但它實際上由兩個組件 netfilter 和 iptables 組成。

netfilter 組件也稱為內核空間(kernelspace),是內核的一部分,由一些信息包過濾表組成,這些表包含內核用來控制信息包過濾處理的規則集。

iptables 組件是一種工具,也稱為用戶空間(userspace),它使插入、修改和除去信息包過濾表中的規則變得容易。

iptables包含4個表,5個鏈。其中表是按照對數據包的操作區分的,鏈是按照不同的Hook點來區分的,表和鏈實際上是netfilter的兩個維度。

4個表:filter,nat,mangle,raw,默認表是filter(沒有指定表的時候就是filter表)。表的處理優先級:raw>mangle>nat>filter。

filter:一般的過濾功能

nat:用於nat功能(端口映射,地址映射等)

mangle:用於對特定數據包的修改

raw:有限級最高,設置raw時一般是為了不再讓iptables做數據包的鏈接跟蹤處理,提高性能

5個鏈:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING。

PREROUTING:數據包進入路由表之前

INPUT:通過路由表後目的地為本機

FORWARDING:通過路由表後,目的地不為本機

OUTPUT:由本機產生,向外轉發

POSTROUTIONG:發送到網卡接口之前。如下圖:

iptables中表和鏈的對應關系如下:

Copyright © Linux教程網 All Rights Reserved