日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

图文并茂详解iptables 防火墙工作原理及知识点

發(fā)布時(shí)間:2025/3/21 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 图文并茂详解iptables 防火墙工作原理及知识点 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
  • 防火墻相關(guān)概念

  • iptables相關(guān)概念以及工作原理

  • iptables中四表五鏈的原理及規(guī)則

  • iptables中的基本命令詳解





------------------防火墻相關(guān)概念----------------------

?LINUX防火墻:隔離內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)的隔離技術(shù)。

??????????????????????????????????????????????? 介于3-4層的傳輸? ——管理控制 服務(wù)的提供。


系統(tǒng)安全:

1.第三方監(jiān)控殺毒軟件

2.系統(tǒng)策略

3.文件權(quán)限

4.防火墻規(guī)則 :原地址 目標(biāo)地址 端口 協(xié)議 mac 數(shù)據(jù)包中的標(biāo)志

類似ACL訪問(wèn)控制列表: 過(guò)濾


從邏輯上講。防火墻可以大體分為主機(jī)防火墻和網(wǎng)絡(luò)防火墻。


主機(jī)防火墻針對(duì)于單個(gè)主機(jī)進(jìn)行防護(hù)。


網(wǎng)絡(luò)防火墻:往往處于網(wǎng)絡(luò)入口或邊緣,針對(duì)于網(wǎng)絡(luò)入口進(jìn)行防護(hù),服務(wù)于防火墻背后的本地局域網(wǎng)。
?????????????????????????? 網(wǎng)絡(luò)防火和主機(jī)防火墻并不中突,可以理解為,網(wǎng)絡(luò)防火墻主外(集體),主機(jī)防火墻主內(nèi)(個(gè)人)。
????????????????????????? 從物理上講,防火墻可以分為硬件防火墻和軟件防火墻。


硬件防火墻:在硬件級(jí)別實(shí)現(xiàn)部分防火墻功能,另一部分功能基于軟件實(shí)現(xiàn),性能高,成本高。如:思科ASA 華為防火墻 ?天融信防火墻 等。
軟件防火墻:應(yīng)用軟件處理邏輯運(yùn)行于通用硬件平臺(tái)之上的防火墻,性能低,成本低。如:iptables firewall(centos7獨(dú)有的)等。


-------------iptables相關(guān)概念------------------


iptables其實(shí)不是真正的防火墻,我們可以把它理解成一個(gè)客戶端代理,用戶通過(guò) iptables這個(gè)代理,將用戶的安全設(shè)定執(zhí)行到對(duì)應(yīng)的安全框架中,這個(gè)安全框架”才是直正的防火墻,這個(gè)框架的名字叫 netfilter。


netfilter才是防火墻真正的安全框架( framework), netfilter位于內(nèi)核空間。




iptables其實(shí)是個(gè)命令行工具,位于用戶空間,我們用這個(gè)工具操作真正的框架。




netfilter/ iptables(下文中簡(jiǎn)稱為 iptables)組成 Linux平臺(tái)下的包過(guò)濾防火墻,與大多數(shù)的 Linux軟件一樣,這個(gè)包過(guò)濾防火墻是兔費(fèi)的,它可以代替昂貴的商業(yè)防火墻解決方案,完成封包過(guò)濾、封包重定向和網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)等功能。




Netfilter是 Linux操作系統(tǒng)核心層內(nèi)部的—一個(gè)數(shù)據(jù)包處理模塊,它具有如下功能:


網(wǎng)絡(luò)地址轉(zhuǎn)換( Network Address Translate)


數(shù)據(jù)包內(nèi)容修改以及數(shù)據(jù)包過(guò)濾的防火墻功能。所以說(shuō),雖然我們使用 service iptables start啟動(dòng) iptables"服務(wù)",但是其實(shí)準(zhǔn)確的來(lái)說(shuō), iptables并沒(méi)有一個(gè)守護(hù)進(jìn)程,所以并不能算是真正意義上的服務(wù),而應(yīng)該算是內(nèi)核提供的功能。



----------------iptables基礎(chǔ)工作原理----------------

