成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在 CentOS 8 上使用 FirewallD 設(shè)置防火墻?

系統(tǒng) Linux
本頁展示了如何為您的 CentOS 8 設(shè)置防火墻,和如何在 firewall-cmd 工具的幫助下進(jìn)行管理。

我是一個(gè) CentOS Enterprise Linux 8 系統(tǒng)管理員。如何在 CentOS8 上使用 FirwallD 設(shè)置防火墻?

簡介

一個(gè) Linux 防火墻可用于保護(hù)您的工作站或服務(wù)器免受不需要的流量干擾。您可以設(shè)置規(guī)則來阻止或允許流量通過。CentOS 8 帶有一個(gè)動(dòng)態(tài)的、可定制的基于主機(jī)的防火墻和一個(gè) D-Bus 接口。您可以添加、刪除或更新防火墻的規(guī)則,而無需重新啟動(dòng)防火墻守護(hù)程序或服務(wù)。??firewall-cmd?? 充當(dāng)著 ??nftables?? 的前端。在 CentOS 8 中,??nftables?? 取代了 ??iptables?? 作為默認(rèn)的 Linux 網(wǎng)絡(luò)包過濾框架。本頁展示了如何為您的 CentOS 8 設(shè)置防火墻,和如何在 ??firewall-cmd?? 工具的幫助下進(jìn)行管理。

FirewallD 的基本概念

??firewalld?? 簡化了網(wǎng)絡(luò)流量管理的概念。當(dāng)談到 CentOS 8 上的 ??firewalld?? 時(shí),我們有以下兩個(gè)主要的概念。

1. 區(qū)域

Firewalld 區(qū)域(Zone)只不過是預(yù)定義的規(guī)則集。您可以通過運(yùn)行以下 ls 命令查看所有區(qū)域:

$ ls -l /usr/lib/firewalld/zones/

使用 ??cat?? 命令查看 ??public?? 區(qū)域:

$ cat /usr/lib/firewalld/zones/public.xml

了解預(yù)定義區(qū)域

  • block:所有傳入的網(wǎng)絡(luò)連接都被拒絕。只可以從系統(tǒng)內(nèi)部發(fā)起網(wǎng)絡(luò)連接。
  • dmz:經(jīng)典的非軍事區(qū) (DMZ) 區(qū)域,提供對(duì) LAN 的有限訪問,并且只允許指定的傳入端口。
  • drop:丟棄所有傳入的網(wǎng)絡(luò)連接,只允許傳出的網(wǎng)絡(luò)連接。
  • external:對(duì)于路由器類型的連接很有用。您還需要 LAN 和 WAN 接口才能使偽裝 NAT 正常工作。
  • home:適用于您信任其他計(jì)算機(jī)的 LAN 中的家用計(jì)算機(jī),例如筆記本電腦和臺(tái)式機(jī)。僅允許指定的 TCP/IP 端口。
  • internal:用于內(nèi)部網(wǎng)絡(luò),當(dāng)您非常信任 LAN 上的其他服務(wù)器或計(jì)算機(jī)時(shí)適用。
  • public:您不信任網(wǎng)絡(luò)上的任何其他計(jì)算機(jī)和服務(wù)器。您只允許所需的端口和服務(wù)。對(duì)于托管在您所在地的云服務(wù)器或服務(wù)器,請始終使用公共區(qū)域。
  • trusted:接受所有網(wǎng)絡(luò)連接。我不建議將此區(qū)域用于連接到 WAN 的專用服務(wù)器或虛擬機(jī)。
  • work:用于您比較信任的同事和其他服務(wù)器的工作場所。

運(yùn)行以下命令以查看 CentOS 8 上的所有區(qū)域:

$ firewall-cmd --get-zones

如何找出您的默認(rèn)區(qū)域

可以將網(wǎng)絡(luò)接口和源分配給區(qū)域。這些區(qū)域中的一員可被設(shè)置為默認(rèn)區(qū)域。以下命令可以讓您的默認(rèn)區(qū)域運(yùn)行:

$ firewall-cmd --get-default-zone

要查看您的網(wǎng)絡(luò)接口名稱,請運(yùn)行 ??ip?? 命令或 ??nmcli?? 命令:

$ ip link show
$ nmcli device status

當(dāng)向 NetworkManager 添加新的接口連接(例如 ??eth0??  ??ens3??)時(shí),它們將被附加到默認(rèn)區(qū)域。通過運(yùn)行以下命令進(jìn)行驗(yàn)證:

$ firewall-cmd --get-active-zones

服務(wù)

服務(wù)不過是本地端口、協(xié)議、源端口、目標(biāo)端口和防火墻幫助模塊的列表。舉些例子:

  • 端口:443、25 或 110
  • 服務(wù):SSH、HTTP
  • 協(xié)議:ICMP

如何查看與公共(public)區(qū)域相關(guān)的防火墻規(guī)則或服務(wù)

運(yùn)行

$ sudo firewall-cmd --list-all

或者

$ sudo firewall-cmd --list-all --zone=public

