<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux防火墻配置(iptables和firewalld)

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

防火墻基本概念

防火墻就是根據系統管理員設定的規則來控制數據包的進出,主要是保護內網的安全,目前 Linux 系統的防火墻類型主要有兩種:分別是 [iptables] 和 firewalld

Iptables-靜態防火墻

早期的 Linux 系統中默認使用的是 iptables 防火墻,配置文件在 / etc/sysconfig/iptables

主要工作在[網絡層]

使用鏈式規則,只可以過濾互聯網的數據包,無法過濾從內網到內網的數據包 Iptables 只可以通過命令行進行配置 Iptables 默認是允許所有,需要通過拒絕去做限制 Iptables 在修改了規則之后必須得全部刷新才可以生效,還會丟失連接(無法守護進程)

Firewalld-動態防火墻

取代了之前的 iptables 防火墻,配置文件在 / usr/lib/firewalld 和 / etc/fiewalld 中,主要工作在網絡層,新增區域概念,不僅可以過濾互聯網的數據包,也可以過濾內網的數據包,Firewalld 不僅可以通過命令行進行配置,也可以通過圖形化界面配置,Firewalld 默認是拒絕所有,需要通過允許去放行,Firewalld 可以動態修改單條規則,動態管理規則集(允許更新規則而不破環現有會話和連接,可以守護進程)

注意事項

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

Iptables 講解

Iptables 配置防火墻依靠四個部分實現:表、規則鏈、規則(匹配條件)、控制類型組成

Iptables 表

處理優先級由高到低,表與表之間都是獨立的

raw表

是否對某個數據包進行狀態追蹤(包含 OUTPUT、PREAUTING 兩個規則鏈)

mangle表

修改數據包內容;可以做流量整形、對數據包設置標記(包含所有規則鏈)

nat表

負責地址轉換功能;修改數據包中的源目 IP 地址或端口(包含 IN、OU、PR、PO 三個規則鏈)

filter表

負責過濾數據包;對數據包時允許放行還是不允許放行(包含 IN、OU、FO 三個規則鏈) Iptables 規則鏈

什么是規則鏈

很多個規則組成一個規則鏈,數據包從上往下做匹配,匹配成功就結束匹配,并執行相應的控制類型(建議需要將精準的策略放在上面)

規則鏈類型

INPUT處理入站的數據包(處理目標是本機的數據包) OUTPUT處理出站的數據包(處理源是本機的數據包,一般不在此鏈上做規則) PREROUTING在進行路由選擇前處理數據包(一般用來做 NAT Server) POSTROUTING在進行路由選擇后處理數據包(一般用來做源 NAT) FORWARD處理轉發的數據包(處理經過本機的數據包)

Iptables 控制類型

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

數據包到達防火墻根據下圖進行匹配

iptables 進行數據處理關心的是四表五鏈以及流量的進出

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

Iptables 命令配置

配置 iptables 防火墻時需要將防火墻服務開啟

systemctl start firewalld 開啟防火墻 systemctl status firewalld 查看防火墻狀態

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

Iptables命令查看防火墻

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

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

Iptables命令配置防火墻

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

注意事項

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

firewalld 講解

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

firewall-cmd 基于命令行配置

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

Firewalld 區域概念

默認所有網卡都是 public 區域,可以根據需要將網卡設置為不同的區域

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

數據包到達防火墻匹配規則

firewall 進行數據處理只關心區域

1.根據數據包的源 IP 地址匹配,根據源地址綁定區域的區域規則進行匹配(如果沒有綁定區域則匹配默認區域的規則)

2.根據傳入的網絡接口匹配,進入此接口綁定區域的區域規則進行匹配(如果沒有綁定區域則匹配默認區域的規則)綁定源地址的區域規則>網卡綁定的區域規則>默認區域的規則

Firewalld 兩種配置方法

臨時配置(runtime 當前生效表)

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

不立即生效,重啟后生效,或者立即同步后生效 會終端現有連接 可以修改服務配置

firewall-cmd 命令行基礎配置

如何實現永久配置

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

查看默認區域并進行更改

>firewall-cmd--get-zones查詢可用的區域
>firewall-cmd--get-default-zone查詢默認區域的名稱
>firewall-cmd--get-active-zone顯示當前正在使用的區域與網卡名稱
>firewall-cmd--set-default-zone=trusted設置默認區域為trusted區域

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

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

配置區域允許 / 拒絕的協議 / 端口號

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

配置協議端口轉換(端口映射)

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

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

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

配置富規則 rich(更復雜、更詳細的防火墻策略配置)

優先級最高(高于默認規則,兩個并不沖突) 能夠根據源目地址、端口號來限制用戶

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

100.1 的主機訪問 22 端口

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

firewall-config 圖形化配置

安裝 firewall-config

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

系統界面講解

1:選擇運行時(Runtime)或永久(Permanent)模式的配置

2:選擇區域

3:當前正在使用的區域(黑色加粗)

4:管理當前被選中區域中的服務

5:管理當前被選中區域中的端口

6:設置允許被訪問的協議