???????? 我們知道 iptables是按照規(guī)則來(lái)辦事的,我們就來(lái)說(shuō)說(shuō)規(guī)則( rules),規(guī)則其實(shí)就是網(wǎng)絡(luò)管理員預(yù)定義的條件,規(guī)則一般的定義為"如果數(shù)據(jù)包頭符合這樣的條件,就這樣處理
這個(gè)數(shù)據(jù)包”。規(guī)則存儲(chǔ)在內(nèi)核空間的信息包過(guò)濾表中,這些規(guī)則分別指定了源地址、目的地址、傳輸協(xié)議(如TCP、UDP、|CMP)和服務(wù)類型(如HTP、FP和SMTP)等。
數(shù)據(jù)包與規(guī)則匹配時(shí), iptables就根據(jù)規(guī)則所定義的方法來(lái)處理這些數(shù)據(jù)包,如放行( accept)、拒絕( reject))和丟棄(drop)等。配置防火墻的主要工作就是添加、修改
和刪除這些規(guī)則。


這樣說(shuō)可能并不容易理解,我們來(lái)?yè)Q個(gè)容易理解的角度,從頭說(shuō)起
????????? 當(dāng)客戶端訪問(wèn)服務(wù)器的web服務(wù)時(shí),客戶端發(fā)送報(bào)文到網(wǎng)卡,而tcp/ip協(xié)議棧是屬于內(nèi)核的一部分,所以,客戶端的信息會(huì)通過(guò)內(nèi)核的TCP協(xié)議傳輸?shù)接脩艨臻g中的web服務(wù)
中,而此時(shí),客戶端報(bào)文的目標(biāo)終點(diǎn)為web服務(wù)所監(jiān)聽(tīng)的套接字(P:Por)上,當(dāng)web服務(wù)需要響應(yīng)客戶端請(qǐng)求時(shí),web服務(wù)發(fā)出的響應(yīng)報(bào)文的目標(biāo)終點(diǎn)則為客戶端,這個(gè)時(shí)
候,web服務(wù)所監(jiān)聽(tīng)的P與端囗反而變成了原點(diǎn),我們說(shuō)過(guò), netfilter 才是真正的防火墻,它是內(nèi)核的部分,所以,如果我們想要防火墻能夠達(dá)到"防火"的目的,則需要在內(nèi)
核中設(shè)置關(guān)卡,所有進(jìn)出的報(bào)文都要通過(guò)這些關(guān)卡,經(jīng)過(guò)檢查后,符合放行條件的才能放行,符合阻攔條件的則需要被阻止,于是,就出現(xiàn)了input關(guān)卡和 output關(guān)卡,而這些
關(guān)卡在 iptables中不被稱為關(guān)卡"而被稱為鏈"。


其實(shí)我們上面描述的場(chǎng)景并不完善,因?yàn)榭蛻舳税l(fā)來(lái)的報(bào)文訪問(wèn)的目標(biāo)地址可能并不是本機(jī),而是其他服務(wù)器,當(dāng)本機(jī)的內(nèi)核支持 IP FORWARD時(shí),我們可以將報(bào)文轉(zhuǎn)發(fā)給其
他服務(wù)器,所以,這個(gè)時(shí)候,我們就會(huì)提到 iptables中的其他”關(guān)卡,也就是其他鏈”,他們就是"路由前”、“轉(zhuǎn)發(fā)”、"路由后”,他們的英文名是
PREROUTING、 FORWARD、 POSTROUTING
也就是說(shuō),當(dāng)我們啟用了防火墻功能時(shí),報(bào)文需要經(jīng)過(guò)如下關(guān)卡,也就是說(shuō),根據(jù)實(shí)際情況的不同,報(bào)文經(jīng)過(guò)鏈可能不同。如果報(bào)文需要轉(zhuǎn)發(fā),那么報(bào)文則不會(huì)經(jīng)過(guò) Input鏈
發(fā)往用戶空間,而是直接在內(nèi)核空間中經(jīng)過(guò) forward鏈和 postrouting鏈轉(zhuǎn)發(fā)出去的。



所以,根據(jù)上圖,我們能夠想象出某些常用場(chǎng)景中,報(bào)文的流向
到本機(jī)某進(jìn)程的報(bào)文: PREROUTING->|NPUT
由本機(jī)轉(zhuǎn)發(fā)的報(bào)文: PREROUTING-> FORWARD-> POSTROUTING
由本機(jī)的某進(jìn)程發(fā)出報(bào)文(通常為響應(yīng)報(bào)文): OUTPUT-> POSTROUTING



