歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 防火牆iptables分析

防火牆iptables分析

日期:2017/2/28 13:51:10   编辑:Linux教程

防火牆iptables分析

一、iptables 基本概念

匹配(match):符合指定的條件,比如指定的 IP 地址和端口。

丟棄(drop):當一個包到達時,簡單地丟棄,不做其它任何處理。

接受(accept):和丟棄相反,接受這個包,讓這個包通過。

拒絕(reject):和丟棄相似,但它還會向發送這個包的源主機發送錯誤消息。這個錯誤消息可以指定,也可以自動產生。

目標(target):指定的動作,說明如何處理一個包,比如:丟棄,接受,或拒絕。

跳轉(jump):和目標類似,不過它指定的不是一個具體的動作,而是另一個鏈,表示要跳轉到那個鏈上。

規則(rule):一個或多個匹配及其對應的目標。

鏈(chain):每條鏈都包含有一系列的規則,這些規則會被依次應用到每個遍歷該鏈的數據包上。每個鏈都有各自專門的用途, 這一點我們下面會詳細討論。

表(table):每個表包含有若干個不同的鏈,比如 filter 表默認包含有 INPUT,FORWARD,OUTPUT 三個鏈。iptables有四個表,分別是:raw,nat,mangle和filter,每個表都有自己專門的用處,比如最常用filter表就是專門用來做包過濾的,而 nat 表是專門用來做NAT的。

策略(police):我們在這裡提到的策略是指,對於 iptables 中某條鏈,當所有規則都匹配不成功時其默認的處理動作。

連接跟蹤(connection track):又稱為動態過濾,可以根據指定連接的狀態進行一些適當的過濾,是一個很強大的功能,但同時也比較消耗內存資源。

二、iptables的數據包流程

圖1經過iptables的數據包流程

圖1表達了數據包經過iptables的基本流程,從圖中可將數據包報文的處理過程分為三種類型。

Copyright © Linux教程網 All Rights Reserved