上面的命令表明我的默認(rèn)區(qū)域 ??public??,并且我允許傳入 SSH 連接(端口 22)、??dhcpv6-client?? 和 CentOS 8/RHEL 8 上的 ??cockpit?? 服務(wù)端口。所有其他流量默認(rèn)被丟棄。如果我在 CentOS 8 上配置 Apache 或 Nginx,則我需要使用 ??firewall-cmd?? 打開 80/443 端口。假設(shè)您不想要 ??cockpit??  ??dhcpv6-client?? 等不必要的服務(wù),您可以通過修改規(guī)則來刪除它們。例如,刪除服務(wù) ??dhcpv6-client??  ??cockpit??:

$ sudo firewall-cmd --remove-service=cockpit --permanent
$ sudo firewall-cmd --remove-service=dhcpv6-client --permanent
$ sudo firewall-cmd --reload
$ sudo firewall-cmd --list-services

如何查看當(dāng)前區(qū)域允許的服務(wù)

$ sudo firewall-cmd --list-services

或者

$ sudo firewall-cmd --list-services --zone=public
$ sudo firewall-cmd --list-services --zone=home

或使用 ??bash??  ??for?? 循環(huán),如下所示:

## or just use 'sudo firewall-cmd --list-all-zones' ##
for z in $(firewall-cmd --get-zones)
do  
    echo "Services allowed in $z zone: $(sudo firewall-cmd --list-services --zone=$z)"
done

如何在 CentOS 8 上啟動(dòng)、停止、重啟 firewalld 服務(wù)

到目前為止,您已經(jīng)了解了 ??firewalld?? 區(qū)域、服務(wù)以及如何查看默認(rèn)值。是時(shí)候在 CentOS 8 Linux 機(jī)器上激活和配置我們的防火墻了。

啟動(dòng)并啟用 ??firewalld??

$ sudo systemctl start firewalld
$ sudo systemctl enable firewalld

停止并禁用 ??firewalld??

$ sudo systemctl stop firewalld
$ sudo systemctl disable firewalld

檢查 ??firewalld?? 狀態(tài)

$ sudo firewall-cmd --state

更改規(guī)則時(shí)重新加載 ??firewalld?? 配置的命令

$ sudo firewall-cmd --reload

獲取 ??firewalld?? 服務(wù)的狀態(tài)

$ sudo systemctl status firewalld

了解運(yùn)行時(shí)和永久性防火墻規(guī)則集

運(yùn)行時(shí)更改 ??firewalld?? 的配置是臨時(shí)的。當(dāng)您重新啟動(dòng) CetnOS 8 服務(wù)器時(shí),這些配置就消失了。例如,以下命令將臨時(shí)為 Nginx/Apache Web 服務(wù)器打開 80/443(https)TCP 端口  :

$ sudo firewall-cmd --zone=public --add-service=http
$ sudo firewall-cmd --zone=public --add-service=https

當(dāng)您重新啟動(dòng) Linux 機(jī)器或重新啟動(dòng)防火墻服務(wù)本身時(shí),上述規(guī)則不會(huì)保留。

如何將規(guī)則添加到永久的規(guī)則集中,并重新加載 ??firewalld??

讓我們永久添加規(guī)則(HTTPS/443 和 HTTP/80)并重新加載 firewalld:

$ sudo firewall-cmd --zone=public --add-service=http --permanent
$ sudo firewall-cmd --zone=public --add-service=https --permanent
$ sudo firewall-cmd --reload

驗(yàn)證

$ sudo firewall-cmd --list-services
$ sudo firewall-cmd --list-services --permanent

Firewalld 的運(yùn)行時(shí)與永久性規(guī)則集示例

如何查找 firewalld 支持的服務(wù)列表

在您的系統(tǒng)上,語法如下:

$ sudo firewall-cmd --get-services
$ sudo firewall-cmd --get-services | grep mysql
$ ls -l /usr/lib/firewalld/services/
$ cat /usr/lib/firewalld/services/ssh.xml

用 firewalld 獲取可從規(guī)則集中添加或刪除的服務(wù)列表

Firewalld 規(guī)則集示例

讓我們看看默認(rèn)區(qū)域的一些常見的 ??firewalld?? 示例。

如何將服務(wù)添加到您的區(qū)域

添加 dns 服務(wù)(TCP/UDP 53 端口):

sudo firewall-cmd --zone=public --add-service=dns --permanent

如何從您的區(qū)域中移除(刪除)服務(wù)

刪除 vnc 服務(wù)器服務(wù)(TCP 端口范圍 5900-5903):

sudo firewall-cmd --zone=public --remove-service=vnc-server --permanent

如何允許/打開 TCP/UDP 端口/協(xié)議

打開 TCP 端口 # 9009 :

sudo firewall-cmd --zone=public --add-port=9009/tcp --permanent

要查看添加的端口,請運(yùn)行:

$ sudo firewall-cmd --zone=internal --list-ports

如何拒絕/阻止 TCP/UDP 端口/協(xié)議

打開 TCP 端口 # 23:

sudo firewall-cmd --zone=public --remove-port=23/tcp --permanent

如何編寫端口轉(zhuǎn)發(fā) ??firewalld?? 規(guī)則

在同一臺(tái)服務(wù)器上將 443 TCP 端口轉(zhuǎn)發(fā)到 8080:

$ sudo firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080 --permanent

要?jiǎng)h除上述的端口轉(zhuǎn)發(fā),請運(yùn)行

$ sudo firewall-cmd --zone=public --remove-forward-port=port=80:proto=tcp:toport=8080

如果您需要將流量(端口 443)轉(zhuǎn)發(fā)到托管在 192.168.2.42 的 lxd 服務(wù)器/容器的 443 端口,請開啟偽裝

$ sudo firewall-cmd --zone=public --add-masquerade
$ sudo firewall-cmd --zone=public --add-forward-port=port=443:proto=tcp:toport=443:toaddr=192.168.2.42 --permanent

要?jiǎng)h除上述偽裝規(guī)則,請運(yùn)行

$ sudo firewall-cmd --zone=public --remove-masquerade
$ firewall-cmd --zone=public --remove-forward-port=port=443:proto=tcp:toport=443:toaddr=192.168.2.42 --permanent

像往常一樣使用以下命令列出規(guī)則:

$ firewall-cmd --zone=public --list-all --permanent

Rich 規(guī)則示例

假設(shè)您只想允許從 10.8.0.8 IP 地址訪問 SSH 端口 22,請運(yùn)行:

sudo firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" source address="10.8.0.8" port port=22 protocol=tcp accept'

要驗(yàn)證新規(guī)則,請運(yùn)行:

$ sudo firewall-cmd --list-rich-rules --permanent

在以下示例中,允許 192.168.1.0/24 子網(wǎng)訪問 tcp 端口 11211:

sudo firewall-cmd --permanent --zone=public --add-rich-rule='
rule family="ipv4"
source address="192.168.1.0/24"
port protocol="tcp" port="11211" accept'

再次驗(yàn)證它:

$ sudo firewall-cmd --list-rich-rules --permanent

輸出示例:

rule family="ipv4" source address="10.8.0.8" port port="22" protocol="tcp" accept
rule family="ipv4" source address="192.168.1.0/24" port port="11211" protocol="tcp" accept

您可以按照如下所示刪除 rich 規(guī)則:

$ sudo firewall-cmd --remove-rich-rule 'rule family="ipv4" source address="10.8.0.8" port port=22 protocol=tcp accept' --permanent
$ sudo firewall-cmd --remove-rich-rule 'rule family="ipv4" source address="192.168.1.0/24" port port="11211" protocol="tcp" accept' --permanent

結(jié)論

您已經(jīng)了解了 firewalld 的基本概念和 CentOS 8 服務(wù)器的一些常見示例。有關(guān)更多信息,請參閱的官方(https://firewalld.org/documentation/)??firewalld?? 文檔。

責(zé)任編輯:龐桂玉 來源: 馬哥Linux運(yùn)維
相關(guān)推薦

2020-05-14 22:00:43

FirewallD防火墻系統(tǒng)運(yùn)維

2011-01-05 09:19:59

防火墻firewalld

2025-05-13 08:30:00

Firewalld防火墻Linux

2010-03-31 17:43:44

CentOS防火墻

2018-09-17 12:20:55

2010-03-24 14:23:11

CentOS防火墻

2017-01-05 15:15:59

UFWUbuntu配置防火墻

2010-03-29 13:08:24

CentOS防火墻

2014-08-05 09:50:40

CentOS防火墻

2011-03-16 12:46:29

CentOSiptables防火墻

2018-10-09 09:00:02

2011-07-19 10:06:16

2010-08-03 09:39:45

路由器

2012-03-12 11:21:12

虛擬防火墻虛擬化平臺(tái)虛擬機(jī)

2009-12-02 18:54:28

2009-12-08 17:37:49

Windows 7防火

2013-01-24 10:40:09

Fedora 18

2011-03-16 11:20:26

2011-12-07 13:36:53

ibmdw

2010-01-06 10:16:37

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 中文字幕综合在线 | 中文字幕高清一区 | 亚洲国产精品日本 | 日韩不卡在线 | 东京久久 | 国产精品不卡一区 | 亚洲va欧美va天堂v国产综合 | 天天草天天干 | 日韩午夜精品 | 国产无人区一区二区三区 | 久久com| 国产精品国产三级国产aⅴ浪潮 | 日韩在线资源 | 综合一区 | 欧洲性生活视频 | 国产精品一区一区 | 午夜视频一区二区三区 | 久久免费精品视频 | 国产成人精品久久二区二区91 | 欧美毛片免费观看 | 欧美激情一区 | 精品一区国产 | 就操在线 | 久草视频观看 | 欧美一区二区 | 操夜夜| 国产一级视频在线观看 | 亚洲国产成人av好男人在线观看 | 亚洲日韩第一页 | 精品视频99 | 亚洲精品视频一区 | 国产欧美综合在线 | 一区中文字幕 | av片网 | 久久精品国产一区二区三区不卡 | 久免费视频 | 欧美综合在线视频 | 亚洲网视频 | 一级黄色片毛片 | 国产黄色在线观看 | 久久综合av |