1. 規(guī)則表

表的概念
我們?cè)傧胂肓硗庖粋€(gè)問(wèn)題,我們對(duì)每個(gè)"鏈”上都放置了一串規(guī)則,但是這些規(guī)則有些很相似,比如,A類規(guī)則都是對(duì)ip或者端囗的過(guò)濾,B類規(guī)則是修改報(bào)文,那么這個(gè)時(shí)候,我
們是不是能把實(shí)現(xiàn)相同功能的規(guī)則放在一起呢,必須能的
我們把具有相同功能的規(guī)則的集合叫做表”,所以說(shuō),不同功能的規(guī)則,我們可以放置在不同的表中進(jìn)行管理,而iptables已經(jīng)為我們定義了4種表,每種表對(duì)應(yīng)了不同的功
能,而我們定義的規(guī)則也都逃脫不了這4種功能的范圍,所以,學(xué)習(xí) iptables之前,我們必須先搞明白每種表的作用。


iptables為我們提供了如下規(guī)則的分類,或者說(shuō), iptables為我們提供了如下"表”:
filter表:負(fù)責(zé)過(guò)濾功能,防火墻;內(nèi)核模塊: iptables_filter
nat 表: network address translation,網(wǎng)絡(luò)地址轉(zhuǎn)換功能;內(nèi)核模塊: iptables_nat
mangle表:拆解報(bào)文,做出修改,并重新封裝的功能; iptables_mangle
raw表:關(guān)閉nat表上啟用的連接追蹤機(jī)制; iptables_raw


