天天看點

IPTable簡介3——常用比對

三 、IPtables的常用比對規則

比對規則可以用!号進行非運算

1、正常比對

1.1 通用比對規則

-s(--src):對封包源ip位址進行比對

可以是正常的數字IP位址,也可以是ip網段,如果是ip網段可以用如下方式定義:

例如:-s 192.168.1.0/24 或者 -s 192.168.1.0/255.255.255.0 兩者等效

-d(--dst):對目的ip位址進行比對

此規則和-s相同

-p(--protocol):對ip協定進行比對

可以是關鍵字TCP、UDP或ICMP,也可以是這些協定在IP協定上的協定号(ICMP-1,TCP-6,UDP-7)。

如果是關鍵字可以在/etc/protocols裡定義的協定關鍵字都可以。還可以是ALL,表示上述三個協定都可以。

例如:-p !TCP 表示比對協定為非tcp的包。

2、暗含比對規則:

2.1 對tcp和udp協定可以對源端口和目的端口進行比對

-dport:對目的端口進行比對

-sport:對源端口進行比對

例如: -p tcp --dport 8080

-p tcp --dport 8080:9000 //比對tcp 端口從8080---9000的所有端口

-p udp --sport :90 //比對源端口從0--90端口的所有包

2.2 icmp包類型比對

--icmp-type:對icmp包的某個特殊類型進行比對

例如:-p icmp --icmp-type 8

3、詳細比對

所有前述的比對都是不需要加載特殊子產品就可以執行的動作。但是現在所描述的比對都是需要顯地加載子產品才可以支援。

加載子產品的方法用-m或者--match 跟子產品名

例如: -m state

2.1、Addrtype比對

對封包的位址類型進行比對。常見的位址類型有:

LOCAL:表示位址是本地位址,指本地一切位址含:127.0.0.1回環位址

UNICAST:單點傳播位址

MULTICAST:多點傳播位址

BROADCAST:廣播位址

例如:

-m addrtype --dst-type LOCAL

-m addrtype --src-type MULTICAST

2.2、 Mac比對

對包的源mac位址進行比對

-m mac --mac-source 01:11:12:13:14:15

隻能對prerouting ,forward, input進行比對。

2.3 、Multiport比對

對多個端口進行比對。

-p tcp -m multiport --source-port 22,53,44

-p udp -m multiport --destination-port 11,44,55

-p all -m multi port --port 88,8080

2.4、iprange比對

對多個ip位址進行比對

例如:-m iprange --src-range 192.168.3.4-192.168.3.7

-m iprange --dst-range 192.168.3.4-192.168.3.9

2.5、pkttype比對

可以對ip包的類型進行比對:unicast,multicast或broadcast

-m pktype --pkt-type !broadcast

2.6、physdev比對

可以對netfilter的接入和發送接口名進行比對。這個和iptables自帶的-i 和-o不同的是,physdev隻針對網橋的接口。

-m physdev --physdev-in eth1 --physdev-out eth0

2.7 length比對

比對包長度可以length比對

例如

-m length --length 1400:1500

-m length --length 1400

2.8、state比對

netfilter在核心中有連結跟蹤子產品,能夠對連結(面向連結和非面向連結都一樣)進行狀态跟蹤,iptables可以利用連結跟蹤子產品進行比對常用的連結跟蹤比對子產品有state比對和下文的conntrack比對(state比對的擴充)

連結跟蹤子產品定義了以下幾種狀态:

NEW:當一個ip包被第一次發出以後,防火牆就規定該流向進入了NEW狀态。對應了tcp的sync包發出、udp和icmp的第一個包發出

ESTABLISHED:當該流向的第一包發出後,得到來自對段的ip包後進入此狀态。對應tcp收到對端的ack(回複sync)或對段sync包,udp收到對段響應包

RELATED:就是當本流進入established狀态後,防火牆識别到本流相關的流就被标記為此狀态。例如:ftp 指令流對應的ftp資料流。

INVALID

例如:-m state --state RELATED

2.9、conntrack比對

是對state比對的擴充,常用的是--cstate 它除了有state 比對的狀态,還定義了SNAT DNAT

2.10、limit比對

對于iptables的log動作,可以使用limit比對來限制記錄的資料包頻率。

-m limit --limit 3/hour

-m limit --limit 4/second

-m limit --limit 10/minute

-m limit --limit 11/day

繼續閱讀