Firewalld防火墻

Firewalld概述

Firewalld

firewalld防火墻是centos7系統默認防火墻的防火墻管理工具,取代了之前的iptables防火墻,也是工作在網絡層,屬于包過濾防火墻。

  1. 支持網絡區域所定義的網絡鏈接以及接口安全等級的動態防火墻管理工具
  2. 至此IPv4、IPv6防火墻設置以及以太網橋
  3. 支持服務或引用程序直接添加防火墻規則接口
  4. 擁有兩種配置模式
  • 運行時配置
  • 永久配置

Firewalld和iptables的關系

firewalld和iptables都是用來管理防火墻的工具(屬于用戶態)來定義防火墻的各種規則功能,內部結果都指向netfilter網絡過濾子系統(屬于內核態)來實現防火墻功能。

netfilter
  • 位于linux內核中的包過濾功能體系
  • 稱為linux防火墻的“內核態”
Firewalld/iptables
  • centos7默認的管理防火墻規則工具(firewalld)
  • 稱為linux防火墻的“用戶態”

?

Firewalld和iptables區別
不同點firewalldiptables
配置文件/usr/lib/firewalld /etc/firewalld/etc/sysconfig/iptables
對規則的修改不需要全部刷新策略,不丟失現有連接需要全部刷新策略,丟失連接
反獲取類型動態防火墻靜態防火墻
設置規則是基于區域根據不同的區域這只不同的規則,從而保證網絡安全主要基于接口,來設置規則,從而判斷網絡的安全性

Firewalld區域的概念

  • firewalld防火墻為了簡化管理,將所有網絡流量分為多個區域(zone)。然后根據數據包的源IP地址或傳入的網絡接口等條件將流量傳入相應的區域。每個區域都定義了自己打開或者關閉的端口和服務列表。

Firewalld防火墻定義了9個區域

區域作用
trusted(信任區域)允許所有的傳入流量。
public(公共區域)允許與ssh或dhcpv6-client預定義服務匹配的傳入流量,其余均拒絕。是新添加網絡接口的默認區域。
external(外部區域)允許與ssh預定義服務匹配的傳入流量其余均拒絕。
home(家庭區域)允許與ssh、mdns、samba-client或dhcpv6-client預定義服務匹配的傳入流量,其他均拒絕。
internal(內部區域)默認值與home區域相同。
work(工作區域)允許與ssh、dhcpv6-client預定義服務匹配的傳入流量,其他均拒絕
dmz(隔離區域也稱非軍事區域)允許與ssh預定義服務匹配的傳入流量,其他均拒絕。
block(限制區域)拒絕所有傳入流量。
drop(丟棄區域)丟棄所有傳入流量,并且不產生包含icmp的錯誤響應。

Firewalld網絡區域

區域介紹
  • 區域如同進入主機的安全門,每個區域都具有不同限制程度的規則
  • 可以使用一個或多個區域,但是任何一個活躍區域至少需要關聯源地址或接口
  • 默認情況下,public區域是默認區域,包含所有接口(網卡)

?

Firewalld數據處理流程
  • 檢查數據來源的源地址
  • 若源地址關聯到特定的區域,則執行該區域所指定的規則
  • 若源地址未關聯到特定的區域,則使用傳入網絡接口的區域并執行該區域所指定的規則
  • 若網絡接口未關聯到特定的區域,則使用默認區域并執行該區域的所有指定的規則

也就說明了區域的優先級:源地址綁定、大于、網卡綁定、大于、默認區域。

Firewalld防火墻的配置方法

運行時配置

  • 實時生效,并持續至Firewalld重新啟動或重新加載配置文件
  • 不中斷現有連接
  • 不能修改服務器配置

永久配置

  • 不立即生效,除非Firewaddl重新啟動或重新加載配置
  • 中斷現有連接
  • 可以修改服務配置
配置方法
  • firewall-config 圖形化工具(只需要點點點即可)
  • firewall-cmd 命令行工具(生成環境中沒有圖形化界面所有只能在命令行進行配置)
/etc/firewalld/中的配置文件

firewalld會優先使用/etc/firewalld/中的配置,如果不存在配置文件,則使用/usr/lib/firewalld/中的配置

  • /etc/firewalld/:用戶自定義配置文件,需要時可通過從/usr/lib/firewalld/中拷貝
  • /usr/lib/firewalld/:默認配置文件,不建議修改,若恢復至默認配置,可直接刪除/etc/firewalld/中的配置

示例:圖形化界面

?或用命令firewall-config打開

?

以http服務為例,打開httpd服務?

?

? ? ? ? ? ? ? ? ? ? ? 運行時:修改后立即生效

? ? ? ? ? ? ? ? ? ? ? 永久:重新加載或者重啟之后永久生效

?修改端口號

?

firewall-cmd命令行配置

常用firewall-cmd命令選項

?

示例:

--get-default-zone :顯示當前默認區域?

?--set-default-zone=<zone> :設置默認區域

--get-active-zones :顯示當前正在使用的區域及其網卡接口?

--get-zones :顯示所有可用的區域?

--get-zone-of-interface=<interface> :顯示指定接口綁定的區域?

--zone=<zone> --add-interface=<interface>:為指定接口綁定區域?

--zone=<zone> --change-interface=<interface> :為指定區域更改綁定的網絡接口

--zone=<zone> --remove-interface=<interface> :為指定區域刪除綁定的網絡接口?

--add-source=<source> --zone=<zone> :為指定源地址綁定區域

--change-source=<source> --zone=<zone> :為指定的區域更改綁定的源地址

--remove-source=<source> --zone=<zone> :為指定的區域刪除綁定的源地址?

--list-all-zones:顯示所有區域及其規則

?

--list-all --zone=<zone> :顯示所有指定區域的所有規則,若不指定區域表示僅對默認的區域操作

?

--zone=<zone> --list-ports:x顯示指定區域內允許訪問的所有端口號

--zone=<zone> --add-port=<poreid>[-portid]/<portocol>:為指定的區域設置允許訪問的某個端口號/某段端口號(包括協議)

--zone=<zone> --remove-port=<poreid>[-portid]/<portocol>:刪除指定區域已設置允許訪問的端口號(包括協議)?

?--zone=<zone> --list-icmp-blocks :顯示指定區域內拒接訪問的所有icmp類型

--zone=<zone> --add-icmp-block=<icmptype>:為指定區域設置允許訪問的某項icmp類型

--zone=<zone> --remove-icmp-block=<icmptype>刪除指定區域已設置允許訪問的某項icmp類型 firealld-cmd --get-icmptypes :顯示所有icmp類型

?

區域管理
顯示當前系統中的默認區域
firewall-cmd --get-default-zone顯示默認區域的所有規則
firewall-cmd --list-all顯示當前正在使用的區域及其對應的網卡接口
firewall-cmd --get-active-zones設置默認區域
firewall-cmd --set-default-zone=home
服務管理
查看默認區域內允許訪問的所有服務
firewall-cmd --list-service添加http服務到public區域
firewall-cmd --add-service=http --zone=public同時添加http、https服務器到默認區域,設置成永久生效
firewall-cmd --add-service={http,https,ftp} --zone=public --permanent
端口管理
允許tcp的443端口到internal區域
firewall-cmd --zone=internal --add-port=443/tcp從internal區域將tcp443端口移除
firewall-cmd --zone=internal --remove-port=443/tcp允許udp的2048-2050端口到默認區域
firewall-cmd  --add-port=2048-2050/tcp

?

使用firewalld來實現SNAT、DNAT地址轉換

如:

清空指定表名所有規則 iptables -t nat -F

指定區域在public區域設置轉發指定ipv4發送指定表名nat在末行添加POSTROUTING鏈

修改數據包的源地址為192.168.239網段的出站IP為12.0.0.1

firewall-cmd --zone=public --direct --passthrough ipv4 -t nat -A POSTROUTING -s 192.168.239.0/24 -j SNAT --to-source 12.0.0.1

指定區域在public區域設置轉發指定ipv4發送指定表名nat在末行添加PREROUTING鏈

修改數據包的目的地址為12.0.0.1TCP協議80號端口的入站ip為192.168.239.100

firewall-cmd --zone=public --direct --passthrough ipv4 -t nat -A PREROUTING -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to 192.168.239.100

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/697075.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/697075.shtml
英文地址,請注明出處:http://en.pswp.cn/news/697075.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ECMAScript modules規范示例詳解

ECMAScript modules&#xff08;簡稱 ES modules&#xff09;是JavaScript的標準模塊系統。每個模塊都是一個獨立的JavaScript文件&#xff0c;可以在其中定義導出的變量、函數或類&#xff0c;并從其他模塊中導入這些變量、函數或類。以下是ES modules規范的一些示例和詳解&am…

Go 線程池實現案例

Go 語言并不像其他一些語言&#xff08;例如 Java 或 C#&#xff09;那樣直接提供一個線程池的概念。相反&#xff0c;Go 使用 goroutines 來實現并發&#xff0c;它是一種比線程更輕量級的并發執行單元。不過&#xff0c;仍然可以實現一個類似線程池的結構&#xff0c;來管理和…

studio one 6正版多少錢?怎么購買studio one 更便宜,有優惠券哦

Presonus Studio One Studio One是由美國PreSonus公司開發的數字音頻工作站&#xff0c;作為DAW屆的新人&#xff0c;功能強大且全面&#xff0c;雖然它不像其他DAW那樣擁有歷史和聲譽&#xff0c;但它是一個可愛的軟件&#xff0c;包含許多其它DAW所不具備的實用功能&#xff…

web基礎及http協議 (二)----------Apache相關配置與優化

一、httpd 安裝組成 http 服務基于 C/S 結構 1 .常見http 服務器程序 httpd apache&#xff0c;存在C10K&#xff08;10K connections&#xff09;問題 nginx 解決C10K問題lighttpd IIS .asp 應用程序服務器 tomcat .jsp 應用程序服務器 jetty 開源的servlet容器&#xf…

選擇 Python IDE(VSCode、Spyder、Visual Studio 2022和 PyCharm)

前言 當選擇 Python 開發工具時&#xff0c;你需要考慮自己的需求、偏好和項目類型。下面是對VSCode、Spyder、Visual Studio 2022和 PyCharm的對比推薦總結&#xff1a; 結論 1、如果你專注于“數據科學”&#xff0c;選擇SpyDer沒錯。 內容 Visual Studio Code (VS Code)…

react項目中的redux以及react-router-dom

掃盲知識點&#xff1a; 1 傳遞自定義事件&#xff1a; <button onClick{(e)>{change(e)}}>獲取事件對象e</button> 將事件對象e傳遞到了change的這個方法中。 2 同時傳遞自定義事件和參數&#xff1a; <button onClick{(e)>{change(‘我…

基于微信小程序失物招領系統設計與實現(PHP后臺+Mysql)可行性分析

博主介紹&#xff1a;黃菊華老師《Vue.js入門與商城開發實戰》《微信小程序商城開發》圖書作者&#xff0c;CSDN博客專家&#xff0c;在線教育專家&#xff0c;CSDN鉆石講師&#xff1b;專注大學生畢業設計教育和輔導。 所有項目都配有從入門到精通的基礎知識視頻課程&#xff…

CleanMyMac2024蘋果電腦清理工具最新使用全面評價

作為軟件評價專家&#xff0c;我對CleanMyMac X進行了全面的評估&#xff0c;以下是我的詳細評價&#xff1a; CleanMyMac X4.14.6全新版下載如下: https://wm.makeding.com/iclk/?zoneid49983 一、功能 CleanMyMac X的功能相當全面&#xff0c;幾乎涵蓋了Mac電腦清理所需的…

nginx 具體介紹

一&#xff0c;nginx 介紹 &#xff08;一&#xff09;nginx 與apache 1&#xff0c; Apache event 模型 相對于 prefork 模式 可以同時處理更多的請求 相對于 worker 模式 解決了keepalive場景下&#xff0c;長期被占用的線程的資源浪費問題 因為有監聽線程&#…

【數據結構】鏈式隊列

鏈式隊列實現&#xff1a; 1.創建一個空隊列 2.尾插法入隊 3.頭刪法出隊 4.遍歷隊列 一、main函數 #include <stdio.h> #include "./3.linkqueue.h" int main(int…

文檔控件DevExpress Office File API v23.2新版亮點 - 支持SVG

DevExpress Office File API是一個專為C#, VB.NET 和 ASP.NET等開發人員提供的非可視化.NET庫。有了這個庫&#xff0c;不用安裝Microsoft Office&#xff0c;就可以完全自動處理Excel、Word等文檔。開發人員使用一個非常易于操作的API就可以生成XLS, XLSx, DOC, DOCx, RTF, CS…

數據結構之單鏈表的操作

main函數 #include <stdio.h> #include "./03_linkList.h" int main(int argc, const char *argv[]) { linkList* head creatr_linkList(); insertHead_linkL…

運維SRE-19 網站Web中間件服務-http-nginx

Ans自動化流程 1.網站集群核心協議&#xff1a;HTTP 1.1概述 web服務&#xff1a;網站服務&#xff0c;網站協議即可. 協議&#xff1a;http協議,https協議 服務&#xff1a;Nginx服務&#xff0c;Tengine服務....1.2 HTTP協議 http超文本傳輸協議&#xff0c;負責數據在網站…

更高效的構建工具-vite

更高效的構建工具-vite 前言Vite是什么Vite和webpack的比較1. 運行原理2. 使用成本 Vite的初體驗 前言 首先我們要認識什么時構建工具&#xff1f; 企業級項目都具備什么功能呢&#xff1f; Typescript&#xff1a;如果遇到ts文件&#xff0c;我們需要使用tsc將typescript代碼…

Android約束布局中用ConstraintHelper實現過渡動畫效果

前些天發現了一個蠻有意思的人工智能學習網站,8個字形容一下"通俗易懂&#xff0c;風趣幽默"&#xff0c;感覺非常有意思,忍不住分享一下給大家。 &#x1f449;點擊跳轉到教程 一.創建一個類CircularRevealHelper繼承ConstraintHelper代碼如下 /*** Author: ly* Da…

【Linux從青銅到王者】 基礎IO

本篇重點&#xff1a;文件描述符&#xff0c;重定向&#xff0c;緩沖區&#xff0c;磁盤結構&#xff0c;文件系統&#xff0c;inode理解文件的增刪查改&#xff0c;查找一個文件為什么一定要有路徑&#xff0c;動靜態庫&#xff0c;有的時候為什么找不到庫&#xff0c;動態庫的…

JavaWeb——003Axios Vue組件庫(Element)

目錄 一、Ajax 1、同步與異步?編輯 2、原生Ajax&#xff08;繁瑣&#xff09;?編輯 2.1、寫一個簡易的Ajax 3、Axios&#xff08;推薦使用&#xff09;?編輯 3.1、Axios入門 3.2、Axios請求方式別名 3.3、案例&#xff1a;基于Vue及Axios完成數據的動態加載展示?編…

Flink CDC 3.0 表結構變更時導致webUI接口無反應原因

Flink CDC 3.0 表結構變更時導致webUI接口無反應&#xff01; 原因&#xff1a;因為deliverCoordinationRequestToCoordinator和requestJob都是SchedulerNG中方法&#xff0c;該類的線程模型是單線程執行&#xff0c;所以在deliverCoordinationRequestToCoordinator執行表結構…

mysql創建數據庫,用戶授權

一、創建用戶 CREATE USER 用戶名% IDENTIFIED BY 密碼; flush privileges; 二、更新用戶密碼 update mysql.user set authentication_stringpassword("密碼") where userroot; flush privileges; 三、允許root遠程登錄 update user set host % where user r…

AIoT網關 人工智能物聯網網關

AIoT(人工智能物聯網)作為新一代技術的代表&#xff0c;正以前所未有的速度改變著我們的生活方式。在這個智能時代&#xff0c;AIoT網關的重要性日益凸顯。它不僅是連接智能設備和應用的關鍵&#xff0c;同時也是實現智能化家居、智慧城市和工業自動化的必備技術。      一…