也就是說(shuō),我們自定義的所有規(guī)則,都是這四種分類中的規(guī)則,或者說(shuō),所有規(guī)則都存在于這4張表中。


  • raw:高級(jí)功能,如:網(wǎng)址過(guò)濾。

  • mangle:數(shù)據(jù)包修改(QOS),用于實(shí)現(xiàn)服務(wù)質(zhì)量。

  • nat:地址轉(zhuǎn)換,用于網(wǎng)關(guān)路由器。Nat地址轉(zhuǎn)換

  • filter:包過(guò)濾,用于防火墻規(guī)則。過(guò)濾數(shù)據(jù)包,通還是不通

  • 數(shù)據(jù)包經(jīng)過(guò)防火墻的處理順序



    2. 規(guī)則鏈 處理時(shí)機(jī)

    鏈的概念
    現(xiàn)在,我們想象一下,這些”關(guān)卡在 tables中為什么被稱作"鏈呢?我們知道,防火墻的作用就在于對(duì)經(jīng)過(guò)的報(bào)文匹配"規(guī)則”,然后執(zhí)行對(duì)應(yīng)的”動(dòng)作“所以,當(dāng)報(bào)文經(jīng)過(guò)這些
    關(guān)卡的時(shí)候,則必須匹配這個(gè)關(guān)卡上的規(guī)則,但是,這個(gè)關(guān)卡上可能不止有一條規(guī)則,而是有很多條規(guī)則,當(dāng)我們把這些規(guī)則串到一個(gè)鏈條上的時(shí)候,就形成了“鏈所以,我們
    把每一個(gè)關(guān)卡"想象成如下圖中的模樣,這樣來(lái)說(shuō),把他們稱為鏈更為合適,每個(gè)經(jīng)過(guò)這個(gè)關(guān)卡的報(bào)文,都要將這條鏈”上的所有規(guī)則匹配遍,如果有符合條件的規(guī)則,
    則執(zhí)行規(guī)則對(duì)應(yīng)的動(dòng)作。


    INPUT:處理輸入數(shù)據(jù)包。入站數(shù)據(jù)包處理

    OUTPUT:處理輸出數(shù)據(jù)包。出站數(shù)據(jù)包處理

    PORWARD:處理轉(zhuǎn)發(fā)數(shù)據(jù)包。

    PREROUTING:用于目標(biāo)地址轉(zhuǎn)換(DNAT)進(jìn)站進(jìn)行的過(guò)濾。

    POSTOUTING:用于源地址轉(zhuǎn)換(SNAT)出站進(jìn)行的過(guò)濾。



    3.表鏈關(guān)系

    首先
    我們需要注意的是,某些“鏈中注定不會(huì)包含某類規(guī)則°,就像某些"關(guān)卡"天生就不具備某些功能一樣,比如,A"關(guān)卡"只負(fù)責(zé)打擊陸地?cái)橙?#xff0c;沒(méi)有防空能力,B"關(guān)卡“只負(fù)
    責(zé)打擊空中敵人,沒(méi)有防御步兵的能力,C關(guān)卡"可能比較NB,既能防空,也能防御陸地?cái)橙?#xff0c;D"關(guān)卡·最屌,海陸空都能防。
    那讓我們來(lái)看看,每個(gè)關(guān)卡都有哪些能力,或者說(shuō),讓我們看看每個(gè)"鏈"上的規(guī)則都存在于哪些表"中。
    我們還是以圖為例,先看看 prerouting "鏈"上的規(guī)則都存在于哪些表中。
    注意:下圖只用于說(shuō)明 prerouting 鏈上的規(guī)則存在于哪些表中,并沒(méi)有描述表的順序。


    這幅圖是什么意思呢?它的意思是說(shuō), prerouting鏈只擁有nat表、raw表和 mangle表所對(duì)應(yīng)的功能,所以, prerouting中的規(guī)則只能存放于nat表、raw表和 mangle表中
    那么,根據(jù)上述思路,我們來(lái)總結(jié)一下,每個(gè)關(guān)卡”都擁有什么功能,
    或者說(shuō),每個(gè)”鏈中的規(guī)則都存在于哪些”表”中。


    PREROUTING的規(guī)則可以存在于:raw表, mangle表,nat表
    NPUT的規(guī)則可以存在于: mangle表, filter表,( centos7中還有nat表, centos6中沒(méi)有)。
    FORWARD的規(guī)則可以存在于: mangle表, filter表
    OUTPUT的規(guī)則可以存在于:raw表 mangle表,nat表,filter表
    POSTROUTING的規(guī)則可以存在于: mangle表,nat表。


    但是,我們?cè)趯?shí)際的使用過(guò)程中,往往是通過(guò)”表作為操作入口,對(duì)規(guī)則進(jìn)行定義的,之所以按照上述過(guò)程介紹 iptables,是因?yàn)閺年P(guān)卡的角度更容易從入門的角度理解,但
    是為了以便在實(shí)際使用的時(shí)候,更加順暢的理解它們,此處我們還要將各"表"與"鏈"的關(guān)系羅列出來(lái),
    表(功能)<->鏈(鉤子)
    raw表中的規(guī)則可以被哪些鏈?zhǔn)褂?#xff1a; PREROUTING, OUTPUT
    mangle表中的規(guī)則可以被哪些鏈?zhǔn)褂?#xff1a; PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING
    nat表中的規(guī)則可以被哪些鏈?zhǔn)褂?#xff1a; PREROUTING, OUTPUT, POSTROUTING( centos7中還有NPUT, centos6中沒(méi)有)
    filter表中的規(guī)則可以被哪些鏈?zhǔn)褂?#xff1a; INPUT, FORWARD, OUTPUT


    其實(shí)我們還需要注意一點(diǎn),因?yàn)閿?shù)據(jù)包經(jīng)過(guò)一個(gè)鏈的時(shí)候,會(huì)將當(dāng)前鏈的所有規(guī)則都匹配遍,但是匹配時(shí)總歸要有順序,我們應(yīng)該一條一條的去匹配,而且我們說(shuō)過(guò),相同
    功能類型的規(guī)則會(huì)匯聚在一張”表中,那么,哪些“表"中的規(guī)則會(huì)放在鏈”的最前面執(zhí)行呢,這時(shí)候就需要有一個(gè)優(yōu)先級(jí)的問(wèn)題,我們還拿 prerouting"鏈"做圖示


    prerouting鏈中的規(guī)則存放于三張表中,而這三張表中的規(guī)則執(zhí)行的優(yōu)先級(jí)如下
    raw --> mangle—> nat


    但是我們知道, iptables為我們定義了4張長(zhǎng)"表"當(dāng)他們處于同一條"鏈"時(shí),執(zhí)行的優(yōu)先級(jí)如下
    優(yōu)先級(jí)次序(由高而低):
    raw -- mangle --> nat—> filter
    但是我們前面說(shuō)過(guò),某些鏈天生就不能使用某些表中的規(guī)則,所以,4張長(zhǎng)表中的規(guī)則處于同一條鏈的目前只有 output鏈,它就是傳說(shuō)中海陸空都能防守的關(guān)卡。


    為了更方便的管理,我們還可以在某個(gè)表里面創(chuàng)建自定義鏈,將針對(duì)某個(gè)應(yīng)用程序所設(shè)置的規(guī)則放置在這個(gè)自定義鏈中,但是自定義鏈接不能直接使用,只能被某個(gè)默認(rèn)的鏈當(dāng)
    做動(dòng)作去調(diào)用才能起作用,我們可以這樣想象,自定義鏈就是一段比較"短"的鏈子,這條短”鏈子上的規(guī)則都是針對(duì)某個(gè)應(yīng)用程序制定的,但是這條短的鏈子并不能直接使用
    而是需要焊接在 Iptables默認(rèn)定義鏈子上,才能被 iptables使用,這就是為什么默認(rèn)定義的鏈需要把自定義鏈當(dāng)做動(dòng)作去引用的原因。這是后話,后面再聊,在實(shí)際使用
    時(shí)我們即可更加的明白。


    ------------------數(shù)據(jù)經(jīng)過(guò)防火墻的流程-----------------

    綜上所述,我們可以將數(shù)據(jù)包通過(guò)防火墻的流程總結(jié)為下圖:



    我們?cè)趯?Iptables規(guī)則的時(shí)候,可以時(shí)刻牢記這張路由次序圖,靈活配置規(guī)則。


    我們將經(jīng)常用到的對(duì)應(yīng)關(guān)系重新寫在此處,方便對(duì)應(yīng)圖例查看。


    鏈的規(guī)則存放于哪些表中(從鏈到表的對(duì)應(yīng)關(guān)系)
    · REROUTING的規(guī)則可以存在于:raw表, mangle表,nat表。
    ·NPUT的規(guī)則可以存在于: mangle表, filter表,( centos7中還有nat表, centos6中沒(méi)有)。
    ·FORWARD的規(guī)則可以存在于: mangle表, filter表。
    ·OUTPUT的規(guī)則可以存在于:raw表 mangle表,nat表, filter表。
    ·POSTROUTING的規(guī)則可以存在于: mangle表,nat表。


    表中的規(guī)則可以被哪些鏈?zhǔn)褂?從表到鏈的對(duì)應(yīng)關(guān)系):
    ·raw表中的規(guī)則可以被哪些鏈?zhǔn)褂?#xff1a; PREROUTING, OUTPUT
    ·mangle表中的規(guī)則可以被哪些鏈?zhǔn)褂?#xff1a; PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING
    ·nat表中的規(guī)則可以被哪些鏈?zhǔn)褂?#xff1a; PREROUTING, OUTPUT, POSTROUTING( centos7中還有|NPUT, centos6中沒(méi)有
    ·filter表中的規(guī)則可以被哪些鏈?zhǔn)褂?#xff1a; INPUT, FORWARD, OUTPUT


    下圖中nat表在 centos7中的情況就不再標(biāo)明。



    --------------規(guī)則的概念-----------------


    規(guī)則:根據(jù)指定的匹配條件來(lái)嘗試匹配每個(gè)流經(jīng)此處的報(bào)文,一旦匹配成功,則由規(guī)則后面指定的處理動(dòng)作進(jìn)行處理
    那么我們來(lái)通俗的解釋一下什么是 Iptables的規(guī)則,之前打過(guò)一個(gè)比方,每條鏈都是一個(gè)"關(guān)卡,每個(gè)通過(guò)這個(gè)"關(guān)卡”的報(bào)文都要匹配這個(gè)關(guān)卡上的規(guī)則,如果配,則對(duì)報(bào)
    文進(jìn)行對(duì)應(yīng)的處理,比如說(shuō),你我二人此刻就好像兩個(gè)報(bào)文”,你我二人此刻都要入關(guān),可是城主有命,只有器宇軒昂的人才能入關(guān),不符合此條件的人不能入關(guān),于是守關(guān)將
    土按照城主制定的規(guī)則”,開(kāi)始打量你我二人,最終,你順利入關(guān)了,而我已被拒之門外,因?yàn)槟惴掀饔钴幇旱臉?biāo)準(zhǔn),所以把你放行"了,而我不符合標(biāo)誰(shuí),所以沒(méi)有被放
    行,其實(shí),“宇軒昂就是種匹配條件”,“放行就是種動(dòng)作,"匹配條件”與”動(dòng)作“組成了規(guī)則


    了解了規(guī)則的概念,那我們來(lái)聊聊規(guī)則的組成部分此處只是大概的將規(guī)則的結(jié)構(gòu)列出,后面的文章中會(huì)單獨(dú)對(duì)規(guī)則時(shí)進(jìn)行總結(jié)。
    規(guī)則由匹配條件和處理動(dòng)作組成

    匹配 條件
    匹配條件分為基本匹配條件與擴(kuò)展匹配條件


    基本匹配條件
    源地址 Source IP,目標(biāo)地址 Destination|P
    上述內(nèi)容都可以作為基本匹配條件


    擴(kuò)展匹配條件
    除了上述的條件可以用于匹配,還有很多其他的條件可以用于匹配,這些條件泛稱為擴(kuò)展條件,這些擴(kuò)展條件其實(shí)也是 netfilter中的部分,只是以模塊的形式存在,如果想要
    使用這些條件,則需要依賴對(duì)應(yīng)的擴(kuò)展模塊
    源端口 Source port,目標(biāo)端口 Destination Port
    上述內(nèi)容都可以作為擴(kuò)展匹配條件



    • ACCEPPT:接受數(shù)據(jù)包。

    • DROP:直接丟棄數(shù)據(jù)包。不給任何回應(yīng)信息,這時(shí)候客戶端會(huì)感覺(jué)自己的請(qǐng)求沉入大海,等過(guò)了超時(shí)時(shí)間才會(huì)有反應(yīng)。

    • REDIRECT:重定向、映射、透明代理。

    • SNAT:源地址轉(zhuǎn)換。

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

    • MASQUERADE:IP偽裝(NAT),用于ADSL。是SNAT的一種特殊形式,適用于動(dòng)態(tài)的,臨時(shí)會(huì)變的IP上。

    • LOG:日志記錄。在/var/log/messages文件中記錄日志信息。除了記錄對(duì)數(shù)據(jù)包不做任何動(dòng)作。



    ------------------------基礎(chǔ)命令-------------------------


    -t<表>: ? 指定要操縱的表

    -A:? 向規(guī)則鏈末尾中添加,追加條目;(append)

    -D:? 從規(guī)則鏈中刪除條目;(delete)

    -I:?? 向規(guī)則鏈的開(kāi)頭(或者指定序號(hào))中插入條目,未指定規(guī)則序號(hào)時(shí),默認(rèn)作為第一規(guī)則;(insert)

    -R:? 替換規(guī)則鏈中的條目;

    -L:? 顯示規(guī)則鏈中已有的條目;(list)

    -F:? 清除規(guī)則鏈中已有的條目,若位置定規(guī)則序號(hào),則默認(rèn)清空所有;(flush)

    -v: ? ?查看規(guī)則列表時(shí)顯示詳細(xì)信息(verbose)

    -Z:? 清空規(guī)則鏈中的數(shù)據(jù)包計(jì)算器和字節(jié)計(jì)數(shù)器;

    -N:? 創(chuàng)建新的用戶自定義規(guī)則鏈;

    -P:? 定義規(guī)則鏈中的默認(rèn)目標(biāo);(police)

    -h:? 顯示幫助信息;

    -p:? 指定要匹配的數(shù)據(jù)包協(xié)議類型;

    -s:?? 指定要匹配的數(shù)據(jù)包源ip地址;

    -j<目標(biāo)>:指定要跳轉(zhuǎn)的目標(biāo);

    -i<網(wǎng)絡(luò)接口>:指定數(shù)據(jù)包進(jìn)入本機(jī)的網(wǎng)絡(luò)接口;

    -o<網(wǎng)絡(luò)接口>:指定數(shù)據(jù)包要離開(kāi)本機(jī)所使用的網(wǎng)絡(luò)接口。


    iptables命令選項(xiàng)輸入順序:

    iptables? -t 表名 <-A/I/D/R>? 規(guī)則鏈名? [規(guī)則號(hào)]? <-i/o 網(wǎng)卡名>? -p? 協(xié)議名? <-s? 源IP/源子網(wǎng)>? -- sport? 源端口? <-d 目標(biāo)IP/目標(biāo)子網(wǎng)>? -- dport? 目標(biāo)端口? -j? 動(dòng)作


    PS:

    LUNIX7 上面獨(dú)有的firewall 區(qū)域劃分 ?public 默認(rèn)區(qū)域信任區(qū)域 非信任區(qū)域

    systemctl start firewalld.service LINUX7上面獨(dú)有的防火墻firewall


    -------------------NAT表基礎(chǔ)拓?fù)鋵?shí)驗(yàn)---------------------

    NAT

    NAT 地址轉(zhuǎn)換

    SNAT source 源地址 轉(zhuǎn)換 ?作用場(chǎng)景:內(nèi)部網(wǎng)絡(luò)訪問(wèn)廣域網(wǎng)

    DNAT destnation 目標(biāo)地址轉(zhuǎn)換 ?作用場(chǎng)景:廣域網(wǎng)主機(jī)訪問(wèn)內(nèi)部網(wǎng)絡(luò)服務(wù)器




    1.拓?fù)鋵?shí)驗(yàn)環(huán)境

    搭建以上iptables規(guī)則。


    一共開(kāi)三個(gè)虛擬機(jī) 全部網(wǎng)絡(luò)適配器設(shè)置為僅主機(jī)模式

    web1:一臺(tái)centos6.5? 作為內(nèi)部網(wǎng)絡(luò)內(nèi)的客戶端,設(shè)置ip地址為192.168.100.101

    web2:一臺(tái)centos7 作為外部網(wǎng)絡(luò),設(shè)置ip地址12.0.0.12

    一臺(tái)centos6.5 作為iptables防火墻(要有雙網(wǎng)卡)一個(gè)網(wǎng)卡設(shè)置為內(nèi)部網(wǎng)的網(wǎng)卡192.168.100.1,一個(gè)設(shè)置為外部網(wǎng)的網(wǎng)卡12.0.0.1,service network restart 重啟下網(wǎng)卡



    2.實(shí)驗(yàn)思路

    在iptables防火墻上配置

    · 清空防火墻的規(guī)則filter 默認(rèn)規(guī)則

    · 清空防火墻 nat規(guī)則

    · vim /etc/sysctl.conf——net.ipv4.ip_forward = 1???????????? #永久開(kāi)啟路由功能

    · sysctl –p??????????????????? #重新加載配置文件

    · 開(kāi)始進(jìn)行iptables的規(guī)則設(shè)置


    3.操作步驟

    1)iptables防火墻 :修改配置文件,開(kāi)啟路由功能


    清除iptables防火墻中原有的規(guī)則(因?yàn)槭菍?shí)驗(yàn)所以刪除所有iptables規(guī)則,現(xiàn)實(shí)中按實(shí)際情況操作)


    2)SNAT source : 源地址轉(zhuǎn)換

    POSTOUTING:用于源地址轉(zhuǎn)換(SNAT)出站進(jìn)行的過(guò)濾。

    命令是:

    [ root@yangruoheng? ~]#? iptables –t nat –A POSTROUTING –s 192.168.100.0/24 –o eth0 –j SNAT --to-source 12.0.0.1

    #使192.168.100.0網(wǎng)段的內(nèi)網(wǎng)web服務(wù)數(shù)據(jù)包出站轉(zhuǎn)換成12.0.0.1的IP地址


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

    PREROUTING:用于目標(biāo)地址轉(zhuǎn)換(DNAT)進(jìn)站進(jìn)行的過(guò)濾。

    命令是:

    [ root@yangruoheng? ~]# iptables –t nat –A PREROUTING –d 12.0.0.1 –p tcp --dport 80 –i eth1? –j DNAT -- to-destination 192.168.100.101

    #使通過(guò)12.0.0.1網(wǎng)卡的數(shù)據(jù)包發(fā)送的ip地址指向?yàn)?92.168.100.101的內(nèi)網(wǎng)web服務(wù)

    轉(zhuǎn)載于:https://blog.51cto.com/13767783/2161358

    《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

    總結(jié)

    以上是生活随笔為你收集整理的图文并茂详解iptables 防火墙工作原理及知识点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。