linux怎么開(kāi)啟防火墻?有幾種方法?
linux怎么開(kāi)啟防火墻?有幾種方法?
在linux服務(wù)中我們需要怎么去開(kāi)啟防火墻呢?存在哪些方式呢?今天小編為大家整理了一些解決方法,下面我們一起來(lái)看看吧!
存在以下兩種方式:
一、service方式
查看防火墻狀態(tài):
[root@centos6 ~]# service iptables status
iptables:未運(yùn)行防火墻。
開(kāi)啟防火墻:
[root@centos6 ~]# service iptables start
關(guān)閉防火墻:
[root@centos6 ~]# service iptables stop
二、iptables方式
先進(jìn)入init.d目錄,命令如下:
[root@centos6 ~]# cd /etc/init.d/
[root@centos6 init.d]#
然后
查看防火墻狀態(tài):
[root@centos6 init.d]# /etc/init.d/iptables status
暫時(shí)關(guān)閉防火墻:
[root@centos6 init.d]# /etc/init.d/iptables stop
重啟iptables:
[root@centos6 init.d]# /etc/init.d/iptables restart
Linux防火墻基本知識(shí)
一、防火墻的分類
(一)、包過(guò)濾防火墻。
數(shù)據(jù)包過(guò)濾(packet Filtering)技術(shù)是在網(wǎng)絡(luò)層對(duì)數(shù)據(jù)包進(jìn)行選擇,選擇的依據(jù)是系統(tǒng)內(nèi)設(shè)置的過(guò)濾邏輯,稱為訪問(wèn)控制表(access control lable,ACL)。通過(guò)檢查數(shù)據(jù)流中每個(gè)數(shù)據(jù)包的源地址和目的地址,所用的端口號(hào)和協(xié)議狀態(tài)等因素,或他們的組合來(lái)確定是否允許該數(shù)據(jù)包通過(guò)。
包過(guò)濾防火墻的優(yōu)點(diǎn)是它對(duì)用戶來(lái)說(shuō)是透明的,處理速度快且易于維護(hù)。缺點(diǎn)是:非法訪問(wèn)一旦突破防火墻,即可對(duì)主機(jī)上的軟件和配置漏洞進(jìn)行攻擊;數(shù)據(jù)包的源 地址、目的地址和IP的端口號(hào)都在數(shù)據(jù)包的頭部,可以很輕易地偽造。“IP地址欺騙”是黑客針對(duì)該類型防火墻比較常用的攻擊手段。
(二)、代理服務(wù)型防火墻
代理服務(wù)(proxy service)也稱鏈路級(jí)網(wǎng)關(guān)或TCP通道。它是針對(duì)數(shù)據(jù)包過(guò)濾和應(yīng)用網(wǎng)關(guān)技術(shù)存在的缺點(diǎn)而引入的防火墻技術(shù),其特點(diǎn)是將所有跨躍防火墻的網(wǎng)絡(luò)通信鏈路 分為兩段。當(dāng)代理服務(wù)器接收到用戶對(duì)某個(gè)站點(diǎn)的訪問(wèn)請(qǐng)求后就會(huì)檢查請(qǐng)求是否符合控制規(guī)則。如果規(guī)則允許用戶訪問(wèn)該站點(diǎn),代理服務(wù)器就會(huì)替用戶去那個(gè)站點(diǎn)取 回所需的信息,再轉(zhuǎn)發(fā)給用戶,內(nèi)外網(wǎng)用戶的訪問(wèn)都是通過(guò)代理服務(wù)器上的“鏈接”來(lái)實(shí)現(xiàn)的,從而起到隔離防火墻內(nèi)外計(jì)算機(jī)系統(tǒng)的作用。
此外,代理服務(wù)也對(duì)過(guò)往的數(shù)據(jù)包進(jìn)行分析和注冊(cè)登記,并形成報(bào)告,同時(shí)當(dāng)發(fā)現(xiàn)有被攻擊跡象時(shí)會(huì)向網(wǎng)絡(luò)管理員發(fā)出警告,并保留攻擊記錄,為證據(jù)收集和網(wǎng)絡(luò)維護(hù)提供幫助。
二、防火墻的工作原理
(一)、包過(guò)濾防火墻的工作原理
包過(guò)濾是在IP層實(shí)現(xiàn)的,因此,它可以只用路由器來(lái)完成。包過(guò)濾根據(jù)包的源IP地址、目的IP地址、源端口、目的端口及包傳遞方向等報(bào)頭信息來(lái)判斷是否允 許包通過(guò),過(guò)濾用戶定義的內(nèi)容,如IP地址。其工作原理是系統(tǒng)在網(wǎng)絡(luò)層檢查數(shù)據(jù)包,與應(yīng)用層無(wú)關(guān)。包過(guò)濾器的應(yīng)用非常廣泛,因?yàn)镃PU用來(lái)處理包過(guò)濾的時(shí) 間可以忽略不計(jì)。而且這種防護(hù)措施對(duì)用戶透明,合法用戶在進(jìn)出網(wǎng)絡(luò)時(shí),根本感覺(jué)不到它的存在,使用起來(lái)很方便。這樣系統(tǒng)就具有很好的傳輸性能,易擴(kuò)展。
但是這種防火墻不太安全,因?yàn)橄到y(tǒng)對(duì)應(yīng)用層信息無(wú)感知--也就是說(shuō),它們不理解通信的內(nèi)容,不能在用戶級(jí)別上進(jìn)行過(guò)濾,即不能識(shí)別不同的用戶和防止地址的 盜用。如果攻擊者把自己主機(jī)的IP地址設(shè)成一個(gè)合法主機(jī)的IP地址,就可以很輕易地通過(guò)包過(guò)濾器,這樣更容易被黑客攻破?;谶@種工作機(jī)制,包過(guò)濾防火墻 有以下缺陷:
1、通信信息:包過(guò)濾防火墻只能訪問(wèn)部分?jǐn)?shù)據(jù)包的頭信息。
2、通信和應(yīng)用狀態(tài)信息:包過(guò)濾防火墻是無(wú)狀態(tài)的,所以它不可能保存來(lái)自于通信和應(yīng)用的狀態(tài)信息。
3、信息處理:包過(guò)濾防火墻處理信息的能力是有限的。
(二)、代理服務(wù)型防火墻工作原理
代理服務(wù)型防火墻在應(yīng)用層上實(shí)現(xiàn)防火墻功能。它能提供部分與傳輸有關(guān)的狀態(tài),能外圈提供與應(yīng)用相關(guān)的狀態(tài)和部分傳輸?shù)男畔?,它還能處理和管理信息。
三、使用iptables實(shí)現(xiàn)包過(guò)濾防火墻
(一)、iptables概述及原理
從內(nèi)核2.4之后使用全新的內(nèi)核包過(guò)慮管理工具--iptables,這個(gè)工具使用戶更易于理解其工作原理,更容易被使用,也具有更強(qiáng)大的功能。
iptables只是一個(gè)管理內(nèi)核包過(guò)濾的工具,可以加入、插入或刪除核心包過(guò)濾表格(鏈)中的規(guī)則。實(shí)際上真正執(zhí)行這些過(guò)濾規(guī)則的是netfilter(linux核心中一個(gè)通用架構(gòu))及其相關(guān)模塊(如iptables模塊和nat模塊)。
netfilter是linux核心中一個(gè)通用架構(gòu),它提供一系列的“表”(tables),每個(gè)表由若干“鏈”(chains)組成,而每條鏈中可以由一條或數(shù)條規(guī)則(rule)組成??梢赃@樣理解,netfilter是表的容器,表是鏈的容器,鏈?zhǔn)且?guī)則的容器。
系統(tǒng)缺省的表為“filter”,該表中包含了INPUT、FORWARD和OUTPUT 3個(gè)鏈。每一條鏈中可以有一條或數(shù)條規(guī)則,每一條規(guī)則都是這樣定義的:“如果數(shù)據(jù)包頭符合這樣的條件,就這樣處理這個(gè)數(shù)據(jù)包”。當(dāng)一個(gè)數(shù)據(jù)包到達(dá)一個(gè)鏈 時(shí),系統(tǒng)就會(huì)從第一條規(guī)則開(kāi)始檢查,看是否符合該規(guī)則所定義的條件,如果滿足,系統(tǒng)將根據(jù)該條規(guī)則所定義的方法處理該數(shù)據(jù)包;如果不滿足則繼續(xù)檢查下一條 規(guī)則;最后,如果數(shù)據(jù)包不符合該鏈中任何一條規(guī)則,系統(tǒng)就會(huì)根據(jù)該鏈預(yù)先定義的策略(policy)來(lái)處理該數(shù)據(jù)包。
(二)、iptables傳輸數(shù)據(jù)包的過(guò)程
當(dāng)數(shù)據(jù)包進(jìn)入系統(tǒng)時(shí),系統(tǒng)首先根據(jù)路由表決定將數(shù)據(jù)包發(fā)給哪一條鏈,則可能有以下3種情況:
1、數(shù)據(jù)包的目的地址是本機(jī),則系統(tǒng)將數(shù)據(jù)包送往INPUT鏈,如果通過(guò)規(guī)則檢查,則該包被發(fā)給相應(yīng)的本地進(jìn)程處理;如果沒(méi)有通過(guò)規(guī)則檢查,系統(tǒng)將丟棄該包。
2、數(shù)據(jù)包的上的地址不是本機(jī),也就是說(shuō)這個(gè)包將被轉(zhuǎn)發(fā),則系統(tǒng)將數(shù)據(jù)包送往FORWARD鏈,如果通過(guò)規(guī)則檢查,該包被發(fā)給相應(yīng)的本地進(jìn)程處理;如果沒(méi)有通過(guò)規(guī)則檢查,系統(tǒng)將丟棄該包。
3、數(shù)據(jù)包是由本地系統(tǒng)進(jìn)程產(chǎn)生的,則系統(tǒng)將其送往OUTPUT鏈,如果通過(guò)規(guī)則檢查,則該包被發(fā)給相應(yīng)的本地進(jìn)程處理;如果沒(méi)有通過(guò)規(guī)則檢查,系統(tǒng)將丟棄該包。
用戶可以給各鏈定義規(guī)則,當(dāng)數(shù)據(jù)包到達(dá)其中的每一條鏈,iptables就會(huì)根據(jù)鏈中定義的規(guī)則來(lái)處理這個(gè)包。iptables將數(shù)據(jù)包的頭信息與它所傳 遞到的鏈中的每條規(guī)則進(jìn)行比較,看它是否和每條規(guī)則完全匹配。如果數(shù)據(jù)包與某條規(guī)則匹配,iptables就對(duì)該數(shù)據(jù)包執(zhí)行由該規(guī)則指定的操作。例如某條 鏈中的規(guī)則決定要丟棄(DROP)數(shù)據(jù)包,數(shù)據(jù)包就會(huì)在該鏈處丟棄;如果鏈中規(guī)則接受(ACCEPT)數(shù)據(jù)包,數(shù)據(jù)包就可以繼續(xù)前進(jìn);但是,如果數(shù)據(jù)包與 這條規(guī)則不匹配,那么它將與鏈中的下一條規(guī)則進(jìn)行比較。如果該數(shù)據(jù)包不符合該鏈中的任何一條規(guī)則,那么iptables將根據(jù)該鏈預(yù)先定義的默認(rèn)策略來(lái)決 定如何處理該數(shù)據(jù)包,理想的默認(rèn)策略應(yīng)該告訴iptables丟棄(DROP)該數(shù)據(jù)包。
(三)、iptables的優(yōu)點(diǎn)
netfilter/iptables的最大優(yōu)點(diǎn)是它可以配置有狀態(tài)的防火墻,這是ipfwadm和ipchains等以前的工具都無(wú)法提供的一種重要功 能。有狀態(tài)的防火墻能夠指定并記住為發(fā)送或接收信息包所建立的連接的狀態(tài)。防火墻可以從信息包的連接跟蹤狀態(tài)獲得該信息。在決定新的信息包過(guò)濾時(shí),防火墻 所使用的這些狀態(tài)信息可以增加其效率和速度。這里有4種有效狀態(tài),名稱分別為ESTABLISHED、INVALID、NEW和RELATED。
狀態(tài)ESTABLISHED指出該信息包屬于已經(jīng)建立的連接,該連接一直用于發(fā)送和接收信息包并且完全有效。INVALID狀態(tài)指出該信息包與任何已知的 流或連接都不相關(guān)聯(lián),它可能包含錯(cuò)誤的數(shù)據(jù)或頭。狀態(tài)NEW表示該信息包已經(jīng)或?qū)?dòng)新的連接,或者它與尚未用于發(fā)送和接收信息包的連接相關(guān)聯(lián)。最 后,RELATED表示該信息包正在啟動(dòng)新連接,以及它與已建立的連接想關(guān)聯(lián)。
netflter/iptables的另一個(gè)重要優(yōu)點(diǎn)是,它使用戶可以完全控制防火墻配置和信息包過(guò)濾??梢远ㄖ谱约旱囊?guī)則來(lái)滿足特定需求,從而只允許想要的網(wǎng)絡(luò)流量進(jìn)入系統(tǒng)。
(四)、iptables的基礎(chǔ)知識(shí)
1、規(guī)則(rule)
規(guī)則(rule)就是網(wǎng)絡(luò)管理員預(yù)定的條件,規(guī)則一般定義為“如果數(shù)據(jù)包頭符合這樣的條件,就這樣處理這個(gè)數(shù)據(jù)包”。規(guī)則存儲(chǔ)在內(nèi)核空間的信息包過(guò)濾表 中,這些規(guī)則分別指定了源地址、目的地址、傳輸協(xié)議(TCP、UDP、ICMP)和服務(wù)類型(如HTTP、FTP、SMTP)。當(dāng)數(shù)據(jù)包與規(guī)則匹配 時(shí),iptables就根據(jù)規(guī)則所定義的方法來(lái)處理這些數(shù)據(jù)包,如放行(ACCEPT)、拒絕(REJECT)、或丟棄(DROP)等。配置防火墻的主要 規(guī)則就是添加、修改和刪除這些規(guī)則。
2、鏈(chains)
鏈(chains)是數(shù)據(jù)包傳播的路徑,每一條鏈其實(shí)就是眾多規(guī)則中的一個(gè)檢查清單,每一條鏈中可以有一條或數(shù)條規(guī)則。當(dāng)一個(gè)數(shù)據(jù)包到達(dá)一個(gè)鏈 時(shí),iptables就會(huì)從鏈中的第一條規(guī)則開(kāi)始檢查,看該數(shù)據(jù)包是否滿足規(guī)則所定義的條件,如果滿足,系統(tǒng)就會(huì)根據(jù)該條規(guī)則所定義的方法處理該數(shù)據(jù)包, 否則iptables將繼續(xù)檢查下一條規(guī)則。如果該數(shù)據(jù)包不符合鏈中任何一何況規(guī)則,iptables就會(huì)根據(jù)該鏈預(yù)先定義的默認(rèn)策略來(lái)處理該數(shù)據(jù)包。
3、表(tables)
表(tables)提供特定的功能,iptables內(nèi)置3個(gè)表,即filter表、nat表和mangle表,分別用于實(shí)現(xiàn)包過(guò)濾,網(wǎng)絡(luò)地址轉(zhuǎn)換和包重構(gòu)的功能。
(1)filter表。filter表主要用于過(guò)濾數(shù)據(jù)包,該表根據(jù)系統(tǒng)管理員預(yù)定義的一組規(guī)則過(guò)濾符合條件的數(shù)據(jù)包。對(duì)防火墻而言,主要利用filter表中指定一系列規(guī)則來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)包進(jìn)行過(guò)濾操作。
filter表是iptables默認(rèn)的表,如果沒(méi)有指定使用哪個(gè)表,iptables就默認(rèn)使用filter表來(lái)執(zhí)行所有的命令。filter表包含了 INPUT鏈
(處理進(jìn)入的數(shù)據(jù)包)、FORWARD鏈(處理轉(zhuǎn)發(fā)的數(shù)據(jù)包)和OUTPUT鏈(處理本地生成的數(shù)據(jù)包)。在filter表中只允許對(duì)數(shù)據(jù)包 進(jìn)行接受或丟棄的操作,而無(wú)法對(duì)數(shù)據(jù)包進(jìn)行更改。
(2)nat表。nat青主要用于網(wǎng)絡(luò)地址轉(zhuǎn)換NAT,該表可以實(shí)現(xiàn)一對(duì)一、一對(duì)多和多對(duì)多的NAT工作,iptables就是使用該表實(shí)現(xiàn)共享上網(wǎng)功能 的。nat表包含了PREROUTING鏈(修改即將到來(lái)的數(shù)據(jù)包)、OUTPUT鏈(修改在路由之前本地生成的數(shù)據(jù)包)和POSTROUTING鏈(修 改即將出去的數(shù)據(jù)包)。
(3)mangle表。mangle表主要用于對(duì)指定的包進(jìn)行修改,因?yàn)槟承┨厥鈶?yīng)用可能去改寫數(shù)據(jù)包的一些傳輸特性,例如理性數(shù)據(jù)包的TTL和TOS等,不過(guò)在實(shí)際應(yīng)用中該表的使用率不高。
(五)、關(guān)閉系統(tǒng)防火墻
由于系統(tǒng)的防火墻功能也是使用iptables實(shí)現(xiàn)的,如果用戶在系統(tǒng)的iptables之上設(shè)置規(guī)則,很容易發(fā)生沖突,所以在進(jìn)行iptables學(xué)習(xí)之前,建議關(guān)閉系統(tǒng)的防火墻功能。
(六)、iptables命令格式
iptables的命令格式較為復(fù)雜,一般格式如下:
#iptables [-t 表] -命令 匹配 操作
注:iptables對(duì)所有選項(xiàng)和參數(shù)都區(qū)分大小寫!
1、表選項(xiàng)
表選項(xiàng)用于指定命令應(yīng)用于哪個(gè)iptables內(nèi)置表。iptables內(nèi)置表包括filter表、nat表和mangle表。
2、命令選項(xiàng)
命令選項(xiàng)用于指定iptables的執(zhí)行方式,包括插入規(guī)則、刪除規(guī)則和添加規(guī)則等:
-P 或--policy 定義默認(rèn)策略
-L 或--list 查看iptables規(guī)則列表
-A 或--append 在規(guī)則列表的最后增加一條規(guī)則
-I 或--insert 在指定的位置插入一條規(guī)則
-D 或--delete 在規(guī)則列表中刪除一條規(guī)則
-R 或--replace 替換規(guī)則列表中的某條規(guī)則
-F 或--flush 刪除表中的所有規(guī)則
-Z 或--zero 將表中所有鏈的計(jì)數(shù)和流量計(jì)數(shù)器都清零
3、匹配選項(xiàng)
匹配選項(xiàng)指定數(shù)據(jù)包與規(guī)則匹配所應(yīng)具有的特征,包括源地址、目的地址、傳輸協(xié)議(如TCP、UDP、ICMP)和端口號(hào)(如80、21、110)等:
-i 或--in-interface 指定數(shù)據(jù)包是從哪個(gè)網(wǎng)絡(luò)接口進(jìn)入
-o 或--out-interface 指定數(shù)據(jù)包是從哪個(gè)網(wǎng)絡(luò)接口輸出
-p 或--porto 指定數(shù)據(jù)包匹配的協(xié)議,如TCP、UDP
-s 或--source 指定數(shù)據(jù)包匹配的源地址
--sport 指定數(shù)據(jù)包匹配的源端口號(hào),可以使用“起始端口號(hào):結(jié)束端口號(hào)”的格式指定一個(gè)范圍的端口
-d 或--destination 指定數(shù)據(jù)包匹配的目標(biāo)地址
--dport 指定數(shù)據(jù)包匹配的目標(biāo)端口號(hào),可以使用“起始端口號(hào):結(jié)束端口號(hào)”的格式指定一個(gè)范圍的端口
4、動(dòng)作選項(xiàng)
動(dòng)作選項(xiàng)指定當(dāng)數(shù)據(jù)包與規(guī)則匹配時(shí),應(yīng)該做什么操作,如接受或丟棄等。
ACCEPT 接受數(shù)據(jù)包
DROP 丟棄數(shù)據(jù)包
REDIRECT 將數(shù)據(jù)包重新轉(zhuǎn)向本機(jī)或另一臺(tái)主機(jī)的某個(gè)端口,通常用此功能實(shí)現(xiàn)透明代理或?qū)ν忾_(kāi)放內(nèi)網(wǎng)的某些服務(wù)
SNAT 源地址轉(zhuǎn)換,即改變數(shù)據(jù)包的源地址
DNAT 目標(biāo)地址轉(zhuǎn)換,即改變數(shù)據(jù)包的目的地址
MASQUERADE IP偽裝,即常說(shuō)的NAT技術(shù)。MASQUERADE只能用于ADSL等撥號(hào)上網(wǎng)的IP偽裝,也就是主機(jī)的IP地址是由ISP動(dòng)態(tài)分配的;如果主機(jī)的IP地址是靜態(tài)固定的,就要使用SNAT
LOG 日志功能,將符合規(guī)則的數(shù)據(jù)包的相關(guān)信息記錄在日志中,以便管理員進(jìn)行分析和排錯(cuò)
(七)、iptables命令的使用
1、查看iptables規(guī)則
初始的iptables沒(méi)有規(guī)則,但是如果在安裝時(shí)選擇自動(dòng)安裝防火墻,系統(tǒng)中會(huì)有默認(rèn)的規(guī)則存在,可以先查看默認(rèn)的防火墻規(guī)則:
#iptables [-t 表名]
[-t 表名]:定義查看哪個(gè)表的規(guī)則列表,表名可以使用filter、nat和mangle,如果沒(méi)有定論表名,默認(rèn)使用fliter表
?。毫谐鲋付ū砗椭付ㄦ湹囊?guī)則
?。憾x查看指定表中哪個(gè)鏈的規(guī)則,如果不指明哪個(gè)鏈,將查看某個(gè)表中所有鏈的規(guī)則
#iptables -L -n (查看filter表所有鏈的規(guī)則)
注:在最后添加-n參數(shù),可以不進(jìn)行IP與HOSTNAME的轉(zhuǎn)換,顯示的速度會(huì)快很多。
#iptables -t nat -L OUTPUT (查看nat表OUTPUT鏈的規(guī)則)
2、定義默認(rèn)策略
當(dāng)數(shù)據(jù)包不符合鏈中任何一條規(guī)則時(shí),iptables將根據(jù)該鏈默認(rèn)策略來(lái)處理數(shù)據(jù)包,默認(rèn)策略的定義方法如下
#iptables [-t 表名]
[-t 表名]:定義查看哪個(gè)表的規(guī)則,表名可以使用filter、nat和mangle,如果沒(méi)有寶,默認(rèn)使用filter表
?。憾x默認(rèn)策略
?。憾x查看指定表中哪個(gè)鏈的規(guī)則,如果不指明,將查看某個(gè)表中所有鏈的規(guī)則
?。禾幚頂?shù)據(jù)包的動(dòng)作,可以使用ACCEPT(接受)和DROP(丟棄)
#iptables -P INPUT ACCEPT (將filter表INPUT鏈的默認(rèn)策略定義為接受)
#iptables -t nat -P OUTPUT DROP (將nat表OUTPUT鏈的默認(rèn)策略定義為丟棄)
創(chuàng)建一個(gè)最簡(jiǎn)單的規(guī)則范例。對(duì)于沒(méi)有經(jīng)驗(yàn)和時(shí)間的用戶而言,設(shè)置一個(gè)簡(jiǎn)單而又實(shí)用的規(guī)則是必要的,最基本的原則是“先拒絕所有數(shù)據(jù)包,然后再允許需要的數(shù) 據(jù)包”,也就是說(shuō)通常為filter表的鏈定義。一般都將INPUT定義為DROP,這樣就可以阻止任何數(shù)據(jù)包進(jìn)入,其他項(xiàng)目定義為ACCEPT,這樣對(duì) 外發(fā)送的數(shù)據(jù)就可以出去。
#iptables -P INPUT DROP
#iptables -P FORWARD ACCEPT
#iptables -P OUTPUT ACCEPT
3、增加、插入、刪除和替換規(guī)則
#iptables [-t 表名] 鏈名 [規(guī)則編號(hào)] [-i | o 網(wǎng)卡] [-p 協(xié)議類型] [-s 源IP | 源子網(wǎng)] [--sport 源端口號(hào)] [-d 目標(biāo)IP | 目標(biāo)子網(wǎng)] [--dport 目標(biāo)端口號(hào)]
[-t 表名]:定義查看哪個(gè)表的規(guī)則,表名可以使用filter、nat和mangle,如果沒(méi)有定義,默認(rèn)使用filter表
-A:新增一條規(guī)則,該規(guī)則將增加到規(guī)則列表的最后一行,該參數(shù)不能使用規(guī)則編號(hào)
-I:插入一條規(guī)則,原來(lái)該位置上的規(guī)則就會(huì)身后順序移動(dòng),如果沒(méi)有指定規(guī)則編號(hào),則在第一條規(guī)則前插入
-D:刪除一條規(guī)則,可以輸入完整規(guī)則,或直接指定規(guī)則編號(hào)
-R:替換某條規(guī)則,規(guī)則被替換并不會(huì)改變順序,必須要指定替換的規(guī)則編號(hào)
:指定查看指定表中某條鏈的規(guī)則,可以使用INPUT、OUTPUT、FORWARD、PREROUTING、OUTPUT、POSTROUTIN
[規(guī)則編號(hào)]:規(guī)則編號(hào)是在插入、刪除和替換規(guī)則時(shí)用,編號(hào)是按照規(guī)則列表的順序排列,第一條規(guī)則編號(hào)為1
[-i | o 網(wǎng)卡名稱]:i是指數(shù)據(jù)包從哪塊網(wǎng)卡輸入,o是批數(shù)據(jù)包從哪塊網(wǎng)卡輸出
[-p 協(xié)議類型]:可以指定規(guī)則應(yīng)用的協(xié)議,包含TCP、UDP、ICMP等
[-s 源IP | 源子網(wǎng)]:數(shù)據(jù)包的源IP或子網(wǎng)
[--sport 源端口號(hào)]:數(shù)據(jù)包的源端口號(hào)
[-d 目標(biāo)IP | 目標(biāo)子網(wǎng)]:數(shù)據(jù)包的目標(biāo)IP或子網(wǎng)
[--dport 目標(biāo)端口號(hào)]:數(shù)據(jù)包的目標(biāo)端口號(hào)
?。禾幚頂?shù)據(jù)包的動(dòng)作
#iptables -A INPUT -i lo -j ACCEPT (追加一條規(guī)則,接受所有來(lái)自lo接口的數(shù)據(jù)包)
#iptables -A INPUT -s 192.168.0.44 -j ACCEPT (追加一條規(guī)則,接受所有來(lái)自192.168.0.44的數(shù)據(jù)包)
#iptables -A INPUT -s 192.168.0.44 -j DROP (追加一條規(guī)則,丟棄所有來(lái)自192.168.0.44的數(shù)據(jù)包)
注:iptables的按照順序讀取規(guī)則的,如果兩條規(guī)則沖突,以排在前面的規(guī)則為準(zhǔn)。
#iptables -I INPUT 3 -s 192.168.1.0/24 -j DROP (在INPUT鏈中的第3條規(guī)則前插入一條規(guī)則,丟棄所有來(lái)自192.168.1.0/24的數(shù)據(jù)包)
注:-I參數(shù)如果沒(méi)有指定插入的位置,將插入到所有規(guī)則的最前面
#iptables -D INPUT 2 (刪除filter表中INPUT鏈中的第2條規(guī)則)
#iptables -R INPUT 2 -s 192.168.10.0/24 -p tcp --dport 80 -j DROP (替換filter表INPUT鏈中第2條規(guī)則為,禁止192.168.10.0/24訪問(wèn)TCP的80端口)
4、清除規(guī)則和計(jì)數(shù)器
在新建規(guī)則時(shí),往往需要清除原有的或舊的規(guī)則,以免影響新規(guī)則。如果規(guī)則較多,逐條刪除比較麻煩,可以使用清除規(guī)則參數(shù)快速刪除所有規(guī)則。
#iptables [-t 表名]
[-t 表名]:指定策略將應(yīng)用于哪個(gè)表,可以使用filter、nat和mangle,如果沒(méi)有指定,默認(rèn)為filter表
-F:刪除指定表中所有規(guī)則
-Z:將指定表中數(shù)據(jù)包計(jì)數(shù)器和流量計(jì)數(shù)器歸零
#iptables -Z (將filter表中數(shù)據(jù)包計(jì)數(shù)器和流量計(jì)數(shù)器請(qǐng)零)
#iptables -F (刪除filter表中的所有規(guī)則)
5、記錄與恢復(fù)防火墻規(guī)則
可以使用記錄與恢復(fù)防火墻規(guī)則命令,將現(xiàn)有防火墻機(jī)制復(fù)制下來(lái),在需要恢復(fù)時(shí)直接恢復(fù)即可。
#iptables-save > 文件名 (記錄當(dāng)前防火墻規(guī)則)
#iptables-restore > 文件名 (將防火墻規(guī)則恢復(fù)到當(dāng)前主機(jī)環(huán)境)
好了今天小編的介紹就到這里了,希望對(duì)大家有所幫助!如果你喜歡記得分享給身邊的朋友哦!
相關(guān)文章: