日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux系统 iptables 和 firewalld 的那些事

發(fā)布時間:2024/2/28 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux系统 iptables 和 firewalld 的那些事 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Linux系統(tǒng) firewalld防火墻

  • 一、firewalld概述
  • 二、firewalld 與 iptables 的區(qū)別
  • 三、firewalld 區(qū)域的概念
    • 1.firewalld防火墻預(yù)定義了9個區(qū)域
  • 四、firewalld數(shù)據(jù)處理流程
    • 1.firewalld檢查數(shù)據(jù)包的源地址的規(guī)則
  • 五、firewalld防火墻的配置方法
    • 1.常用的firewall-cmd 命令選項
    • 六、區(qū)域管理
    • 七、服務(wù)管理
    • 八、端口管理

一、firewalld概述

  • firewalld防火墻是Centos7系統(tǒng)默認(rèn)的防火墻管理工具,取代了之前的iptables防火墻也是工作在網(wǎng)絡(luò)層,屬于包過濾防火墻。
  • firewalld和iptables都是用來管理防火墻的工具(屬于用戶態(tài))來定義防火墻的各種規(guī)則功能,內(nèi)部結(jié)構(gòu)都指向netfilter網(wǎng)絡(luò)過濾子系統(tǒng)(屬于內(nèi)核態(tài))來實現(xiàn)包過濾防火墻功能。
  • firewalld提供了支持網(wǎng)絡(luò)區(qū)域所定義的網(wǎng)絡(luò)鏈接以及接口安全等級的動態(tài)防火墻管理工具。
  • 支持IPv4、IPv6防火墻設(shè)置以及以太網(wǎng)橋(在某些高級服務(wù)可能會用到,比如云計算)
  • 擁有兩種配置模式:運行時配置與永久配置。

二、firewalld 與 iptables 的區(qū)別

1、iptables主要是基于接口,來設(shè)置規(guī)則,從而判斷網(wǎng)絡(luò)的安全性。
firewalld是基于區(qū)域,根據(jù)不同的區(qū)域來設(shè)置不同的規(guī)則,從而保證網(wǎng)絡(luò)的安全。與硬件防火墻的設(shè)置相類似。

2、iptables 在 /etc/sysconfig/iptables 中儲存配置,
firewalld 將配置儲存在 /etc/firewalld/(優(yōu)先加載)和 /usr/lib/firewalld/(默認(rèn)的配置文件)中的各種 XML 文件里。

3、使用 iptables 每一個單獨更改意味著清除所有舊有的規(guī)則和從/etc/sysconfig/iptables 里讀取所有新的規(guī)則。
使用 firewalld 卻不會再創(chuàng)建任何新的規(guī)則,僅僅運行規(guī)則中的不同之處。因此firewalld 可以在運行時間內(nèi),改變設(shè)置而不丟失現(xiàn)行連接。

三、firewalld 區(qū)域的概念

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

1.firewalld防火墻預(yù)定義了9個區(qū)域

區(qū)域名稱作用
trusted(信任區(qū)域)允許所有的傳入流量。
public(公共區(qū)域)允許與ssh或dhcpv6-client預(yù)定義服務(wù)匹配的傳入流量,其余均拒絕。是新添加網(wǎng)絡(luò)接口的默認(rèn)區(qū)域。
external(外部區(qū)域)允許與 ssh 預(yù)定義服務(wù)匹配的傳入流量,其余均拒絕。 默認(rèn)將通過此區(qū)域轉(zhuǎn)發(fā)的IPv4傳出流量將進行地址偽裝,可用于為路由器啟用了偽裝功能的外部網(wǎng)絡(luò)。
home(家庭區(qū)域)允許與ssh、ipp-client、mdns、samba-client或dhcpv6-client預(yù)定義服務(wù)匹配的傳入流量,其余均拒絕。
internal(內(nèi)部區(qū)域)默認(rèn)值時與home區(qū)域相同。
work(工作區(qū)域)允許與 ssh、ipp-client、dhcpv6-client 預(yù)定義服務(wù)匹配的傳入流量,其余均拒絕。
dmz(隔離區(qū)域也稱為非軍事區(qū)域)允許與 ssh 預(yù)定義服務(wù)匹配的傳入流量,其余均拒絕。
block(限制區(qū)域)拒絕所有傳入流量。
drop(丟棄區(qū)域)丟棄所有傳入流量,并且不產(chǎn)生包含 ICMP的錯誤響應(yīng)。

