溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

iptables常用命令和實例復(fù)習(xí)

發(fā)布時間:2020-07-14 18:06:21 來源:網(wǎng)絡(luò) 閱讀:649 作者:時大偉1999 欄目:安全技術(shù)

 一、IPTABLES的簡介

1. 簡介

IPTABLES/netfilter(http://www.netfilter.org) 其實大多數(shù)人都認為iptableslinux系統(tǒng)上的一個服務(wù),其實不是的. 我們linux系統(tǒng)上的服務(wù)比如說httpd服務(wù)在啟動起來的時候,是不是在后臺啟動一個相應(yīng)的服務(wù)進程且在網(wǎng)卡上監(jiān)聽一個端口,iptables卻不然,那么iptables到底是什么呢?其實iptables只是一個工具而已.我們的linux系統(tǒng)有用戶空間,和內(nèi)核空間,iptables有兩個組件,一是netfilter, netfilter組件只是用來過濾防火墻規(guī)則,及作出相應(yīng)的處理機制的,它是集成在內(nèi)核中的一部分,也就是說它是工作在內(nèi)核空間的,那么大家都知道用戶是不可能直接跟內(nèi)核空間打交道的,那么netfilter只是工作在內(nèi)核空間對規(guī)則進行處理的,那么規(guī)則從何而來呢? 是從iptables的第二個組件iptables而來的,我們上面說了IPTABLES只是一個工作在用戶空間的一個工具而已,那么用戶就使用這個工具的一個命令來跟工作在內(nèi)核空間中的netfiter組件打交道的.其實IPTABLES防火墻就是這樣的.

 

二、IPTABLES的表和鏈

IPTABLES常用的表和鏈有三個filter nat mangle, 和五個鏈 INPUT OUTPUT FORWARE POSTROUTING PREROUTING, 下面來介紹下它們的各個功能呢個功能,

1.filter

filter表主要是過濾數(shù)據(jù)包,IPTABLES幾乎所有的數(shù)據(jù)包過濾都在此表中實現(xiàn)的,filter表也是IPTABLES中默認的表,此表中還包含三個鏈如下

1.1 INPUT

過濾所有的目標(biāo)地址是本機的數(shù)據(jù)包

1.2 OUTPUT

過濾所有從本機出去的數(shù)據(jù)包

1.3 FORWORD

過濾所有從本機路過的數(shù)據(jù)包

 

2.nat

nat表主要是用于做網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT) IPTABLES中可以做SNAT(源地址轉(zhuǎn)換),DNAT(目標(biāo)地址轉(zhuǎn)換),PNAT(即跟SNAT差不多,不一樣的是SNAT的源地址是固定的,PNAT的源地址是不固定的,當(dāng)使用ppp pppoe的方式連接互聯(lián)網(wǎng)的時候一般適應(yīng)這中) 。 nat表中包含兩個鏈如下

2.1 PREROUTING

在數(shù)據(jù)包到達防火墻的時候改變目標(biāo)地址 DNAT應(yīng)用于此鏈.

2.2 OUTPUT

可以改變本地產(chǎn)生的數(shù)據(jù)包的目標(biāo)地址

2.3 POSTROUTING

在數(shù)據(jù)包離開防火墻的時候改變源地址,SNAT應(yīng)用于次鏈

 

3. mangle

mangle表主要是修改數(shù)據(jù)包頭部信息,此表中包含以下5條鏈

3.1 PREROUTING,

在數(shù)據(jù)包進入防火墻之后,也稱為路由前,

3.2 POSTROUTING,

在數(shù)據(jù)包確定目標(biāo)地址后,也稱為路由后,

3.3 OUTPUT

從本機出去的時間包路由前

3.4 INPUT

數(shù)據(jù)包進入本機后,路由后

3.5 FORWARD

第一次路由判斷之后,最后一次路由判斷之前改變數(shù)據(jù)包

 

三、IPABLES的狀態(tài)

IPTABLES的狀態(tài)跟蹤連接有4,分別是,NEW,ESTABLISHED,RELATED,INVALID,除了從本機出去的數(shù)據(jù)包有nat表的OUTPUT鏈處理外,其他說有的狀態(tài)跟蹤都在nat表中的PREROUTING鏈中處理,下面來說下4種狀態(tài)是什么,

