介紹:
防火墻默認(rèn)有四表五鏈
四表:(表的優(yōu)先級(jí):raw > mangle > nat > filter )
1.Raw表——兩個(gè)鏈:PREROUTING、OUTPUT
作用:決定數(shù)據(jù)包是否被狀態(tài)跟蹤機(jī)制處理 內(nèi)核模塊:iptable_raw
2.Mangle表——五個(gè)鏈:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD
作用:修改數(shù)據(jù)包的服務(wù)類型、TTL、并且可以配置路由實(shí)現(xiàn)QOS內(nèi)核模塊:iptable_mangle
3.Nat表——三個(gè)鏈:PREROUTING、POSTROUTING、OUTPUT
作用:用于網(wǎng)絡(luò)地址轉(zhuǎn)換(IP、端口) 內(nèi)核模塊:iptable_nat
4.filter表——三個(gè)鏈:INPUT、OUTPUT、FORWARD
作用:過(guò)濾數(shù)據(jù)包,定義拒絕或者允許 內(nèi)核模塊:iptables_filter
五鏈:(默認(rèn)的,不能刪除,但能清除里面的規(guī)則)
1.INPUT——進(jìn)來(lái)的數(shù)據(jù)包應(yīng)用此規(guī)則鏈中的策略
2.OUTPUT——外出的數(shù)據(jù)包應(yīng)用此規(guī)則鏈中的策略
3.FORWARD——轉(zhuǎn)發(fā)數(shù)據(jù)包時(shí)應(yīng)用此規(guī)則鏈中的策略
4.PREROUTING——對(duì)數(shù)據(jù)包作路由選擇前應(yīng)用此鏈中的規(guī)則
5.POSTROUTING——對(duì)數(shù)據(jù)包作路由選擇后應(yīng)用此鏈中的規(guī)則
一、開(kāi)始對(duì)防火墻配置時(shí):
iptables -X(清除所有自定義規(guī)則鏈)
iptables -F(清除所有規(guī)則)
iptables -L(列出所有[加n 以數(shù)字形式顯示IP])
二、編寫(xiě)規(guī)則:
iptables -I (插入規(guī)則) 規(guī)則鏈名 優(yōu)先級(jí)
iptables -A (增加規(guī)則,默認(rèn)是) 規(guī)則鏈名
iptables -D (刪除規(guī)則) 規(guī)則鏈名 序號(hào)
iptables -N (自定義規(guī)則鏈名)
iptables -P (默認(rèn)) 規(guī)則鏈名 DROP(拒絕)或者ACCEPT(允許) PS:建議除緊急情況外,最后配置
-p (協(xié)議)
--sport(源端口)
--dport(目的端口)
-s (源地址)
-d(目的地址)
-i(入網(wǎng)卡)
-o(出網(wǎng)卡)
-m(擴(kuò)展)
1、state --state RELATED,ESTABLISHED //用狀態(tài)檢測(cè),因回來(lái)的數(shù)據(jù)沒(méi)能轉(zhuǎn)發(fā)。 2、limit --limit 5/m --limit-burst 10//10個(gè)通行證,每分鐘增加5個(gè) 3、connlimit --connlimit-above 1 //每個(gè)IP地址只允許1個(gè)連接
-j (行為)
ACCEPT(接受)
DROP(停止)
DNAT(目的地址轉(zhuǎn)發(fā))一般在PREROUTING鏈中
SNAT(源地址轉(zhuǎn)發(fā)) 一般在POSTROUTING鏈中
規(guī)則鏈名(加入這條規(guī)則鏈)
MASQUSERADE(地址偽裝)
--to-destination(目標(biāo)地址)
-t nat (選擇nat表,一般地址映射用到)
--line-number (顯示序號(hào))
例子:
1)linux系統(tǒng)作為服務(wù)器和防火墻時(shí):
1.允許外界能訪問(wèn)我的80端口httpd服務(wù):
iptables -A INPUT -p tcp --dport 80 -j ACCEPT tcp協(xié)議目的端口80在入站規(guī)則通過(guò)
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT tcp協(xié)議源端口80在出站規(guī)則通過(guò)
也可以自定義規(guī)則鏈:
iptables -N httpd-in //自定義規(guī)則名為httpd-in
iptalbes -A INPUT -j httpd-in //把httpd-in規(guī)則鏈加入到INPUT鏈
iptables -A httpd-in -p tcp --dport 80 -j ACCEPT tcp協(xié)議目的端口80在httpd-in鏈通過(guò)
iptables -N httpd-out //自定義規(guī)則名為httpd-out
iptalbes -A OUTPUT -j httpd-out //把httpd-out規(guī)則鏈加入到OUTPUT鏈
iptables -A httpd-out -p tcp --sport 80 -j ACCEPT tcp協(xié)議源端口80在httpd-out鏈通過(guò) 自定義規(guī)則鏈一定要加入到默認(rèn)規(guī)則鏈中,可以使得iptables默認(rèn)規(guī)則鏈不至于混亂無(wú)序
2.允許ping:(只要前面兩條就可ping通)
iptables -A INPUT -i eth0 -p icmp -j ACCEPT eth0網(wǎng)卡入站時(shí)的icmp包允許通過(guò)
iptables -A OUTPUT -o eth0 -p icmp -j ACCEPT eth0網(wǎng)卡出站時(shí)的icmp包允許通過(guò)
iptables -A OUTPUT -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT 從eth0網(wǎng)卡出站時(shí)的狀態(tài)檢測(cè)允許
2)linux系統(tǒng)只作為防火墻時(shí):
echo 1 > /proc/sys/net/ipv4/ip_forward /啟動(dòng)路由功能,允許轉(zhuǎn)發(fā)
1.允許80端口httpd服務(wù)轉(zhuǎn)發(fā):
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT //允許tcp目的端口80轉(zhuǎn)發(fā)
2.允許ping轉(zhuǎn)發(fā):
iptables -A FORWARD -p icmp -j ACCEPT //允許icmp包轉(zhuǎn)發(fā)
3.目的地址映射:
iptables –t nat –A PREROUTING –d 192.168.99.101 –j DNAT --to 192.168.100.102 //路由前,目的IP:192.168.99.101 轉(zhuǎn)換成IP:192.168.100.102)
4.內(nèi)網(wǎng)源地址隱藏:
iptables -t nat -A POSTROUTING -j MASQUERADE //路由后,內(nèi)網(wǎng)地址隱藏,源地址變成防火墻外網(wǎng)IP地址
5.訪問(wèn)限時(shí):(date顯示時(shí)間,072016182005[月日時(shí)分年]7月20號(hào)16點(diǎn)18分2005年,直接date 數(shù)字改系統(tǒng)時(shí)間進(jìn)行測(cè)試)
iptables –I FORWARD –s 192.168.100.0/24 –m time --timestart 16:10 --timestop 18:10 -j ACCEPT //對(duì)源網(wǎng)段192.168.100.0/24,開(kāi)始時(shí)間16:10-18:10 允許通過(guò)
iptables –I FORWARD –d 192.168.100.0/24 –m time --timestart 16:10 --timestop 18:10 -j ACCEPT //對(duì)目的網(wǎng)段192.168.100.0/24,開(kāi)始時(shí)間16:10-18:10 允許通過(guò)
6.訪問(wèn)限速:
iptables -I FORWARD -p tcp --dport 21 -m connlimit --connlimit-above 1 -j DROP //對(duì)21端口轉(zhuǎn)發(fā),每個(gè)IP地址超過(guò)1個(gè)連接就拒絕
3)使用日志監(jiān)控程序記錄:
/usr/local/ulogd/sbin/ulogd & //啟動(dòng)這個(gè)程序
iptables -A FORWARD -p icmp -j ACCEPT //允許icmp轉(zhuǎn)發(fā)鏈
iptables -A FORWARD -p icmp -j ULOG //對(duì)icmp轉(zhuǎn)發(fā)鏈進(jìn)行監(jiān)控
以上是我個(gè)人學(xué)習(xí)積累到的知識(shí),如有需要更正或者增加的地方,歡迎來(lái)與我交流學(xué)習(xí)一番,共同進(jìn)步,謝謝觀看。
|