7:設置允許被訪問的端口

8:開啟或關閉 SNAT(源網絡地址轉換)技術

9:設置端口轉發策略

10:控制請求 icmp 服務的流量

11:被選中區域的服務,若勾選了相應服務前面的復選框,則表示允許與之相關的流量eea4e4bc-ceee-11ed-bfe3-dac502259ad0.png

12:管理防火墻的富規則

13:網卡信息(網卡與區域綁定信息)

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

15:查看常用的服務協議列表eef56b94-ceee-11ed-bfe3-dac502259ad0.png

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

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 互聯網
    +關注

    關注

    54

    文章

    10926

    瀏覽量

    100966
  • Linux
    +關注

    關注

    87

    文章

    11004

    瀏覽量

    206864
  • 防火墻
    +關注

    關注

    0

    文章

    406

    瀏覽量

    35430
  • 程序
    +關注

    關注

    114

    文章

    3630

    瀏覽量

    79647
  • 數據包
    +關注

    關注

    0

    文章

    231

    瀏覽量

    24123

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

文章出處:【微信號:5G通信,微信公眾號:5G通信】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Linux防火墻-firewalld

    Linux下的防火墻功能是非常豐富的,但阿銘在日常的運維工作中,使用它的情況并不多。所以阿銘打算把一些常用的知識點介紹給大家。
    發表于 12-27 09:04 ?313次閱讀

    Linux系統iptables和firewall防火墻配置方法

    防火墻就是根據系統管理員設定的規則來控制數據包的進出,主要是保護內網的安全,目前 Linux 系統的防火墻類型主要有兩種:分別是 [iptables] 和
    發表于 07-17 10:34 ?730次閱讀
    <b class='flag-5'>Linux</b>系統<b class='flag-5'>iptables</b>和firewall<b class='flag-5'>防火墻</b>的<b class='flag-5'>配置</b>方法

    Linux中使用Iptables實現簡單的網站防火墻

    Linux中使用Iptables實現一個簡單的網站防火墻可以幫助我們保護服務器不受到惡意請求的攻擊。一個現實的場景是我們想要阻止某個IP地址訪問我們的網站。
    發表于 09-22 10:11 ?158次閱讀
    <b class='flag-5'>Linux</b>中使用<b class='flag-5'>Iptables</b>實現簡單的網站<b class='flag-5'>防火墻</b>

    Linux系統firewalld防火墻實戰指南

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

    Linux內核防火墻netfilter的原理和應用

    Linux內核防火墻netfilter的原理和應用在分析ipchains缺陷的基礎上,著重介紹了Linux2.4版內核防火墻netfilter的結構框架、數據包的處理過程及
    發表于 09-19 09:22

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

    紅帽RHEL7系統已經用firewalld服務替代了iptables服務,新的防火墻管理命令firewall-cmd與圖形化工具firewall-config。執行firewall-config命令
    發表于 10-30 12:27

    發現 STM32 防火墻的安全配置

    里提供了幾個不同的防火墻配置。那么問題來了,什么是STM32防火墻的應該使用的安全配置呢?本文以STM32參考手冊為基礎,以最大化安全為目標,來探索發現STM32
    發表于 07-27 11:04

    Linux下關閉防火墻的關閉及開放端口

    :service iptables stop3.查看防火墻狀態serviceiptablesstatus重啟服務service iptables restart實現配置文件及時生效so
    發表于 07-09 06:23

    Linux如何關閉防火墻

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

    Linux防火墻入門教程分享

    合理的防火墻是你的計算機防止網絡入侵的第一道屏障。你在家里上網,通?;ヂ摼W服務提供會在路由中搭建一層防火墻。當你離開家時,那么你計算機上的那層防火墻就是僅有的一層,所以配置和控制好你
    發表于 12-28 06:54

    請問如何自動加載iptables防火墻規則?

    系統啟動后,如何自動加載iptables防火墻規則?
    發表于 01-07 08:46

    基于Linux防火墻的可視化管理系統的研究與實現

    針對Iptables 命令配置防火墻規則的復雜性,本系統研究和實現了基于linux 防火墻的可視化管理系統。關鍵詞:
    發表于 07-16 08:47 ?16次下載

    Linux新型內核防火墻研究和應用

    Linux新型防火墻netfilter框架原理及工作機制基礎上,研究了該防火墻的應用設計, 提出了用netfilter/iptables構建門戶服務器
    發表于 08-25 11:35 ?14次下載

    LINUX防火墻(原書第3版)

    LINUX防火墻(原書第3版)教材免費下載。
    發表于 06-01 14:53 ?0次下載

    請問Centos7如何配置firewalld防火墻規則?

    Firewalld是CentOS系統自帶的一種動態防火墻管理工具。是一個前端工具,用于管理Linux系統上的netfilter防火墻規則。Firew
    的頭像 發表于 10-09 09:33 ?667次閱讀
    請問Centos7如何<b class='flag-5'>配置</b><b class='flag-5'>firewalld</b><b class='flag-5'>防火墻</b>規則?
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>