RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux防火墻配置(iptables和firewalld)

jf_uPRfTJDa ? 來源:5G通信 ? 2023-03-31 10:09 ? 次閱讀

防火墻基本概念

防火墻就是根據(jù)系統(tǒng)管理員設(shè)定的規(guī)則來控制數(shù)據(jù)包的進(jìn)出,主要是保護(hù)內(nèi)網(wǎng)的安全,目前 Linux 系統(tǒng)的防火墻類型主要有兩種:分別是 [iptables] 和 firewalld

Iptables-靜態(tài)防火墻

早期的 Linux 系統(tǒng)中默認(rèn)使用的是 iptables 防火墻,配置文件在 / etc/sysconfig/iptables

主要工作在[網(wǎng)絡(luò)層]

使用鏈?zhǔn)揭?guī)則,只可以過濾互聯(lián)網(wǎng)的數(shù)據(jù)包,無法過濾從內(nèi)網(wǎng)到內(nèi)網(wǎng)的數(shù)據(jù)包 Iptables 只可以通過命令行進(jìn)行配置 Iptables 默認(rèn)是允許所有,需要通過拒絕去做限制 Iptables 在修改了規(guī)則之后必須得全部刷新才可以生效,還會(huì)丟失連接(無法守護(hù)進(jìn)程)

Firewalld-動(dòng)態(tài)防火墻

取代了之前的 iptables 防火墻,配置文件在 / usr/lib/firewalld 和 / etc/fiewalld 中,主要工作在網(wǎng)絡(luò)層,新增區(qū)域概念,不僅可以過濾互聯(lián)網(wǎng)的數(shù)據(jù)包,也可以過濾內(nèi)網(wǎng)的數(shù)據(jù)包,Firewalld 不僅可以通過命令行進(jìn)行配置,也可以通過圖形化界面配置,Firewalld 默認(rèn)是拒絕所有,需要通過允許去放行,Firewalld 可以動(dòng)態(tài)修改單條規(guī)則,動(dòng)態(tài)管理規(guī)則集(允許更新規(guī)則而不破環(huán)現(xiàn)有會(huì)話和連接,可以守護(hù)進(jìn)程)

注意事項(xiàng)

iptables 和 firewaldl 都只是 linux 防火墻的管理程序,真正的防火墻執(zhí)行者是位于內(nèi)核的 netfilter,只不過 firwalld 和 iptables 的結(jié)果以及使用方法不一樣 在配置防火墻時(shí),不建議兩種配置方法結(jié)合使用(建議只使用其中的一種)

Iptables 講解

Iptables 配置防火墻依靠四個(gè)部分實(shí)現(xiàn):表、規(guī)則鏈、規(guī)則(匹配條件)、控制類型組成

Iptables 表

處理優(yōu)先級(jí)由高到低,表與表之間都是獨(dú)立的

raw表

是否對(duì)某個(gè)數(shù)據(jù)包進(jìn)行狀態(tài)追蹤(包含 OUTPUT、PREAUTING 兩個(gè)規(guī)則鏈)

mangle表

修改數(shù)據(jù)包內(nèi)容;可以做流量整形、對(duì)數(shù)據(jù)包設(shè)置標(biāo)記(包含所有規(guī)則鏈)

nat表

負(fù)責(zé)地址轉(zhuǎn)換功能;修改數(shù)據(jù)包中的源目 IP 地址或端口(包含 IN、OU、PR、PO 三個(gè)規(guī)則鏈)

filter表

負(fù)責(zé)過濾數(shù)據(jù)包;對(duì)數(shù)據(jù)包時(shí)允許放行還是不允許放行(包含 IN、OU、FO 三個(gè)規(guī)則鏈) Iptables 規(guī)則鏈

什么是規(guī)則鏈

很多個(gè)規(guī)則組成一個(gè)規(guī)則鏈,數(shù)據(jù)包從上往下做匹配,匹配成功就結(jié)束匹配,并執(zhí)行相應(yīng)的控制類型(建議需要將精準(zhǔn)的策略放在上面)

規(guī)則鏈類型

INPUT處理入站的數(shù)據(jù)包(處理目標(biāo)是本機(jī)的數(shù)據(jù)包) OUTPUT處理出站的數(shù)據(jù)包(處理源是本機(jī)的數(shù)據(jù)包,一般不在此鏈上做規(guī)則) PREROUTING在進(jìn)行路由選擇前處理數(shù)據(jù)包(一般用來做 NAT Server) POSTROUTING在進(jìn)行路由選擇后處理數(shù)據(jù)包(一般用來做源 NAT) FORWARD處理轉(zhuǎn)發(fā)的數(shù)據(jù)包(處理經(jīng)過本機(jī)的數(shù)據(jù)包)

Iptables 控制類型

ACCEPT 允許數(shù)據(jù)包通過 DROP 丟棄數(shù)據(jù)包(不給對(duì)方回應(yīng),一般工作時(shí)用這個(gè)) REJCET 拒絕數(shù)據(jù)包通過(會(huì)給對(duì)方回應(yīng),對(duì)方知道自己被拒絕) SNAT 修改數(shù)據(jù)包的源地址 DNAT 修改數(shù)據(jù)包的目的地址 MASQUERADE 偽裝程一個(gè)非固定的公網(wǎng) IP 地址 LOG 在 / var/log/messages 文件中記錄日志信息,然后將數(shù)據(jù)包傳遞給下一條規(guī)則

數(shù)據(jù)包到達(dá)防火墻根據(jù)下圖進(jìn)行匹配

iptables 進(jìn)行數(shù)據(jù)處理關(guān)心的是四表五鏈以及流量的進(jìn)出

ed9414c6-ceee-11ed-bfe3-dac502259ad0.png

Iptables 命令配置

配置 iptables 防火墻時(shí)需要將防火墻服務(wù)開啟

systemctl start firewalld 開啟防火墻 systemctl status firewalld 查看防火墻狀態(tài)

edbda05c-ceee-11ed-bfe3-dac502259ad0.png

Iptables命令查看防火墻

iptables -nL -t nat 查看 nat 表的規(guī)則鏈 -n 使用數(shù)字形式顯示輸出結(jié)果(如:通過 IP 地址) -L 查看當(dāng)前防火墻有哪些策略 -t 指定查看 iptables 的哪個(gè)表(默認(rèn)是 filter 表)

eddba2dc-ceee-11ed-bfe3-dac502259ad0.png

Iptables命令配置防火墻

>iptables-PINPUTDROP將INPUT規(guī)則鏈的默認(rèn)流量更改為拒絕
>-P設(shè)置/修改默認(rèn)策略
>iptables-tfilter-IINPUT-s192.168.10.0/24-jACCEPT在filter表下的INPUT規(guī)則鏈中配置規(guī)則
>-Inum插入規(guī)則(大寫i,默認(rèn)在鏈的開頭加入規(guī)則,可以指定序號(hào))
>-i從這塊網(wǎng)卡流入的數(shù)據(jù)
>-o從這塊網(wǎng)卡流出的數(shù)據(jù)
>-s 源地址(加!表示取反)
>-d目的地址
>-j限制動(dòng)作
>iptables-AINPUT-ptcp--dport1000:1024-jREJECT拒絕tcp端口號(hào)為1000~1024的數(shù)據(jù)包
>-A在鏈的末尾加入規(guī)則
>-p指定協(xié)議類型
>--sport源端口
>--dport目的端口
>iptables-DINPUT1刪除INPUT規(guī)則鏈的第一條規(guī)則
>-Dnum刪除規(guī)則鏈
>-R修改規(guī)則
>iptables-F清空已有的策略
>iptables-save來保存防火墻策略

注意事項(xiàng)

當(dāng)創(chuàng)建的規(guī)則內(nèi)容與已有規(guī)則一致時(shí),不會(huì)覆蓋原先的規(guī)則,會(huì)直接加入到現(xiàn)有規(guī)則鏈中(即此時(shí)此規(guī)則鏈下有兩條一摸一樣的規(guī)則,只是順序不同) 以上關(guān)于防火墻的配置是 runtime 模式,即配置成功后立即生效,但是重啟后會(huì)失效(需要將配置保存,重啟后才不會(huì)失效)

firewalld 講解

frewalld 是服務(wù)名稱,firewall-cmd 和 firewall-config 是配置工具名稱

firewall-cmd 基于命令行配置

firewall-config 基于圖形化界面配置(這兩個(gè)配置方式實(shí)時(shí)同步)

Firewalld 區(qū)域概念

默認(rèn)所有網(wǎng)卡都是 public 區(qū)域,可以根據(jù)需要將網(wǎng)卡設(shè)置為不同的區(qū)域

>Trust信任區(qū)域
>允許所有流量(所有的網(wǎng)絡(luò)連接都可以接受)
>Public公共區(qū)域
>僅接受ssh、dhcpv6-client服務(wù)連接(默認(rèn)區(qū)域)
>External外部區(qū)域
>僅接收ssh服務(wù)連接(默認(rèn)通過此區(qū)域轉(zhuǎn)發(fā)的IPv4流量將會(huì)進(jìn)行地址偽裝)
>Home家庭區(qū)域
>僅接受ssh、msdns、ipp-client、samba-client、dhcpv6-client服務(wù)網(wǎng)絡(luò)連接
>Internal內(nèi)部區(qū)域
>同home區(qū)域
>Work工作區(qū)域
>僅接受ssh、ipp-client、dhcpv6-client服務(wù)連接
>Dmz隔離區(qū)域(非軍事區(qū)域)
>僅接收ssh服務(wù)連接
>Block限制區(qū)域
>拒絕所有傳入流量(有回應(yīng))
>Drop丟棄區(qū)域
>丟棄所有傳入流量(無回應(yīng))

數(shù)據(jù)包到達(dá)防火墻匹配規(guī)則

firewall 進(jìn)行數(shù)據(jù)處理只關(guān)心區(qū)域

1.根據(jù)數(shù)據(jù)包的源 IP 地址匹配,根據(jù)源地址綁定區(qū)域的區(qū)域規(guī)則進(jìn)行匹配(如果沒有綁定區(qū)域則匹配默認(rèn)區(qū)域的規(guī)則)

2.根據(jù)傳入的網(wǎng)絡(luò)接口匹配,進(jìn)入此接口綁定區(qū)域的區(qū)域規(guī)則進(jìn)行匹配(如果沒有綁定區(qū)域則匹配默認(rèn)區(qū)域的規(guī)則)綁定源地址的區(qū)域規(guī)則>網(wǎng)卡綁定的區(qū)域規(guī)則>默認(rèn)區(qū)域的規(guī)則

Firewalld 兩種配置方法

臨時(shí)配置(runtime 當(dāng)前生效表)

立即生效,重啟后失效,不中斷現(xiàn)有連接,無法修改服務(wù)配置永久配置(permanent 永久生效表)

不立即生效,重啟后生效,或者立即同步后生效 會(huì)終端現(xiàn)有連接 可以修改服務(wù)配置

firewall-cmd 命令行基礎(chǔ)配置

如何實(shí)現(xiàn)永久配置

--permanent表示此配置加入到永久生效(默認(rèn)臨時(shí)生效) 或者在配置結(jié)束后執(zhí)行此命令 firewall-cmd --runtime-to-permanent 將臨時(shí)更改為永久 永久配置完成后需要立即同步 firewall-cmd --reload立即同步永久配置

查看默認(rèn)區(qū)域并進(jìn)行更改

>firewall-cmd--get-zones查詢可用的區(qū)域
>firewall-cmd--get-default-zone查詢默認(rèn)區(qū)域的名稱
>firewall-cmd--get-active-zone顯示當(dāng)前正在使用的區(qū)域與網(wǎng)卡名稱
>firewall-cmd--set-default-zone=trusted設(shè)置默認(rèn)區(qū)域?yàn)閠rusted區(qū)域

edf3eee6-ceee-11ed-bfe3-dac502259ad0.png將網(wǎng)卡 / 子網(wǎng)與區(qū)域綁定(允許 / 拒絕此子網(wǎng)通過)

>firewall-cmd--zone=drop--add-source=192.168.20.0/24將此子網(wǎng)與drop區(qū)域綁定(拒絕從此子網(wǎng)發(fā)來的流量)
>firewall-cmd--zone=trusted--add-interface=ens160將此網(wǎng)卡與trusted區(qū)域綁定(允許從此網(wǎng)卡發(fā)來的流量)
>--remove-source刪除子網(wǎng)與區(qū)域的綁定
>--change-source更改子網(wǎng)與區(qū)域的綁定
ee076610-ceee-11ed-bfe3-dac502259ad0.png

配置區(qū)域允許 / 拒絕的協(xié)議 / 端口號(hào)

>firewall-cmd--list-all顯示當(dāng)前區(qū)域的端口號(hào)、網(wǎng)卡、服務(wù)等信息
>--list-all-zones顯示所有區(qū)域的
>firewall-cmd--get-services列舉出來當(dāng)前所有被允許的協(xié)議
>firewall-cmd--zone=public--add-servicehttp配置public區(qū)域允許通過http協(xié)議
>--remove-servicessh拒絕通過ssh協(xié)議
>--add-port=123/tcp允許通過tcp的123端口
>--remove-port=123/tcp拒絕通過tcp的123端口
>cat/etc/services保存的協(xié)議類型和端口號(hào)
ee1af838-ceee-11ed-bfe3-dac502259ad0.png

配置協(xié)議端口轉(zhuǎn)換(端口映射)

>firewall-cmd--permanent--zone=public--add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.10.1
>將192.168.10.1主機(jī)的tcp22端口號(hào)轉(zhuǎn)為888端口號(hào)(public區(qū)域接收ssh)
>--remove-forward-port刪除此端口映射

ee2f882a-ceee-11ed-bfe3-dac502259ad0.png其它配置

>--panic-on緊急模式,切斷一切的網(wǎng)絡(luò)連接(特殊情況去使用)
>--panic-off恢復(fù)一切的網(wǎng)絡(luò)連接

配置富規(guī)則 rich(更復(fù)雜、更詳細(xì)的防火墻策略配置)

優(yōu)先級(jí)最高(高于默認(rèn)規(guī)則,兩個(gè)并不沖突) 能夠根據(jù)源目地址、端口號(hào)來限制用戶

>firewall-cmd--zone=public--list-rich-rule顯示public區(qū)域已經(jīng)配置的富規(guī)則
>firewall-cmd--permanent--zone=public--add-rich-rule="rulefamily="ipv4"sourceaddress="192.168.100.1/24"service允許來自192.168.

100.1 的主機(jī)訪問 22 端口

>--add-rich-rule添加一個(gè)富規(guī)則
>--remove-ruch-rule刪除一個(gè)富規(guī)則
>reject拒絕訪問
ee664860-ceee-11ed-bfe3-dac502259ad0.png

firewall-config 圖形化配置

安裝 firewall-config

配置 Yum 源(軟件倉庫)
安裝軟件 dnf install firewall-configee884582-ceee-11ed-bfe3-dac502259ad0.png

系統(tǒng)界面講解

1:選擇運(yùn)行時(shí)(Runtime)或永久(Permanent)模式的配置

2:選擇區(qū)域

3:當(dāng)前正在使用的區(qū)域(黑色加粗)

4:管理當(dāng)前被選中區(qū)域中的服務(wù)

5:管理當(dāng)前被選中區(qū)域中的端口

6:設(shè)置允許被訪問的協(xié)議

7:設(shè)置允許被訪問的端口

8:開啟或關(guān)閉 SNAT(源網(wǎng)絡(luò)地址轉(zhuǎn)換)技術(shù)

9:設(shè)置端口轉(zhuǎn)發(fā)策略

10:控制請(qǐng)求 icmp 服務(wù)的流量

11:被選中區(qū)域的服務(wù),若勾選了相應(yīng)服務(wù)前面的復(fù)選框,則表示允許與之相關(guān)的流量eea4e4bc-ceee-11ed-bfe3-dac502259ad0.png

12:管理防火墻的富規(guī)則

13:網(wǎng)卡信息(網(wǎng)卡與區(qū)域綁定信息)

14:子網(wǎng)信息(子網(wǎng)與區(qū)域綁定信息)eecd3174-ceee-11ed-bfe3-dac502259ad0.png

15:查看常用的服務(wù)協(xié)議列表eef56b94-ceee-11ed-bfe3-dac502259ad0.png

16:主機(jī)地址的黑白名單ef0bb8fe-ceee-11ed-bfe3-dac502259ad0.pngef219994-ceee-11ed-bfe3-dac502259ad0.png

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 互聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    54

    文章

    11148

    瀏覽量

    103222
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11292

    瀏覽量

    209322
  • 防火墻
    +關(guān)注

    關(guān)注

    0

    文章

    417

    瀏覽量

    35608
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3785

    瀏覽量

    81002
  • 數(shù)據(jù)包
    +關(guān)注

    關(guān)注

    0

    文章

    260

    瀏覽量

    24385

原文標(biāo)題:Linux 防火墻配置(iptables和firewalld)

文章出處:【微信號(hào):5G通信,微信公眾號(hào):5G通信】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux系統(tǒng)iptables和firewall防火墻配置方法

    防火墻就是根據(jù)系統(tǒng)管理員設(shè)定的規(guī)則來控制數(shù)據(jù)包的進(jìn)出,主要是保護(hù)內(nèi)網(wǎng)的安全,目前 Linux 系統(tǒng)的防火墻類型主要有兩種:分別是 [iptables] 和
    發(fā)表于 07-17 10:34 ?1367次閱讀
    <b class='flag-5'>Linux</b>系統(tǒng)<b class='flag-5'>iptables</b>和firewall<b class='flag-5'>防火墻</b>的<b class='flag-5'>配置</b>方法

    Linux中使用Iptables實(shí)現(xiàn)簡單的網(wǎng)站防火墻

    Linux中使用Iptables實(shí)現(xiàn)一個(gè)簡單的網(wǎng)站防火墻可以幫助我們保護(hù)服務(wù)器不受到惡意請(qǐng)求的攻擊。一個(gè)現(xiàn)實(shí)的場(chǎng)景是我們想要阻止某個(gè)IP地址訪問我們的網(wǎng)站。
    發(fā)表于 09-22 10:11 ?786次閱讀
    <b class='flag-5'>Linux</b>中使用<b class='flag-5'>Iptables</b>實(shí)現(xiàn)簡單的網(wǎng)站<b class='flag-5'>防火墻</b>

    Linux系統(tǒng)firewalld防火墻實(shí)戰(zhàn)指南

    本文浩道跟大家分享Linux系統(tǒng)firewalld防火墻硬核干貨,通過對(duì)其介紹、相關(guān)概念回顧,數(shù)據(jù)包處理流程、其安裝過程、其常用命令用法、其添加規(guī)則相關(guān)用法去開展,讓大家在****Linux
    發(fā)表于 10-16 16:47 ?797次閱讀
    <b class='flag-5'>Linux</b>系統(tǒng)<b class='flag-5'>firewalld</b><b class='flag-5'>防火墻</b>實(shí)戰(zhàn)指南

    Linux內(nèi)核防火墻netfilter的原理和應(yīng)用

    Linux內(nèi)核防火墻netfilter的原理和應(yīng)用在分析ipchains缺陷的基礎(chǔ)上,著重介紹了Linux2.4版內(nèi)核防火墻netfilter的結(jié)構(gòu)框架、數(shù)據(jù)包的處理過程及
    發(fā)表于 09-19 09:22

    Linux防火墻配置方法(firewalld服務(wù))

    紅帽RHEL7系統(tǒng)已經(jīng)用firewalld服務(wù)替代了iptables服務(wù),新的防火墻管理命令firewall-cmd與圖形化工具firewall-config。執(zhí)行firewall-config命令
    發(fā)表于 10-30 12:27

    Linux下關(guān)閉防火墻的關(guān)閉及開放端口

    :service iptables stop3.查看防火墻狀態(tài)serviceiptablesstatus重啟服務(wù)service iptables restart實(shí)現(xiàn)配置文件及時(shí)生效so
    發(fā)表于 07-09 06:23

    Linux如何關(guān)閉防火墻

    1、查看防火墻規(guī)則vim /etc/sysconfig/iptables放開某個(gè)端口號(hào)不被防火墻攔截,適用于部署tomcat,nginx等之類的軟件
    發(fā)表于 07-12 06:31

    Linux防火墻入門教程分享

    合理的防火墻是你的計(jì)算機(jī)防止網(wǎng)絡(luò)入侵的第一道屏障。你在家里上網(wǎng),通?;ヂ?lián)網(wǎng)服務(wù)提供會(huì)在路由中搭建一層防火墻。當(dāng)你離開家時(shí),那么你計(jì)算機(jī)上的那層防火墻就是僅有的一層,所以配置和控制好你
    發(fā)表于 12-28 06:54

    請(qǐng)問如何自動(dòng)加載iptables防火墻規(guī)則?

    系統(tǒng)啟動(dòng)后,如何自動(dòng)加載iptables防火墻規(guī)則?
    發(fā)表于 01-07 08:46

    基于Linux防火墻的可視化管理系統(tǒng)的研究與實(shí)現(xiàn)

    針對(duì)Iptables 命令配置防火墻規(guī)則的復(fù)雜性,本系統(tǒng)研究和實(shí)現(xiàn)了基于linux 防火墻的可視化管理系統(tǒng)。關(guān)鍵詞:
    發(fā)表于 07-16 08:47 ?16次下載

    Linux新型內(nèi)核防火墻研究和應(yīng)用

    Linux新型防火墻netfilter框架原理及工作機(jī)制基礎(chǔ)上,研究了該防火墻的應(yīng)用設(shè)計(jì), 提出了用netfilter/iptables構(gòu)建門戶服務(wù)器
    發(fā)表于 08-25 11:35 ?14次下載

    如何配置Cisco PIX防火墻

    如何配置Cisco PIX防火墻配置PIX防火墻之前,先來介紹一下防火墻的物理特性。防火墻
    發(fā)表于 01-13 13:26 ?584次閱讀

    Cent OS 7 上的防火墻設(shè)置教程來了

    當(dāng)設(shè)置后,網(wǎng)站就掛了,經(jīng)過多次折騰,判斷就是這條紅色命令的問題,后來又是在網(wǎng)上一通查,最終問題的 firewalld 的問題,對(duì) firewalld 不熟悉,只好安裝 CentOS 6 中通用的 iptables 查詢,來設(shè)置
    的頭像 發(fā)表于 05-14 14:38 ?9828次閱讀
    Cent OS 7 上的<b class='flag-5'>防火墻</b>設(shè)置教程來了

    如何列出和刪除防火墻規(guī)則UFW

    UFW意為簡單的防火墻,是用于管理iptables/netfilter防火墻規(guī)則的用戶友好的前端。
    的頭像 發(fā)表于 12-06 17:52 ?7262次閱讀

    請(qǐng)問Centos7如何配置firewalld防火墻規(guī)則?

    Firewalld是CentOS系統(tǒng)自帶的一種動(dòng)態(tài)防火墻管理工具。是一個(gè)前端工具,用于管理Linux系統(tǒng)上的netfilter防火墻規(guī)則。Firew
    的頭像 發(fā)表于 10-09 09:33 ?1319次閱讀
    請(qǐng)問Centos7如何<b class='flag-5'>配置</b><b class='flag-5'>firewalld</b><b class='flag-5'>防火墻</b>規(guī)則?
    RM新时代网站-首页