IPTABLES/netfilter(http://www.netfilter.org)其實大多數(shù)人都認為iptables是linux系統(tǒng)上的一個服務,其實不是的.我們linux系統(tǒng)上的服務比如說httpd服務在啟動起來的時候,是不是在后臺啟動一個相應的服務進程且在網(wǎng)卡上監(jiān)聽一個端口,而iptables卻不然,那么iptables到底是什么呢?其實iptables只是一個工具而已.我們的linux系統(tǒng)有用戶空間,和內(nèi)核空間,而iptables有兩個組件,一是netfilter, netfilter組件只是用來過濾防火墻規(guī)則,及作出相應的處理機制的,它是集成在內(nèi)核中的一部分,也就是說它是工作在內(nèi)核空間的,那么大家都知道用戶是不可能直接跟內(nèi)核空間打交道的,那么netfilter只是工作在內(nèi)核空間對規(guī)則進行處理的,那么規(guī)則從何而來呢?是從iptables的第二個組件iptables而來的,我們上面說了IPTABLES只是一個工作在用戶空間的一個工具而已,那么用戶就使用這個工具的一個命令來跟工作在內(nèi)核空間中的netfiter組件打交道的.其實IPTABLES防火墻就是這樣的.
成都創(chuàng)新互聯(lián)制作網(wǎng)站網(wǎng)頁找三站合一網(wǎng)站制作公司,專注于網(wǎng)頁設計,網(wǎng)站建設、網(wǎng)站設計,網(wǎng)站設計,企業(yè)網(wǎng)站搭建,網(wǎng)站開發(fā),建網(wǎng)站業(yè)務,680元做網(wǎng)站,已為上千余家服務,成都創(chuàng)新互聯(lián)網(wǎng)站建設將一如既往的為我們的客戶提供最優(yōu)質(zhì)的網(wǎng)站建設、網(wǎng)絡營銷推廣服務!
IPTABLES常用的表和鏈有三個filter表 nat表 mangle表,和五個鏈 INPUT鏈 OUTPUT鏈 FORWARE鏈 POSTROUTING鏈 PREROUTING鏈,下面來介紹下它們的各個功能呢個功能,
filter表主要是過濾數(shù)據(jù)包的,IPTABLES幾乎所有的數(shù)據(jù)包過濾都在此表中實現(xiàn)的,filter表也是IPTABLES中默認的表,此表中還包含三個鏈如下
1.1 INPUT鏈
過濾所有的目標地址是本機的數(shù)據(jù)包
1.2 OUTPUT鏈
過濾所有從本機出去的數(shù)據(jù)包
1.3 FORWORD鏈
過濾所有從本機路過的數(shù)據(jù)包
nat表主要是用于做網(wǎng)絡地址轉換的(NAT)在IPTABLES中可以做SNAT(源地址轉換),DNAT(目標地址轉換),PNAT(即跟SNAT差不多,不一樣的是SNAT的源地址是固定的,而PNAT的源地址是不固定的,當使用ppp或pppoe的方式連接互聯(lián)網(wǎng)的時候一般適應這中)。 nat表中包含兩個鏈如下
2.1 PREROUTING鏈
在數(shù)據(jù)包到達防火墻的時候改變目標地址 DNAT應用于此鏈.
2.2 OUTPUT鏈
可以改變本地產(chǎn)生的數(shù)據(jù)包的目標地址
2.3 POSTROUTING鏈
在數(shù)據(jù)包離開防火墻的時候改變源地址,SNAT應用于次鏈
mangle表主要是修改數(shù)據(jù)包頭部信息的,此表中包含以下5條鏈
3.1 PREROUTING鏈,
在數(shù)據(jù)包進入防火墻之后,也稱為路由前,
3.2 POSTROUTING鏈,
在數(shù)據(jù)包確定目標地址后,也稱為路由后,
3.3 OUTPUT鏈
從本機出去的時間包路由前
3.4 INPUT鏈
數(shù)據(jù)包進入本機后,路由后
3.5 FORWARD鏈
第一次路由判斷之后,最后一次路由判斷之前改變數(shù)據(jù)包
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ā)送并接到應答,一個數(shù)據(jù)包的狀態(tài)就從NEW變?yōu)镋STABLEISHED,而且該狀態(tài)會繼續(xù)匹配這個連接后繼數(shù)據(jù)包,
3,RELATED狀態(tài)
當一個數(shù)據(jù)包的狀態(tài)處于ESTABLSHED狀態(tài)的連接有關系的時候,就會被認為是RELATED,也就是說一個鏈接想要是RELATED狀態(tài),首先要有一個ESTABLISHED的連接,
4,INVALID狀態(tài)
不能被識別屬于哪個連接狀態(tài)或沒有任何關系的狀態(tài),一般這中數(shù)據(jù)包要被拒絕的
iptables在RHEL的系統(tǒng)上默認安裝的, IPTABLES的命令選項主要分為這么幾大類,規(guī)則管理,鏈管理,默認管理,查看,匹配條件,處理動作,基本應該就這些了吧,下面來一一說名,
#iptables -A添加一條新規(guī)則
#iptables -I插入一條新規(guī)則 -I后面加一數(shù)字表示插入到哪行
#iptables -D刪除一條新規(guī)則 -D后面加一數(shù)字表示刪除哪行
#iptables -R替換一條新規(guī)則 -R后面加一數(shù)字表示替換哪行
#iptables -F清空鏈中的所有規(guī)則
#iptables -N新建一個鏈
#iptables -X刪除一個自定義鏈,刪除之前要保證次鏈是空的,而且沒有被引用
#iptables -E重命名鏈
3.默認管理類
#iptables -P設置默認策略
#iptables -L查看規(guī)則 -L還有幾個子選項如下
#iptables -L -n以數(shù)字的方式顯示
#iptables -L -v顯示詳細信息
#iptables -L -x顯示精確信息
#iptables -L --line-numbers顯示行號
5.1基本匹配
條件匹配也可以使用 !取反
-s源地址
-d目標地址
-p協(xié)議{tcp|udp|icmp}
-i從哪個網(wǎng)絡接口進入,比如 -i eth0
-o從哪個網(wǎng)絡接口出去,比如 -o eth0
5.2擴展匹配
5.2.1隱含擴展匹配
-p {tcp|udp} --sport指定源端口
-p {tcp|udp} --dport指定目標端口
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"
網(wǎng)頁名稱:iptables常用命令和實例復習
本文URL:http://jinyejixie.com/article10/ipgddo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、網(wǎng)站建設、企業(yè)建站、網(wǎng)站排名、網(wǎng)站營銷、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)