最終一個區(qū)域的安全程度是取決于管理員在此區(qū)域中設(shè)置的規(guī)則。
區(qū)域如同進入主機的安全門,每個區(qū)域都具有不同限制程度的規(guī)則,只會允許符合規(guī)則的流量傳入。
可以根據(jù)網(wǎng)絡(luò)規(guī)模,使用一個或多個區(qū)域,但是任何一個 活躍區(qū)域 至少需要關(guān)聯(lián) 源地址或接口。
默認(rèn)情況下,public區(qū)域是默認(rèn)區(qū)域,包含所有接口(網(wǎng)卡)

四、firewalld數(shù)據(jù)處理流程

firewalld對于進入系統(tǒng)的數(shù)據(jù)包,會根據(jù)數(shù)據(jù)包的源IP地址或傳入的網(wǎng)絡(luò)接口等條件,將數(shù)據(jù)流量轉(zhuǎn)入相應(yīng)區(qū)域的防火墻規(guī)則。對于進入系統(tǒng)的數(shù)據(jù)包,首先檢查的就是其源地址。

1.firewalld檢查數(shù)據(jù)包的源地址的規(guī)則

1、若源地址關(guān)聯(lián)到特定的區(qū)域(即源地址或接口綁定的區(qū)域有沖突),則執(zhí)行該區(qū)域所制定的規(guī)則。
2、若源地址未關(guān)聯(lián)到特定的區(qū)域(即源地址或接口綁定的區(qū)域沒有沖突),則使用傳入網(wǎng)絡(luò)接口的區(qū)域并執(zhí)行該區(qū)域所制定的規(guī)則。
3、若網(wǎng)絡(luò)接口也未關(guān)聯(lián)到特定的區(qū)域(即源地址或接口都沒有綁定特定的某個區(qū)域),則使用默認(rèn)區(qū)域并執(zhí)行該區(qū)域所制定的規(guī)則。

五、firewalld防火墻的配置方法

systemctl start firewalld.service #開啟防火墻

1.常用的firewall-cmd 命令選項

--get-default-zone :顯示當(dāng)前默認(rèn)區(qū)域--set-default-zone=<zone> :設(shè)置默認(rèn)區(qū)域--get-active-zones :顯示當(dāng)前正在使用的區(qū)域及其對應(yīng)的網(wǎng)卡接口--get-zones :顯示所有可用的區(qū)域--get-zone-of-interface=<interface> :顯示指定接口綁定的區(qū)域--zone=<zone> --add-interface=<interface> :為指定接口綁定區(qū)域--zone=<zone> --change-interface=<interface> :為指定的區(qū)域更改綁定的網(wǎng)絡(luò)接口--zone=<zone> --remove-interface=<interface> :為指定的區(qū)域刪除綁定的網(wǎng)絡(luò)接口--get-zone-of-source=<source>[/<mask>] :顯示指定源地址綁定的區(qū)域--zone=<zone> --add-source=<source>[/<mask>] :為指定源地址綁定區(qū)域--zone=<zone> --change-source=<source>[/<mask>] :為指定的區(qū)域更改綁定的源地址--zone=<zone> --remove-source=<source>[/<mask>] :為指定的區(qū)域刪除綁定的源地址--list-all-zones :顯示所有區(qū)域及其規(guī)則[--zone=<zone>] --list-all :顯示所有指定區(qū)域的所有規(guī)則,省略--zone=<zone>時表示僅對默認(rèn)區(qū)域操作[--zone=<zone>] --list-services :顯示指定區(qū)域內(nèi)允許訪問的所有服務(wù)[--zone=<zone>] --add-service=<service> :為指定區(qū)域設(shè)置允許訪問的某項服務(wù)[--zone=<zone>] --remove-service=<service> :刪除指定區(qū)域已設(shè)置的允許訪問的某項服務(wù)[--zone=<zone>] --list-ports :顯示指定區(qū)域內(nèi)允許訪問的所有端口號[--zone=<zone>] --add-port=<portid>[-<portid>]/<protocol> :為指定區(qū)域設(shè)置允許訪問的某個/某段端口號(包括協(xié)議名)[--zone=<zone>] --remove-port=<portid>[-<portid>]/<protocol> :刪除指定區(qū)域已設(shè)置的允許訪問的端口號(包括協(xié)議名)[--zone=<zone>] --list-icmp-blocks :顯示指定區(qū)域內(nèi)拒絕訪問的所有 ICMP 類型[--zone=<zone>] --add-icmp-block=<icmptype> :為指定區(qū)域設(shè)置拒絕訪問的某項 ICMP 類型[--zone=<zone>] --remove-icmp-block=<icmptype> :刪除指定區(qū)域已設(shè)置的拒絕訪問的某項ICMP類型firewall-cmd --get-icmptypes :顯示所有 ICMP 類型

