iptables引數詳解

2021-07-06 00:03:40 字數 3049 閱讀 7219

一、iptables 主要引數:

-a   新增規則到鍊錶末尾

-i     新增規則到首部

-t     操作的表,後面加表名,不加這個引數預設操作表為filter

-d  刪除表中規則,可以指定序列號或者匹配的規則來刪除

(iptables  -t nat  -d prerouting 1)

-f  清空規則,重啟後恢復(iptables -f 清空的是filter表)

-l  列出規則

-p  用來指定協議

-s     指定源位址 (取相反ip  -s  『!』 172.24.254.120 )

-d    指定目的位址(取相反ip  -s  『!』  172.24.254.120/24  其中/24 表示的是掩碼)

-i     進入介面 如:eth0

-o  流出介面

-j   採取的動作:accept,drop,snat,dnat,masquerade,redirect

--sport     源埠 

--dport    目的埠,埠必須和協議一起,才能使用;多個埠如何使用?--dprot 1:24

二、配置檔案:/etc/sysconfig/iptables

三、啟動服務:/etc/init.d/iptables start/stop/restart

五、例題

iptables  -t filter -a input  -s  172.24.254.120 -p tcp --dport 80 -j  drop

禁止172.24.254.120 訪問本機的80埠 (使用

--dport

必須加上協議)

iptables  -t  filter -i  output -d  172.24.254.111 -j drop

禁止本機向172.24.254.111傳送資訊包

六、注意項

規則順序的重要性:假設

input

列表中有

10條規則,當乙個資料報要進入主機時,防火牆如何分析這個資料報的,資料報過濾的規則操作及分析過程:資料報先與

input

鏈中第一條規則進行匹配,符合匹配則進行第一條規則的動作:

accept

或者drop

。而不會理睬後續的

9條規則。如果不符合第一條規則則逐一往下匹配,如果全部不符合則執行預設策略(

accept

或者drop)。

如何修改預設策略?iptables-p input drop/accept

當修改input

預設策略為

drop

時(iptables -p input drop

);ssh

會馬上掉線

簡單的filter

表規則新增不多提,詳細可以參考鳥哥伺服器篇,

262頁。

七、nat原理與配置

1、在做nat之前,要先將路由**功能開啟,不然資料鏈forward都過不了

2、nat表中的三個鏈:prerouting(路由之前),postrouting(路由之後),output

3、需要用到的幾個動作選項:

redirect:埠的轉換

4、資料流向過程分析

資料依次經過prerouting-------forword -------postrouting這三個鏈

snat

資料流向過程分析:首先進入prerouting,發現不是本網段的位址,而後開始查詢路由表(查詢路由的過程在prerouting和forword之間),再經過forword進行**,在經過postrouting進行nat轉換。在這個流程中,nat轉換的步驟在postrouting鏈上操作,之所以不在prerouting上操作是因為資料進來之前還不知道本網段位址是外網位址。

dnat資料流向過程分析:在dnat中nat抓換在prerouting鏈上操作,因為資料進入主機後,路由選擇過程在prerouting和forword之間,所以只有先做完位址轉換,才進行路由選擇。

科普下:路由(

routing

)是指分組從源到目的地時,決定端到端路徑的網路範圍的程序。路由工作在

osi參考模型

第三層——

網路層的

資料報**裝置。

路由器通過**

資料報來實現

網路互連

。雖然路由器

可以支援多種協議(如

tcp/ip

、ipx/spx

、等協議)。

八、例題

1、使用防火牆,將80埠的請求**到8080埠

iptables  -t nat -i prerouting  -p tcp --dprot80  -j redirect --to-port 8080

2、使用防火牆技術,將本機上的80埠請求**到另外一台主機的8080埠上

假設本機內網ip為172.24.254.55/16  外網ip為 172.24.254.120/24

另一台內網

ip為:

172.24.254.44/16

iptables -t nat  -i prerouting -d 172.24.254.120/24 -p tcp--dport  80 -j 

dnat --to-destination172.24.254.44:8080

iptables -t nat -i postrouting  -s 172.24.254.44/16 -p tcp --dport 8080 -j

snat --to-source 172.24.254.120:80 3、

定製一條

iptables

,實現:只允許

8.8.8

.8,使用

udp協議,訪問本機的

1-1024

埠,其他全部拒絕。

iptables -i input -s 『!』 8.8.8.8-p udp --dport 1:1024 -j dorp

九、當資料報到達防火牆是,防火牆的一系列操作 1

、以本地為目標的包 2

、以本地為源的包 3

、被**的包

iptables引數詳解

一 limit 速率限制 m limit 說明 limit 1000 s 設定最大平均匹配速率 limit 5 m limit burst 15 表示一開始能匹配的資料報數量為15個,每匹配到乙個,limit burst的值減1,所以匹配到15個時,該值為0,每過12s,limit burst的值會...

iptables入門詳解

linux的防火牆體系主要工作在網路層,針對tcp ip資料報實施過濾和限制,屬於典型的包過濾防火牆 或稱網路層防火牆 iptables是乙個命令列防火牆實用程式,它使用策略鏈來允許或阻止通訊。當連線試圖在你的系統上建立自己時,iptables在它的列表中尋找一條規則來匹配它。如果找不到,則採取預設...

iptables命令詳解

iptabels root www iptables ai鏈名 io網路介面 p協定 s ip 網域 d目標ip 網域 j accept drop reject log 選項與引數 ai 鏈名 針對某的鏈進行規則的 插入 或 累加 a 新增加一條規則,該規則增加在原本規則的最後面。例如原本已經有四條...