一、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 新增加一條規則,該規則增加在原本規則的最後面。例如原本已經有四條...