正如你能從它的名字中猜到的,firewalld 是 systemd 家族的一部分。firewalld 可以安裝在 Debian/Ubuntu 機器上,不過,它默認(rèn)安裝在 RedHat 和 CentOS 上。如果您的計算機上運行著像 Apache 這樣的 web 服務(wù)器,您可以通過瀏覽服務(wù)器的 web 根目錄來確認(rèn)防火墻是否正在工作。如果網(wǎng)站不可訪問,那么 firewalld 正在工作。

你可以使用 firewall-cmd 工具從命令行管理 firewalld 設(shè)置。添加 –state 參數(shù)將返回當(dāng)前防火墻的狀態(tài):

# firewall-cmd --state running

默認(rèn)情況下,firewalld 處于運行狀態(tài),并拒絕所有傳入流量,但有幾個例外,如 SSH。這意味著你的網(wǎng)站不會有太多的訪問者,這無疑會為你節(jié)省大量的數(shù)據(jù)傳輸成本。然而,這不是你對 web 服務(wù)器的要求,你希望打開 HTTP 和 HTTPS 端口,按照慣例,這兩個端口分別被指定為 80 和 443。firewalld 提供了兩種方法來實現(xiàn)這個功能。一個是通過 –add-port 參數(shù),該參數(shù)直接引用端口號及其將使用的網(wǎng)絡(luò)協(xié)議(在本例中為TCP)。 另外一個是通過 –permanent 參數(shù),它告訴 firewalld 在每次服務(wù)器啟動時加載此規(guī)則:

# firewall-cmd --permanent --add-port=80/tcp # firewall-cmd --permanent --add-port=443/tcp

–reload 參數(shù)將這些規(guī)則應(yīng)用于當(dāng)前會話:

# firewall-cmd --reload

查看當(dāng)前防火墻上的設(shè)置,運行 –list-services:

# firewall-cmd --list-services

dhcpv6-client http https ssh
假設(shè)您已經(jīng)如前所述添加了瀏覽器訪問,那么 HTTP、HTTPS 和 SSH 端口現(xiàn)在都應(yīng)該是和 dhcpv6-client 一樣開放的 —— 它允許 Linux 從本地 DHCP 服務(wù)器請求 IPv6 IP 地址。

六、區(qū)域管理

1)顯示當(dāng)前系統(tǒng)中的默認(rèn)區(qū)域 firewall-cmd --get-default-zone(2)顯示默認(rèn)區(qū)域的所有規(guī)則 firewall-cmd --list-all(3)顯示當(dāng)前正在使用的區(qū)域及其對應(yīng)的網(wǎng)卡接口 firewall-cmd --get-active-zones(4)設(shè)置默認(rèn)區(qū)域 firewall-cmd --set-default-zone=home firewall-cmd --get-default-zone

七、服務(wù)管理

1)查看默認(rèn)區(qū)域內(nèi)允許訪問的所有服務(wù) firewall-cmd --list-service(2)添加httpd 服務(wù)到public 區(qū)域 firewall-cmd --add-service=http --zone=public3)查看public 區(qū)域已配置規(guī)則 firewall-cmd --list-all --zone=public4)刪除public 區(qū)域的httpd 服務(wù) firewall-cmd --remove-service=http --zone=public5)同時添加httpd、https 服務(wù)到默認(rèn)區(qū)域,設(shè)置成永久生效 firewall-cmd --add-service=http --add-service=https --permanent firewall-cmd --reload firewall-cmd --list-all #添加使用 --permanent選項表示設(shè)置成永久生效,需要重新啟動firewalld服務(wù)或執(zhí)行firewall-cmd --reload命令 重新加載防火墻規(guī)則時才會生效。若不帶有此選項,表示用于設(shè)置運行時規(guī)則,但是這些規(guī)則在系統(tǒng)或firewalld服務(wù)重啟、停止時配置將失效。firewall-cmd--runtime-to-permanent:將當(dāng)前的運行時配置寫入規(guī)則配置文件中,使之成為永久性配置。

八、端口管理

1)允許TCP443端口到internal區(qū)域 firewall-cmd --zone=internal --add-port=443/tcp firewall-cmd --list-all --zone=internal(2)從internal 區(qū)域?qū)?span id="ozvdkddzhkzd" class="token constant">TCP的443端口移除 firewall-cmd --zone=internal --remove-port=443/tcp(3)允許UDP2048~2050端口到默認(rèn)區(qū)域 firewall-cmd --add-port=2048-2050/udp firewall-cmd --list-all

總結(jié)

以上是生活随笔為你收集整理的Linux系统 iptables 和 firewalld 的那些事的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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