在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    Linux防火墻-iptables實(shí)戰(zhàn)操作

    Linux防火墻-iptables實(shí)戰(zhàn)操作

    一、iptables字段詳解

    iptables原理以及參數(shù)介紹可以參考我上篇文章:Linux防火墻——iptables原理介紹

    $ iptables -vL INPUT

    • pkts:對(duì)應(yīng)規(guī)則匹配到的報(bào)文的個(gè)數(shù)。
    • bytes:對(duì)應(yīng)匹配到的報(bào)文包的大小總和。
    • target:規(guī)則對(duì)應(yīng)的target,往往表示規(guī)則對(duì)應(yīng)的”動(dòng)作”,即規(guī)則匹配成功后需要采取的措施。
    • prot:表示規(guī)則對(duì)應(yīng)的協(xié)議,是否只針對(duì)某些協(xié)議應(yīng)用此規(guī)則。
    • opt:表示規(guī)則對(duì)應(yīng)的選項(xiàng)。
    • in:表示數(shù)據(jù)包由哪個(gè)接口(網(wǎng)卡)流入,我們可以設(shè)置通過(guò)哪塊網(wǎng)卡流入的報(bào)文需要匹配當(dāng)前規(guī)則。
    • out:表示數(shù)據(jù)包由哪個(gè)接口(網(wǎng)卡)流出,我們可以設(shè)置通過(guò)哪塊網(wǎng)卡流出的報(bào)文需要匹配當(dāng)前規(guī)則。
    • source:表示規(guī)則對(duì)應(yīng)的源頭地址,可以是一個(gè)IP,也可以是一個(gè)網(wǎng)段。
    • destination:表示規(guī)則對(duì)應(yīng)的目標(biāo)地址??梢允且粋€(gè)IP,也可以是一個(gè)網(wǎng)段。

    $ iptables –line-number -nvL

    • policy:表示當(dāng)前鏈的默認(rèn)策略
    • packets:表示當(dāng)前鏈(上例為INPUT鏈)默認(rèn)策略匹配到的包的數(shù)量,0 packets表示默認(rèn)策略匹配到0個(gè)包。
    • bytes:表示當(dāng)前鏈默認(rèn)策略匹配到的所有包的大小總和。

    【溫馨提示】其實(shí),我們可以把packets與bytes稱作”計(jì)數(shù)器”,上圖中的計(jì)數(shù)器記錄了默認(rèn)策略匹配到的報(bào)文數(shù)量與總大小,”計(jì)數(shù)器”只會(huì)在使用-v選項(xiàng)時(shí),才會(huì)顯示出來(lái)。

    二、iptables常用命令

    1)【查】看iptables規(guī)則

    1、查看所有規(guī)則

    【查】看對(duì)應(yīng)表的所有規(guī)則,-t選項(xiàng)指定要操作的表,省略”-t 表名”時(shí),默認(rèn)表示操作filter表,-L表示列出規(guī)則,即查看規(guī)則,格式如下:

    iptables -t 表名 -L

    2、查看指定表的指定鏈中的規(guī)則

    iptables -t 表名 -L 鏈名

    3、查看指定表的所有規(guī)則,并且顯示更詳細(xì)的信息(-v 更多字段)

    查看指定表的所有規(guī)則,并且顯示更詳細(xì)的信息(更多字段),-v表示verbose,表示詳細(xì)的,冗長(zhǎng)的,當(dāng)使用-v選項(xiàng)時(shí),會(huì)顯示出”計(jì)數(shù)器”的信息,由于上例中使用的選項(xiàng)都是短選項(xiàng),所以一般簡(jiǎn)寫為iptables -t 表名 -vL

    iptables -t 表名 -v -L

    計(jì)數(shù)器中的信息顯示為精確的計(jì)數(shù)值,而不是顯示為經(jīng)過(guò)可讀優(yōu)化的計(jì)數(shù)值,-x選項(xiàng)表示顯示計(jì)數(shù)器的精確值。

    iptables -t 表名 -v -x -L

    4、表示查看表的所有規(guī)則(-n 不解析IP地址)

    表示查看表的所有規(guī)則,并且在顯示規(guī)則時(shí),不對(duì)規(guī)則中的IP或者端口進(jìn)行名稱反解,-n選項(xiàng)表示不解析IP地址。

    iptables -t 表名 -n -L

    5、表示查看表的所有規(guī)則,并且顯示規(guī)則的序號(hào)(–line-numbers)

    表示查看表的所有規(guī)則,并且顯示規(guī)則的序號(hào),–line-numbers選項(xiàng)表示顯示規(guī)則的序號(hào),注意,此選項(xiàng)為長(zhǎng)選項(xiàng),不能與其他短選項(xiàng)合并,不過(guò)此選項(xiàng)可以簡(jiǎn)寫為–line,注意,簡(jiǎn)寫后仍然是兩條橫杠,仍然是長(zhǎng)選項(xiàng)。

    iptables –line-numbers -t 表名 -L

    6、只查看某張表中的某條鏈(-t 表)

    iptables –line -t filter -nvxL INPUT

    2)【增】加iptables規(guī)則

    【溫馨提示】添加規(guī)則時(shí),規(guī)則的順序非常重要。

    1、指定表的指定鏈的尾部添加一條規(guī)則(-A)

    【溫馨提示】省略-t選項(xiàng)時(shí),表示默認(rèn)操作filter表中的規(guī)則

    命令語(yǔ)法:iptables -t 表名 -A 鏈名 匹配條件 -j 動(dòng)作【示例】iptables -t filter -A INPUT -s 192.168.1.146 -j DROP

    2、指定表的指定鏈的首部添加一條規(guī)則(-I)

    命令語(yǔ)法:iptables -t 表名 -I 鏈名 匹配條件 -j 動(dòng)作【示例】iptables -t filter -I INPUT -s 192.168.1.146 -j ACCEPT

    3、在指定表的指定鏈的指定位置添加一條規(guī)則

    命令語(yǔ)法:iptables -t 表名 -I 鏈名 規(guī)則序號(hào) 匹配條件 -j 動(dòng)作【示例】iptables -t filter -I INPUT 5 -s 192.168.1.146 -j REJECT

    4、指定表的指定鏈的默認(rèn)策略(默認(rèn)動(dòng)作),并非添加規(guī)則

    命令語(yǔ)法:iptables -t 表名 -P 鏈名 動(dòng)作【示例】iptables -t filter -P FORWARD ACCEPT

    【溫馨提示】上例表示將filter表中FORWARD鏈的默認(rèn)策略設(shè)置為ACCEPT

    3)【刪】除iptables規(guī)則

    【溫馨提示】注意點(diǎn):如果沒(méi)有保存規(guī)則,刪除規(guī)則時(shí)請(qǐng)慎重。

    1、按照規(guī)則序號(hào)刪除規(guī)則

    按照規(guī)則序號(hào)刪除規(guī)則,刪除指定表的指定鏈的指定規(guī)則,【-D】選項(xiàng)表示刪除對(duì)應(yīng)鏈中的規(guī)則。

    命令語(yǔ)法:iptables -t 表名 -D 鏈名 規(guī)則序號(hào)【示例】iptables -t filter -D INPUT 3

    上述示例表示刪除filter表中INPUT鏈中序號(hào)為3的規(guī)則。

    2、按照具體的匹配條件與動(dòng)作刪除規(guī)則,刪除指定表的指定鏈的指定規(guī)則

    命令語(yǔ)法:iptables -t 表名 -D 鏈名 匹配條件 -j 動(dòng)作【示例】iptables -t filter -D INPUT -s 192.168.1.146 -j DROP

    上述示例表示刪除filter表中INPUT鏈中源地址為192.168.1.146并且動(dòng)作為DROP的規(guī)則。

    3、刪除指定表的指定鏈中的所有規(guī)則(-F)

    【-F】選項(xiàng)表示清空對(duì)應(yīng)鏈中的規(guī)則,執(zhí)行時(shí)需三思。

    命令語(yǔ)法:iptables -t 表名 -F 鏈名【示例】iptables -t filter -F INPUT

    4、刪除指定表中的所有規(guī)則

    命令語(yǔ)法:iptables -t 表名 -F【示例】iptables -t filter -F

    4)修【改】iptables規(guī)則

    【溫馨提示】如果使用-R選項(xiàng)修改規(guī)則中的動(dòng)作,那么必須指明原規(guī)則中的原匹配條件,例如源IP,目標(biāo)IP等。

    1、修改指定表中指定鏈的指定規(guī)則(-R)

    修改指定表中指定鏈的指定規(guī)則,-R選項(xiàng)表示修改對(duì)應(yīng)鏈中的規(guī)則,使用-R選項(xiàng)時(shí)要同時(shí)指定對(duì)應(yīng)的鏈以及規(guī)則對(duì)應(yīng)的序號(hào),并且規(guī)則中原本的匹配條件不可省略。

    命令語(yǔ)法:iptables -t 表名 -R 鏈名 規(guī)則序號(hào) 規(guī)則原本的匹配條件 -j 動(dòng)作【示例】iptables -t filter -R INPUT 3 -s 192.168.1.146 -j ACCEPT

    上述示例表示修改filter表中INPUT鏈的第3條規(guī)則,將這條規(guī)則的動(dòng)作修改為ACCEPT, -s 192.168.1.146為這條規(guī)則中原本的匹配條件,如果省略此匹配條件,修改后的規(guī)則中的源地址可能會(huì)變?yōu)?.0.0.0/0。

    其他修改規(guī)則的方法:先通過(guò)編號(hào)刪除規(guī)則,再在原編號(hào)位置添加一條規(guī)則。

    2、修改指定表的指定鏈的默認(rèn)策略(默認(rèn)動(dòng)作)

    命令語(yǔ)法:iptables -t 表名 -P 鏈名 動(dòng)作【示例】iptables -t filter -P FORWARD ACCEPT

    5)保存iptables規(guī)則

    保存規(guī)則命令如下,表示將iptables規(guī)則保存至/etc/sysconfig/iptables文件中,如果對(duì)應(yīng)的操作沒(méi)有保存,那么當(dāng)重啟iptables服務(wù)以后就不存在了。

    service iptables save# 或者使用如下方法保存規(guī)則iptables-save > /etc/sysconfig/iptables# 可以使用如下命令從指定的文件載入規(guī)則,注意:重載規(guī)則時(shí),文件中的規(guī)則將會(huì)覆蓋現(xiàn)有規(guī)則。iptables-restore < /etc/sysconfig/iptables

    【溫馨提示】centos7中使用默認(rèn)使用firewalld,后面會(huì)講,如果想要使用上述命令保存規(guī)則,需要安裝iptables-services,具體配置過(guò)程請(qǐng)回顧上文。

    6)基本匹配條件

    1、用于匹配報(bào)文的源地址(-s)

    -s用于匹配報(bào)文的源地址,可以同時(shí)指定多個(gè)源地址,每個(gè)IP之間用逗號(hào)隔開,也可以指定為一個(gè)網(wǎng)段。示例如下:

    iptables -t filter -I INPUT -s 192.168.1.111,192.168.1.118 -j DROPiptables -t filter -I INPUT -s 192.168.1.0/24 -j ACCEPTiptables -t filter -I INPUT ! -s 192.168.1.0/24 -j ACCEPT

    2、用于匹配報(bào)文的目標(biāo)地址(-d)

    -d用于匹配報(bào)文的目標(biāo)地址,可以同時(shí)指定多個(gè)目標(biāo)地址,每個(gè)IP之間用逗號(hào)隔開,也可以指定為一個(gè)網(wǎng)段。示例如下:

    iptables -t filter -I OUTPUT -d 192.168.1.111,192.168.1.118 -j DROPiptables -t filter -I INPUT -d 192.168.1.0/24 -j ACCEPTiptables -t filter -I INPUT ! -d 192.168.1.0/24 -j ACCEPT

    3、用于匹配報(bào)文的協(xié)議類型(-p)

    -p用于匹配報(bào)文的協(xié)議類型,可以匹配的協(xié)議類型tcp、udp、udplite、icmp、esp、ah、sctp等(centos7中還支持icmpv6、mh)。示例如下:

    iptables -t filter -I INPUT -p tcp -s 192.168.1.146 -j ACCEPTiptables -t filter -I INPUT ! -p udp -s 192.168.1.146 -j ACCEPT

    4、用于匹配報(bào)文是從哪個(gè)網(wǎng)卡接口流入本機(jī)的(-i)

    -i用于匹配報(bào)文是從哪個(gè)網(wǎng)卡接口流入本機(jī)的,由于匹配條件只是用于匹配報(bào)文流入的網(wǎng)卡,所以在OUTPUT鏈與POSTROUTING鏈中不能使用此選項(xiàng)。

    iptables -t filter -I INPUT -p icmp -i eth4 -j DROPiptables -t filter -I INPUT -p icmp ! -i eth4 -j DROP

    5、用于匹配報(bào)文將要從哪個(gè)網(wǎng)卡接口流出本機(jī)(-o)

    -o用于匹配報(bào)文將要從哪個(gè)網(wǎng)卡接口流出本機(jī),于匹配條件只是用于匹配報(bào)文流出的網(wǎng)卡,所以在INPUT鏈與PREROUTING鏈中不能使用此選項(xiàng)。

    7)擴(kuò)展匹配條件

    • 不是基本匹配條件的就是擴(kuò)展匹配條件
    • 基本匹配條件我們可以直接使用,而如果想要使用擴(kuò)展匹配條件,則需要依賴一些擴(kuò)展模塊,或者說(shuō),在使用擴(kuò)展匹配條件之前,需要指定相應(yīng)的擴(kuò)展模塊才行
    • 想要使用–dport這個(gè)擴(kuò)展匹配條件,則必須依靠某個(gè)擴(kuò)展模塊完成,如果在沒(méi)有使用-m指定對(duì)應(yīng)的擴(kuò)展模塊名稱的情況下,使用了擴(kuò)展匹配條件, iptables默認(rèn)會(huì)調(diào)用與-p選項(xiàng)對(duì)應(yīng)的協(xié)議名稱相同的模塊。

    【溫馨提示】-p tcp與 -m tcp并不沖突,-p用于匹配報(bào)文的協(xié)議,-m 用于指定擴(kuò)展模塊的名稱,正好,這個(gè)擴(kuò)展模塊也叫tcp;如果協(xié)議和模塊相同,則可以省略-m選項(xiàng); iptables默認(rèn)會(huì)調(diào)用與-p選項(xiàng)對(duì)應(yīng)的協(xié)議名稱相同的模塊。

    1、tcp擴(kuò)展模塊

    常用的擴(kuò)展匹配條件如下:

    • -p tcp -m tcp –sport 用于匹配tcp協(xié)議報(bào)文的源端口,可以使用冒號(hào)指定一個(gè)連續(xù)的端口范圍
    • -p tcp -m tcp –dport 用于匹配tcp協(xié)議報(bào)文的目標(biāo)端口,可以使用冒號(hào)指定一個(gè)連續(xù)的端口范圍
    • -p tcp -m tcp –tcp-flags “–tcp-flags”指的就是tcp頭中的標(biāo)志位
    • -p tcp -m tcp –syn 可以使用”–syn”選項(xiàng)去匹配tcp新建連接的請(qǐng)求報(bào)文

    用于匹配報(bào)文的tcp頭的標(biāo)志位,示例如下:

    iptables -t filter -I OUTPUT -d 192.168.1.146 -p tcp -m tcp –sport 22 -j REJECTiptables -t filter -I INPUT -s 192.168.1.146 -p tcp -m tcp –dport 22:25 -j REJECTiptables -t filter -I INPUT -s 192.168.1.146 -p tcp -m tcp –dport :22 -j REJECTiptables -t filter -I INPUT -s 192.168.1.146 -p tcp -m tcp –dport 80: -j REJECTiptables -t filter -I INPUT -p tcp -m tcp –dport 22 –tcp-flags SYN,ACK,FIN,RST,URG,PSH SYN -j REJECTiptables -t filter -I OUTPUT -p tcp -m tcp –sport 22 –tcp-flags SYN,ACK,FIN,RST,URG,PSH SYN,ACK -j REJECTiptables -t filter -I INPUT -p tcp -m tcp –dport 22 –tcp-flags ALL SYN -j REJECTiptables -t filter -I OUTPUT -p tcp -m tcp –sport 22 –tcp-flags ALL SYN,ACK -j REJECTiptables -t filter -I INPUT -p tcp -m tcp –dport 22 –syn -j REJECT

    2、multiport擴(kuò)展模塊

    常用的擴(kuò)展匹配條件如下:

    • -p tcp -m multiport –sports 用于匹配報(bào)文的源端口,可以指定離散的多個(gè)端口號(hào),端口之間用”逗號(hào)”隔開
    • -p udp -m multiport –dports 用于匹配報(bào)文的目標(biāo)端口,可以指定離散的多個(gè)端口號(hào),端口之間用”逗號(hào)”隔開

    示例如下:

    iptables -t filter -I OUTPUT -d 192.168.1.146 -p udp -m multiport –sports 137,138 -j REJECTiptables -t filter -I INPUT -s 192.168.1.146 -p tcp -m multiport –dports 22,80 -j REJECTiptables -t filter -I INPUT -s 192.168.1.146 -p tcp -m multiport ! –dports 22,80 -j REJECTiptables -t filter -I INPUT -s 192.168.1.146 -p tcp -m multiport –dports 80:88 -j REJECTiptables -t filter -I INPUT -s 192.168.1.146 -p tcp -m multiport –dports 22,80:88 -j REJECT

    3、iprange模塊

    包含的擴(kuò)展匹配條件如下:

    • –src-range:指定連續(xù)的源地址范圍
    • –dst-range:指定連續(xù)的目標(biāo)地址范圍

    示例如下:

    iptables -t filter -I INPUT -m iprange –src-range 192.168.1.127-192.168.1.146 -j DROPiptables -t filter -I OUTPUT -m iprange –dst-range 192.168.1.127-192.168.1.146 -j DROPiptables -t filter -I INPUT -m iprange ! –src-range 192.168.1.127-192.168.1.146 -j DROP

    4、string模塊

    常用擴(kuò)展匹配條件如下:

    • –algo:指定對(duì)應(yīng)的匹配算法,可用算法為bm、kmp,此選項(xiàng)為必需選項(xiàng)。
    • –string:指定需要匹配的字符串

    示例如下:

    iptables -t filter -I INPUT -p tcp –sport 80 -m string –algo bm –string “OOXX” -j REJECTiptables -t filter -I INPUT -p tcp –sport 80 -m string –algo bm –string “OOXX” -j REJECT

    5、time模塊

    常用擴(kuò)展匹配條件如下:

    • –timestart:用于指定時(shí)間范圍的開始時(shí)間,不可取反
    • –timestop:用于指定時(shí)間范圍的結(jié)束時(shí)間,不可取反
    • –weekdays:用于指定”星期幾”,可取反
    • –monthdays:用于指定”幾號(hào)”,可取反
    • –datestart:用于指定日期范圍的開始日期,不可取反
    • –datestop:用于指定日期范圍的結(jié)束時(shí)間,不可取反

    示例如下:

    iptables -t filter -I OUTPUT -p tcp –dport 80 -m time –timestart 09:00:00 –timestop 19:00:00 -j REJECTiptables -t filter -I OUTPUT -p tcp –dport 443 -m time –timestart 09:00:00 –timestop 19:00:00 -j REJECTiptables -t filter -I OUTPUT -p tcp –dport 80 -m time –weekdays 6,7 -j REJECTiptables -t filter -I OUTPUT -p tcp –dport 80 -m time –monthdays 22,23 -j REJECTiptables -t filter -I OUTPUT -p tcp –dport 80 -m time ! –monthdays 22,23 -j REJECTiptables -t filter -I OUTPUT -p tcp –dport 80 -m time –timestart 09:00:00 –timestop 18:00:00 –weekdays 6,7 -j REJECTiptables -t filter -I OUTPUT -p tcp –dport 80 -m time –weekdays 5 –monthdays 22,23,24,25,26,27,28 -j REJECTiptables -t filter -I OUTPUT -p tcp –dport 80 -m time –datestart 2017-12-24 –datestop 2017-12-27 -j REJECT

    6、connlimit 模塊

    常用的擴(kuò)展匹配條件如下:

    • –connlimit-above:?jiǎn)为?dú)使用此選項(xiàng)時(shí),表示限制每個(gè)IP的鏈接數(shù)量。
    • –connlimit-mask:此選項(xiàng)不能單獨(dú)使用,在使用–connlimit-above選項(xiàng)時(shí),配合此選項(xiàng),則可以針對(duì)”某類IP段內(nèi)的一定數(shù)量的IP”進(jìn)行連接數(shù)量的限制,如果不明白可以參考上文的詳細(xì)解釋。

    示例如下:

    iptables -I INPUT -p tcp –dport 22 -m connlimit –connlimit-above 2 -j REJECTiptables -I INPUT -p tcp –dport 22 -m connlimit –connlimit-above 20 –connlimit-mask 24 -j REJECTiptables -I INPUT -p tcp –dport 22 -m connlimit –connlimit-above 10 –connlimit-mask 27 -j REJECT

    7、limit模塊

    常用的擴(kuò)展匹配條件如下:

    • –limit-burst:類比”令牌桶”算法,此選項(xiàng)用于指定令牌桶中令牌的最大數(shù)量,上文中已經(jīng)詳細(xì)的描述了”令牌桶”的概念,方便回顧。
    • –limit:類比”令牌桶”算法,此選項(xiàng)用于指定令牌桶中生成新令牌的頻率,可用時(shí)間單位有second、minute 、hour、day。

    示例如下:

    iptables -t filter -I INPUT -p icmp -m limit –limit-burst 3 –limit 10/minute -j ACCEPTiptables -t filter -A INPUT -p icmp -j REJECT

    8、udp模塊

    常用的擴(kuò)展匹配條件

    • –sport:匹配udp報(bào)文的源地址
    • –dport:匹配udp報(bào)文的目標(biāo)地址

    示例如下:

    iptables -t filter -I INPUT -p udp -m udp –dport 137 -j ACCEPTiptables -t filter -I INPUT -p udp -m udp –dport 137:157 -j ACCEPT#可以結(jié)合multiport模塊指定多個(gè)離散的端口

    9、icmp模塊

    常用的擴(kuò)展匹配條件:–icmp-type:匹配icmp報(bào)文的具體類型

    示例如下:

    iptables -t filter -I INPUT -p icmp -m icmp –icmp-type 8/0 -j REJECTiptables -t filter -I INPUT -p icmp –icmp-type 8 -j REJECTiptables -t filter -I OUTPUT -p icmp -m icmp –icmp-type 0/0 -j REJECTiptables -t filter -I OUTPUT -p icmp –icmp-type 0 -j REJECTiptables -t filter -I INPUT -p icmp –icmp-type “echo-request” -j REJECT

    10、state模塊

    從字面上理解,state可以譯為狀態(tài),但是我們也可以用一個(gè)高大上的詞去解釋它,state模塊可以讓iptables實(shí)現(xiàn)”連接追蹤”機(jī)制。

    【溫馨提示】如下報(bào)文狀態(tài)都是對(duì)于state模塊來(lái)說(shuō)的。

    • NEW:連接中的第一個(gè)包,狀態(tài)就是NEW,我們可以理解為新連接的第一個(gè)包的狀態(tài)為NEW。
    • ESTABLISHED:我們可以把NEW狀態(tài)包后面的包的狀態(tài)理解為ESTABLISHED,表示連接已建立。
    • RELATED:從字面上理解RELATED譯為關(guān)系,但是這樣仍然不容易理解,我們舉個(gè)例子。

    -INVALID:如果一個(gè)包沒(méi)有辦法被識(shí)別,或者這個(gè)包沒(méi)有任何狀態(tài),那么這個(gè)包的狀態(tài)就是INVALID,我們可以主動(dòng)屏蔽狀態(tài)為INVALID的報(bào)文。

    • UNTRACKED:報(bào)文的狀態(tài)為untracked時(shí),表示報(bào)文未被追蹤,當(dāng)報(bào)文的狀態(tài)為Untracked時(shí)通常表示無(wú)法找到相關(guān)的連接。

    示例如下:

    # 在filter表中創(chuàng)建IN_WEB自定義鏈iptables -t filter -I INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT

    11、自定義鏈

    【溫馨提示】自定義鏈并不能直接使用,而是需要被默認(rèn)鏈引用才能夠使用,空口白話說(shuō)不明白,等到示例時(shí)我們自然會(huì)明白。

    1)創(chuàng)建自定義鏈【示例】在filter表中創(chuàng)建IN_WEB自定義鏈

    iptables -t filter -N IN_WEB

    2)引用自定義鏈【示例】在INPUT鏈中引用剛才創(chuàng)建的自定義鏈

    iptables -t filter -I INPUT -p tcp –dport 80 -j IN_WEB

    3)重命名自定義鏈【示例】將IN_WEB自定義鏈重命名為WEB

    iptables -E IN_WEB WEB

    4)刪除自定義鏈刪除自定義鏈需要滿足兩個(gè)條件:

    • 自定義鏈沒(méi)有被引用
    • 自定義鏈中沒(méi)有任何規(guī)則

    【示例】刪除引用計(jì)數(shù)為0并且不包含任何規(guī)則的WEB鏈

    iptables -X WEB

    三、網(wǎng)絡(luò)防火墻

    #如果想要iptables作為網(wǎng)絡(luò)防火墻,iptables所在主機(jī)開啟核心轉(zhuǎn)發(fā)功能,以便能夠轉(zhuǎn)發(fā)報(bào)文。#使用如下命令查看當(dāng)前主機(jī)是否已經(jīng)開啟了核心轉(zhuǎn)發(fā),0表示為開啟,1表示已開啟cat /proc/sys/net/ipv4/ip_forward#使用如下兩種方法均可臨時(shí)開啟核心轉(zhuǎn)發(fā),立即生效,但是重啟網(wǎng)絡(luò)配置后會(huì)失效。方法一:echo 1 > /proc/sys/net/ipv4/ip_forward方法二:sysctl -w net.ipv4.ip_forward=1#使用如下方法開啟核心轉(zhuǎn)發(fā)功能,重啟網(wǎng)絡(luò)服務(wù)后永久生效。配置/etc/sysctl.conf文件(centos7中配置/usr/lib/sysctl.d/00-system.conf文件),在配置文件中將 net.ipv4.ip_forward設(shè)置為1 #由于iptables此時(shí)的角色為”網(wǎng)絡(luò)防火墻”,所以需要在filter表中的FORWARD鏈中設(shè)置規(guī)則。#可以使用”白名單機(jī)制”,先添加一條默認(rèn)拒絕的規(guī)則,然后再為需要放行的報(bào)文設(shè)置規(guī)則。#配置規(guī)則時(shí)需要考慮”方向問(wèn)題”,針對(duì)請(qǐng)求報(bào)文與回應(yīng)報(bào)文,考慮報(bào)文的源地址與目標(biāo)地址,源端口與目標(biāo)端口等。#示例為允許網(wǎng)絡(luò)內(nèi)主機(jī)訪問(wèn)網(wǎng)絡(luò)外主機(jī)的web服務(wù)與sshd服務(wù)。iptables -A FORWARD -j REJECTiptables -I FORWARD -s 10.1.0.0/16 -p tcp –dport 80 -j ACCEPTiptables -I FORWARD -d 10.1.0.0/16 -p tcp –sport 80 -j ACCEPTiptables -I FORWARD -s 10.1.0.0/16 -p tcp –dport 22 -j ACCEPTiptables -I FORWARD -d 10.1.0.0/16 -p tcp –sport 22 -j ACCEPT #可以使用state擴(kuò)展模塊,對(duì)上述規(guī)則進(jìn)行優(yōu)化,使用如下配置可以省略許多”回應(yīng)報(bào)文放行規(guī)則”。iptables -A FORWARD -j REJECTiptables -I FORWARD -s 10.1.0.0/16 -p tcp –dport 80 -j ACCEPTiptables -I FORWARD -s 10.1.0.0/16 -p tcp –dport 22 -j ACCEPTiptables -I FORWARD -m state –state ESTABLISHED,RELATED -j ACCEPT

    一些注意點(diǎn):

    • 當(dāng)測(cè)試網(wǎng)絡(luò)防火墻時(shí),默認(rèn)前提為網(wǎng)絡(luò)已經(jīng)正確配置。
    • 當(dāng)測(cè)試網(wǎng)絡(luò)防火墻時(shí),如果出現(xiàn)問(wèn)題,請(qǐng)先確定主機(jī)防火墻規(guī)則的配置沒(méi)有問(wèn)題。
    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
    上一篇 2022年6月15日 21:20
    下一篇 2022年6月15日 21:20

    相關(guān)推薦

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息