1,NEW狀態(tài)

NEW狀態(tài)的數(shù)據(jù)包說明這個數(shù)據(jù)包是收到的第一個數(shù)據(jù)包,

2,ESTABLISHED狀態(tài),

只要發(fā)送并接到應(yīng)答,一個數(shù)據(jù)包的狀態(tài)就從NEW變?yōu)?/span>ESTABLEISHED,而且該狀態(tài)會繼續(xù)匹配這個連接后繼數(shù)據(jù)包,

3,RELATED狀態(tài)

當(dāng)一個數(shù)據(jù)包的狀態(tài)處于ESTABLSHED狀態(tài)的連接有關(guān)系的時候,就會被認為是RELATED,也就是說一個鏈接想要是RELATED狀態(tài),首先要有一個ESTABLISHED的連接,

4,INVALID狀態(tài)

不能被識別屬于哪個連接狀態(tài)或沒有任何關(guān)系的狀態(tài),一般這中數(shù)據(jù)包要被拒絕的

 

四、IPTABLES命令的使用詳解

iptablesRHEL的系統(tǒng)上默認安裝的, IPTABLES的命令選項主要分為這么幾大類,規(guī)則管理,鏈管理,默認管理,查看,匹配條件,處理動作,基本應(yīng)該就這些了吧,下面來一一說名,

1.規(guī)則管理類

#iptables -A 添加一條新規(guī)則

#iptables -I 插入一條新規(guī)則 -I 后面加一數(shù)字表示插入到哪行

#iptables -D 刪除一條新規(guī)則 -D 后面加一數(shù)字表示刪除哪行

#iptables -R 替換一條新規(guī)則 -R 后面加一數(shù)字表示替換哪行

2.鏈管理類

#iptables -F 清空鏈中的所有規(guī)則

#iptables -N 新建一個鏈

#iptables -X 刪除一個自定義鏈,刪除之前要保證次鏈是空的,而且沒有被引用

#iptables -E 重命名鏈

3.默認管理類

#iptables -P 設(shè)置默認策略

4.查看類

#iptables -L 查看規(guī)則 -L還有幾個子選項如下

#iptables -L -n 以數(shù)字的方式顯示

#iptables -L -v 顯示詳細信息

#iptables -L -x 顯示精確信息

#iptables -L --line-numbers 顯示行號

5.條件匹配類

5.1 基本匹配

條件匹配也可以使用 ! 取反

-s 源地址

-d 目標(biāo)地址

-p 協(xié)議{tcp|udp|icmp}

-i 從哪個網(wǎng)絡(luò)接口進入,比如 -i eth0

-o 從哪個網(wǎng)絡(luò)接口出去,比如 -o eth0

5.2擴展匹配

5.2.1隱含擴展匹配

-p {tcp|udp} --sport 指定源端口

-p {tcp|udp} --dport 指定目標(biāo)端口

5.2.2顯示擴展匹配

-m state --state 匹配狀態(tài)的

-m mutiport --source-port 端口匹配 ,指定一組端口

-m limit --limit 3/minute 每三分種一次

-m limit --limit-burst 5 只匹配5個數(shù)據(jù)包

-m string --string --algo bm|kmp --string "xxxx" 匹配字符串

-m time --timestart 8:00 --timestop 12:00 表示從哪個時間到哪個時間段

-m time --days 表示那天

-m mac --mac-source xx:xx:xx:xx:xx:xx 匹配源MAC地址

-m layer7 --l7proto qq 表示匹配騰訊qq 當(dāng)然也支持很多協(xié)議,這個默認是沒有的,需要我們給內(nèi)核打補丁并重新編譯內(nèi)核及iptables才可以使用 -m layer7 這個顯示擴展匹配,

6,處理動作類

-j ACCEPT 允許

-j REJECT 拒絕

-j DROP 拒絕并提示信息

-j SNAT 源地址轉(zhuǎn)換

-j DNAT 目標(biāo)地址轉(zhuǎn)換

-j REDIRECT 重定向

-j MASQUERAED 地址偽裝

-j LOG --log-prefix "說明信息,自己隨便定義" 記錄日志

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI