您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Iptables防火墻基本匹配條件是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Iptables防火墻基本匹配條件是什么”吧!
@[TOC] 應(yīng)用匹配條件時(shí),經(jīng)常會(huì)用到以下幾個(gè)參數(shù)。
-p
:指定要操作的協(xié)議類型,不指定-p參數(shù)聲明是那種協(xié)議,默認(rèn)是all,也就是所有協(xié)議。
-s
:指定源地址。
-d
:指定目標(biāo)地址。
--sport
:指定源端口.
--dport
:指定目標(biāo)端口。
-i
:指定從哪個(gè)網(wǎng)卡進(jìn)入的報(bào)文。
-o
:指定從哪個(gè)網(wǎng)卡出去的報(bào)文。
-m
:
-j
:指定策略的動(dòng)作。
僅允許 192.168.20.21 訪問 192.168.20.20 的80端口,其余的來源客戶端都拒絕訪問。
明確需求后,下面來分析應(yīng)該如何實(shí)現(xiàn)。
這條需求分包含兩種不同的條件,首先是允許192.168.20.21訪問目標(biāo)端口,然后是拒絕其他所有的客戶端訪問。
首先來思考允許的條件如何實(shí)現(xiàn):
1、允許某個(gè)來源訪問本機(jī)的特定服務(wù),這種訪問屬于數(shù)據(jù)的流入,那么就會(huì)經(jīng)過PREROUTING和INPUT兩個(gè)鏈,允許或者拒絕這些操作都是在filter表實(shí)現(xiàn)的,PREROUTING鏈沒有filter,因此首先就可以得出結(jié)論,這條規(guī)則會(huì)在INPUT鏈的filter表中進(jìn)行添加。
2、允許192.168.20.21這個(gè)地址,那么就需要指定來源的IP,然后根據(jù)來源IP的請(qǐng)求,還需要指定目標(biāo)端的地址。
3、限制來源地址僅訪問本機(jī)的某個(gè)服務(wù),那么就需要指定服務(wù)具體的協(xié)議以及端口號(hào)。
4、最后指定匹配完這些條件后,執(zhí)行的動(dòng)作,也就是ACCEPT。
然后來思考拒絕的條件如何實(shí)現(xiàn):
1、首先明確拒絕其余來源訪問本機(jī)的某個(gè)服務(wù),那么一定是在INPUT鏈的filter表中添加具體的規(guī)則。
2、最后聲明拒絕其他的來源地址。
注意:由于不是全部拒絕,還有一個(gè)來源地址192.168.20.21是允許訪問TCP的80端口的,因此在寫入拒絕規(guī)則時(shí),不能在使用-I參數(shù)添加到表的最頂端,應(yīng)該通過-A參數(shù)添加到表的最后一行,追加進(jìn)去。
1.允許192.168.20.21訪問192.168.20.20的80端口 [root@jxl-1 ~]# iptables -t filter -I INPUT -s 192.168.20.21 -d 192.168.20.20 -p tcp --dport 80 -j ACCEPT 2.拒絕其余來源IP訪問本機(jī)的80端口 [root@jxl-1 ~]# iptables -t filter -A INPUT -p tcp --dport 80 -j DROP
注意第二條拒絕所有的時(shí)候一定要使用-A參數(shù)追加到最后一行,否則所有的來源都將不可訪問。
INPUT鏈中一共有2條規(guī)則,第一條規(guī)則的動(dòng)作是允許,允許192.168.20.21訪問192.168.20.20的tcp 80端口,第二條規(guī)則的動(dòng)作是拒絕,拒絕全部IP訪問本機(jī)的80端口。
[root@jxl-1 ~]# iptables -L -n -v --line-number Chain INPUT (policy ACCEPT 9483 packets, 17M bytes) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT tcp -- * * 192.168.20.21 192.168.20.20 tcp dpt:80 2 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 9619 packets, 15M bytes) num pkts bytes target prot opt in out source destination
只有來源地址為192.168.20.21的IP,才能訪問到192.168.20.20的TCP 80端口的服務(wù)。
**需求:**由本機(jī)發(fā)出的TCP協(xié)議的報(bào)文都允許,發(fā)出的其他協(xié)議報(bào)文都拒絕。
明確需求后,下面來分析應(yīng)該如何實(shí)現(xiàn),和案例一類似,分為兩種規(guī)則,一是允許某一個(gè)協(xié)議,二是拒絕其余所有的協(xié)議。
首先要明確在哪一個(gè)鏈的哪一個(gè)表中添加Iptables防火墻規(guī)則,看需求中的關(guān)鍵字“由本機(jī)發(fā)出”,由本機(jī)發(fā)出都需要經(jīng)過POSTROUTING和OUTPUT鏈,這種過濾規(guī)則一定會(huì)在OUPUT鏈進(jìn)行添加,引起POSTROUTING鏈沒有filter表。
明確完再哪一張表和哪一個(gè)鏈添加規(guī)則后,就非常容易了。
1)先來添加允許TCP協(xié)議報(bào)文流出的Iptables防火墻規(guī)則。
2)然后來添加拒絕剩余的其他報(bào)文,一定要將拒絕的規(guī)則添加在允許規(guī)則的下面,否則允許的規(guī)則將永不生效。
可以先將之前添加的規(guī)則清空,以免受到干擾。
[root@jxl-1 ~]# iptables -t filter -F
1.允許本機(jī)的TCP協(xié)議報(bào)文流出 [root@jxl-1 ~]# iptables -t filter -I OUTPUT -p tcp -j ACCEPT 2.拒絕本機(jī)所有協(xié)議報(bào)文流出 [root@jxl-1 ~]# iptables -t filter -A OUTPUT -p all -j DROP
在OUTPUT鏈可以看到兩條規(guī)則,第一條規(guī)則允許TCP協(xié)議報(bào)文流出,第二條規(guī)則拒絕所有協(xié)議的報(bào)文流出。
[root@jxl-1 ~]# iptables -L -n -v --line-number Chain INPUT (policy ACCEPT 5138 packets, 8863K bytes) num pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 6703 10M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 2 1 76 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
由于拒絕了除TCP協(xié)議以外的所有協(xié)議,因此再使用ICMP協(xié)議時(shí)就產(chǎn)生了拒絕的現(xiàn)象,但是使用TCP協(xié)議就沒有任何影響。
需求: 禁止其他主機(jī)從ens192發(fā)送來的ping請(qǐng)求。
首先來進(jìn)行分析,案例三就非常簡(jiǎn)單了,只有一種條件,那就是禁止其他的主機(jī)從本機(jī)的ens192網(wǎng)卡發(fā)送來的數(shù)據(jù)報(bào)文,從字面意思可以清楚的知道這是一條數(shù)據(jù)流入的規(guī)則。
那么一定是在INPUT鏈的filter表添加相應(yīng)的規(guī)則策略。
[root@jxl-1 ~]# iptables -t filter -I INPUT -i ens192 -p icmp -j DROP
在INPUT鏈中已經(jīng)添加上了這條規(guī)則,凡是來自ens192網(wǎng)卡并且協(xié)議是icmp的報(bào)文都會(huì)被拒絕。
[root@jxl-1 ~]# iptables -L -n -v --line-number Chain INPUT (policy ACCEPT 2680 packets, 4308K bytes) num pkts bytes target prot opt in out source destination 1 0 0 DROP icmp -- ens192 * 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 2752 packets, 4004K bytes) num pkts bytes target prot opt in out source destination
在其他主機(jī)ping防火墻主機(jī)的ens192網(wǎng)卡,發(fā)現(xiàn)不通,但是ens224網(wǎng)卡就通。
拒絕所有協(xié)議進(jìn)入本機(jī)的規(guī)則配置
iptables -t filter INPUT -j DROP
--dport參數(shù)聲明多個(gè)連續(xù)的端口號(hào)
--dport 20:22 表示20-22三個(gè)端口都可以進(jìn)行匹配。
到此,相信大家對(duì)“Iptables防火墻基本匹配條件是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。