溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

iptables系列之基礎(chǔ)原理

發(fā)布時(shí)間:2020-10-14 12:56:08 來(lái)源:網(wǎng)絡(luò) 閱讀:563 作者:蘋(píng)果與牛頓 欄目:網(wǎng)絡(luò)安全

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

  netfilter :frame 過(guò)濾,內(nèi)核中的過(guò)濾框架,規(guī)則生效的位置框架

    iptables:附加在netfilter上,生成防火墻規(guī)則,真正實(shí)現(xiàn)數(shù)據(jù)報(bào)文過(guò)濾,NAT,mangle等規(guī)則生成的工具


防火墻:工作在主機(jī)或者網(wǎng)絡(luò)的邊緣,對(duì)于進(jìn)出的報(bào)文進(jìn)行檢查監(jiān)控,并根據(jù)事先定義好的規(guī)則(其中有匹配標(biāo)準(zhǔn)和處理辦法),一旦符合標(biāo)準(zhǔn),對(duì)這個(gè)報(bào)文進(jìn)行相應(yīng)的處理規(guī)則的組件稱為防火墻


iptables的實(shí)現(xiàn)實(shí)際上是基于報(bào)文的過(guò)濾,實(shí)例如下:

1.IP:源地址,目標(biāo)地址

TCP:源端口,目標(biāo)端口

UDP:源端口,目標(biāo)端口

ICMP:icmp報(bào)文類型


發(fā)展歷程:

linux2.0

ipfw/firewall

linux2.2

ipchain/firewall

linux2.4

iptables/netfilter



netfilter的過(guò)濾有下面五個(gè)規(guī)則鏈

    PREROUTING

    INPUT

    FORWARD

    OUTPUT

    POSTROUTING


四種表

filter,過(guò)濾表

INPUT,OUTPUT,F(xiàn)ORWARD


nat,地址轉(zhuǎn)換表

prerouting,output,postrouting


mangle(拆分,修改,封裝)  表

prerouting,forwarding,output,postrouting


raw表

prerouting,output



iptables:

500條規(guī)則

能否使用自定義鏈?

可以使用自定義鏈,但是只在被調(diào)用的時(shí)候才能發(fā)揮作用,而且如果沒(méi)有自定義鏈中的任何規(guī)則匹配,還應(yīng)該有返回機(jī)制


*用戶可以刪除自定義空鏈

*默認(rèn)鏈無(wú)法刪除


每個(gè)規(guī)則都有兩個(gè)內(nèi)置的計(jì)數(shù)器

被匹配的報(bào)文個(gè)數(shù)

被匹配的報(bào)文大之和


規(guī)則內(nèi)包含:匹配標(biāo)準(zhǔn),處理動(dòng)作

匹配標(biāo)準(zhǔn):

    1.通用匹配

        -s,--src  源地址

        -d,--dst  目標(biāo)地址

        -p(tcp,udp,icmp)指定協(xié)議

         -i INTERFACE指定數(shù)據(jù)報(bào)文流入的接口(ethX)

                可用于定義標(biāo)準(zhǔn)的鏈,PREROUTING ,INPUT,FORWARD

        -o INTERFACE 指定數(shù)據(jù)報(bào)文流出的接口

                可用于標(biāo)準(zhǔn)定義的鏈,OUTPUT,POSTROUTING,FORWARD,

    2.擴(kuò)展匹配

        a.隱含擴(kuò)展:不用特別指明哪個(gè)模塊進(jìn)行的擴(kuò)展,因?yàn)榇藭r(shí)使用-p(tcp/udp/icmp)

        -p tcp  指定目標(biāo)端口,源端口

            --tcp-flags mask comp :只檢查mask 指定的標(biāo)志位,是逗號(hào)分隔的標(biāo)志位列表;comp:此列表中出現(xiàn)的標(biāo)記位必須為1,comp中沒(méi)出現(xiàn),而mask中出現(xiàn)的,必須為0 

        可根據(jù)ACK,FIN,RST,SYN等標(biāo)志位的值來(lái)盤端報(bào)文的類型,例如當(dāng)SYN=1,其余為0,則這個(gè)報(bào)文時(shí)TCP/IP的第一次握手

      -p-icmp

            --icmp-type -8 被ping通

            --icmp-type -1能夠發(fā)出ping 報(bào)文

        -p-udp

            指定目標(biāo)端口以及源端口


     b. 顯示擴(kuò)展:必須指明由哪個(gè)模塊進(jìn)行的擴(kuò)展,在iptables會(huì)用-m選項(xiàng)即可完成功能

        使用額外的匹配機(jī)制

            -m EXTENSTION --spe-opt

                    state:狀態(tài)擴(kuò)展             -m state --state NEW -ij ACCEPT 

                    結(jié)合ip_constrack追蹤會(huì)話的狀態(tài)

                        NEW:新連接請(qǐng)求

                        ESTABLISHED:已建立的連接

                        INVALID:非法連接

                        RELATED:相關(guān)聯(lián)的


            -m multiport :離散的多端口匹配擴(kuò)展

                        --source-ports

                        --destination-ports

                        --ports

            

            -m  iprange  指定一段地址

                        --src-range 

                        --dst-range


            -m connlimit  連接數(shù)限制

                         !  --connlimit-above n

 

            -m limit 

                        --limit RATE速率限定



#iptables-save> /etc/sysconfig/iptables.2021

#iptables-restore < /etc/sysconfig/iptables.2021


命令

管理規(guī)則

-A:附加一條規(guī)則,添加在鏈的尾部

-I CHAIN [num]:插入一條規(guī)則,插入為對(duì)應(yīng)CHAIN上的第num條

-D CHAIN [num]:刪除指定鏈中的第Num條規(guī)則

-R CHAIN [num]:替換指定的規(guī)則

管理鏈

-F [CHAIN]:flush用于清空指定規(guī)則鏈,如果省略CHAIN ,則可以刪除對(duì)應(yīng)表中的所有鏈

-P CHAIN :設(shè)定指定鏈的默認(rèn)策略

-N :自定義一個(gè)新的空鏈

-X:刪除一個(gè)自定義的空鏈

-Z:置零指定鏈中所有規(guī)則的計(jì)數(shù)器

-E:重命名自定義的鏈

查看類

-L:顯示指定表中的規(guī)則

        -n:以數(shù)字形式顯示主機(jī)地址和端口號(hào)

        -x:顯示計(jì)數(shù)器的精確值

        -v:顯示鏈和規(guī)則的詳細(xì)信息 -vv:

        --line-numbers:顯示規(guī)則號(hào)碼


執(zhí)行的動(dòng)作(target)

-j指定

    ACCEPT放行,允許通過(guò)

    DROP丟棄

    REJECT拒絕

    DNAT目標(biāo)地址轉(zhuǎn)換

    SNAT源地址轉(zhuǎn)換

    REDIRECT(端口重定向)

    MASQUERADE:地址偽裝  MAC表的PREROUTING鏈實(shí)現(xiàn)

    MARK打標(biāo)記

    LOG 日志


iptables不是服務(wù),但有服務(wù)腳本:腳本服務(wù)的主要作用在于管理保存的規(guī)則 

裝載或移除iptable/netfilter相關(guān)的內(nèi)核模塊

iptables_nat,iptales_filter,iptable_mangle,iptables_raw,ip_nat,


保存規(guī)則:

#service iptables save 

/etc/sysconfig/iptables


#iptables-save> /etc/sysconfig/iptables.2021

#iptables-restore < /etc/sysconfig/iptables.2021

















向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI