詳述iptables五種鏈接

一、初識(shí)防火墻

Firewall:防火墻,隔離工具;工作于主機(jī)或網(wǎng)絡(luò)邊緣,對(duì)于進(jìn)出本主機(jī)或本網(wǎng)絡(luò)的報(bào)文根據(jù)事先定義的檢查規(guī)則作匹配檢測(cè),對(duì)于能夠被規(guī)則匹配到的報(bào)文作出相應(yīng)處理的組件;
防火墻類型分為: 主機(jī)防火墻 和網(wǎng)絡(luò)防火墻
實(shí)現(xiàn)方法分為:軟件防火墻(軟件邏輯)和硬件防火墻(硬件和軟件邏輯)

二、iptables五種鏈接

內(nèi)置規(guī)則鏈邏輯圖.png
iptables五種鏈接分別是prerouting、input 、output 、forward 、postrouting
  • prerouting:流入的數(shù)據(jù)包進(jìn)入路由表之前。
  • input :通過(guò)路由表判斷后目的地址是本機(jī),然后進(jìn)入本機(jī)內(nèi)部資源。
  • output :由本機(jī)產(chǎn)生的數(shù)據(jù)向外轉(zhuǎn)發(fā)
  • forward :通過(guò)路由表判斷目的地址是本機(jī),然后通過(guò)路由轉(zhuǎn)發(fā)到其他地方。
  • postrouting:傳出的數(shù)據(jù)包到達(dá)網(wǎng)卡出口前。
iptables的四張表

現(xiàn)在用的比較多的表是前兩個(gè):

  • 表(功能):

filter:過(guò)濾,防火墻;
nat:network address translation;用于修改源IP或目標(biāo)IP,也可以改端口;
mangle:拆解報(bào)文,做出修改,并重新封裝起來(lái);
raw:關(guān)閉nat表上啟用的連接追蹤機(jī)制;

  • 表(功能)和鏈對(duì)應(yīng)關(guān)系:

raw:PREROUTING, OUTPUT
mangle:PREROUTING,INPUT,F(xiàn)ORWARD,OUTPUT,POSTROUTING
nat:PREROUTING,[INPUT,]OUTPUT,POSTROUTING
filter:INPUT,F(xiàn)ORWARD,OUTPUT

  • 處理優(yōu)先級(jí):raw-->mangle-->nat-->filter
  • 報(bào)文流向:

流入本機(jī):PREROUTING --> INPUT
由本機(jī)流出:OUTPUT --> POSTROUTING
轉(zhuǎn)發(fā):PREROUTING --> FORWARD --> POSTROUTING

處理流程.png

三、iptables規(guī)則

1、添加規(guī)則時(shí)的考量點(diǎn):

(1) 要實(shí)現(xiàn)哪種功能:判斷添加到哪個(gè)表上;
(2) 報(bào)文流經(jīng)的路徑:判斷添加到哪個(gè)鏈上;

2、鏈的規(guī)則

鏈上的規(guī)則次序,即為檢查的次序;因此,隱含一定的應(yīng)用法則:

(1) 同類規(guī)則(訪問(wèn)同一應(yīng)用),匹配范圍小的放上面;
(2) 不同類的規(guī)則(訪問(wèn)不同應(yīng)用),匹配到報(bào)文頻率較大的放在上面;
(3) 將那些可由一條規(guī)則描述的多個(gè)規(guī)則合并起來(lái);
(4) 設(shè)置默認(rèn)策略;

3、匹配規(guī)則:

組成部分:根據(jù)規(guī)則匹配條件來(lái)嘗試匹配報(bào)文,一旦匹配成功,就由規(guī)則定義的處理動(dòng)作作出處理;

匹配條件:
基本匹配條件:內(nèi)建
擴(kuò)展匹配條件:由擴(kuò)展模塊定義;

4、處理動(dòng)作:

基本處理動(dòng)作:內(nèi)建
擴(kuò)展處理動(dòng)作:由擴(kuò)展模塊定義;
自定義處理機(jī)制:自定義鏈

四、iptables命令:

高度模塊化,由諸多擴(kuò)展模塊實(shí)現(xiàn)其檢查條件或處理動(dòng)作的定義;

/usr/lib64/xtables/
適用IPv6報(bào)文:libip6t_
適用IPv4報(bào)文:libipt_, libxt_

規(guī)則格式:
iptables [-t table] COMMAND chain [-m matchname [per-match-options]] -j targetname [per-target-options]

-t table:raw, mangle, nat, [filter]#表
rule-specification = [matches...] [target] #規(guī)則格式,matches匹配條件,target處理動(dòng)作
match = -m matchname [per-match-options] #指明一個(gè)匹配模塊 定義它的選項(xiàng)和值
target = -j targetname [per-target-options]#指明一個(gè)處理動(dòng)作的擴(kuò)展 并定義它的選項(xiàng)

  • 查詢filter表有三個(gè)鏈
[root@bogon ~]# iptables -t filter -L#查詢filter表有三個(gè)鏈
Chain INPUT (policy ACCEPT)    #指明那個(gè)表(默認(rèn)法則+黑名單)
target     prot    opt    source      destination #(執(zhí)行動(dòng)作-端口-選擇-原地址-目標(biāo)地址)        
ACCEPT     all  --  anywhere   anywhere  #(允許-所有端口-任意地址-任意地址)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
  • 查詢mangle表有五個(gè)鏈
[root@bogon ~]# iptables -t mangle -L#查詢mangle表有五個(gè)鏈
Chain PREROUTING (policy ACCEPT)
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
Chain POSTROUTING (policy ACCEPT)
  • 查詢nat表有四個(gè)鏈
[root@bogon ~]# iptables -t nat -L#查詢nat表有四個(gè)鏈
Chain PREROUTING (policy ACCEPT)
Chain INPUT (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
Chain POSTROUTING (policy ACCEPT)
  • 查詢r(jià)aw表有兩個(gè)鏈
[root@bogon ~]# iptables -t raw -L#查詢r(jià)aw表有兩個(gè)鏈
Chain PREROUTING (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)

五、鏈管理:

  • 1、 -N:new, 自定義一條新的規(guī)則鏈;
[root@bogon ~]# iptables -N in_web_rules#只能調(diào)用內(nèi)建鏈
  • 2、 -X: delete,刪除自定義的規(guī)則鏈;
[root@bogon ~]# iptables -X in_web_rules#注意:僅能刪除 用戶自定義的 引用計(jì)數(shù)為0的 空的 鏈;
  • 3、 -P:Policy,設(shè)置默認(rèn)策略;對(duì)filter表中的鏈而言,其默認(rèn)策略有:

    ACCEPT:接受(內(nèi)建)
    DROP:丟棄(內(nèi)建)
    REJECT:拒絕(擴(kuò)展)

[root@bogon ~]# iptables -P FORWARD DROP或ACCEPT#關(guān)閉或打開轉(zhuǎn)發(fā)報(bào)文
[root@bogon ~]# iptables -vnL#查詢狀態(tài)
  • 4、 -E:重命名自定義鏈;引用計(jì)數(shù)不為0的自定義鏈不能夠被重命名,也不能被刪除;
[root@bogon ~]# iptables -E in_web_rules in_web

六、規(guī)則管理:

  • 1、-A:append,追加;
  • 2、-I:insert, 插入,要指明位置,省略時(shí)表示第一條;
  • 3、-D:delete,刪除;

(1) 指明規(guī)則序號(hào);
(2) 指明規(guī)則本身;

  • 4、-R:replace,替換指定鏈上的指定規(guī)則;

  • 5、-F:flush,清空指定的規(guī)則鏈;

[root@bogon ~]# iptables -F IN_public#清空指定的規(guī)則
  • 6、-Z:zero,置零;

iptables的每條規(guī)則都有兩個(gè)計(jì)數(shù)器:
(1) 匹配到的報(bào)文的個(gè)數(shù);
(2) 匹配到的所有報(bào)文的大小之和;

[root@bogon ~]# iptables -Z INPUT_ZONES 1#把這個(gè)鏈第一條規(guī)則置零
  • 7、查看:

-L:list, 列出指定鏈上的所有規(guī)則;
-n:numberic,以數(shù)字格式顯示地址和端口號(hào);
-v:verbose,詳細(xì)信息;
-vv, -vvv
-x:exactly,顯示計(jì)數(shù)器結(jié)果的精確值;
--line-numbers:顯示規(guī)則的序號(hào);

[root@bogon ~]# iptables -L -n --line-numbers #顯示當(dāng)前表鏈并編號(hào)
[root@bogon ~]# iptables -L -n --line-numbers -v#顯示詳細(xì)信息
[root@bogon ~]# iptables -vnL INPUT#顯示INPUT信息
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.安全技術(shù) (1)入侵檢測(cè)與管理系統(tǒng)(Intrusion Detection Systems): 特點(diǎn)是不阻斷任...
    尛尛大尹閱讀 2,625評(píng)論 0 2
  • iptabels是與Linux內(nèi)核集成的包過(guò)濾防火墻系統(tǒng),幾乎所有的linux發(fā)行版本都會(huì)包含iptables的功...
    隨風(fēng)化作雨閱讀 4,975評(píng)論 1 16
  • 1 前言 防火墻(Firewall),就是一個(gè)隔離工具,工作于主機(jī)或者網(wǎng)絡(luò)的邊緣,對(duì)于進(jìn)出本主機(jī)或本網(wǎng)絡(luò)的報(bào)文,根...
    魏鎮(zhèn)坪閱讀 7,149評(píng)論 1 23
  • iptables簡(jiǎn)介 netfilter/iptables(簡(jiǎn)稱為iptables)組成Linux平臺(tái)下的包過(guò)濾防...
    yshenhn閱讀 113,756評(píng)論 2 78
  • 本學(xué)期開學(xué)后,在校領(lǐng)導(dǎo)的倡導(dǎo)下,八年級(jí)在四清探索中邁出了一小步。雖然還有很多不足之處,畢竟有了一點(diǎn)小的感悟。 利用...
    wwj8921閱讀 298評(píng)論 0 1

友情鏈接更多精彩內(nèi)容