日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
CentOS7上安裝配置FirewallD防火墻詳解

正確配置的防火墻是整個(gè)系統(tǒng)安全性中最重要的方面之一。

“只有客戶發(fā)展了,才有我們的生存與發(fā)展!”這是創(chuàng)新互聯(lián)的服務(wù)宗旨!把網(wǎng)站當(dāng)作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個(gè)不僅審美在線,而且實(shí)用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對網(wǎng)站制作、做網(wǎng)站、網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)頁設(shè)計(jì)、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無止境。

FirewallD是一個(gè)完整的防火墻解決方案,用于管理系統(tǒng)的iptables規(guī)則,并提供用于對其進(jìn)行操作的D-Bus接口。 從centos 7開始,F(xiàn)irewallD將替換iptables為默認(rèn)的防火墻管理工具。

必要條件

Firewalld基本概念

FirewallD使用區(qū)域和服務(wù)的概念,而不是iptables鏈和規(guī)則。根據(jù)您要配置的區(qū)域和服務(wù),您可以控制允許或禁止進(jìn)出系統(tǒng)的流量。

可以使用firewall-cmd命令行實(shí)用程序配置和管理FirewallD。

Firewalld區(qū)域

區(qū)域是預(yù)定義的規(guī)則集,用于根據(jù)計(jì)算機(jī)連接到的網(wǎng)絡(luò)上的信任級別指定應(yīng)允許的流量。您可以將網(wǎng)絡(luò)接口和源分配給區(qū)域。

  • Bellow是FirewallD提供的區(qū)域,根據(jù)區(qū)域的信任級別從不信任到可信:
  • drop:刪除所有傳入連接而不發(fā)出任何通知。僅允許傳出連接。
  • block:所有傳入連接都被拒絕,其中包含用于IPv4的icmp-host-prohibited消息和用于IPv6n的icmp6-adm-prohibited。僅允許傳出連接。
  • 公眾:用于不受信任的公共場所。您不信任網(wǎng)絡(luò)上的其他計(jì)算機(jī),但您可以允許選定的傳入連接。
  • external:用于在系統(tǒng)充當(dāng)網(wǎng)關(guān)或路由器時(shí)啟用NAT偽裝的外部網(wǎng)絡(luò)。僅允許選定的傳入連接。
  • internal:用于在系統(tǒng)充當(dāng)網(wǎng)關(guān)或路由器時(shí)在內(nèi)部網(wǎng)絡(luò)上使用。網(wǎng)絡(luò)上的其他系統(tǒng)通常是可信的。僅允許選定的傳入連接。
  • dmz:用于位于非軍事區(qū)的計(jì)算機(jī),該計(jì)算機(jī)對網(wǎng)絡(luò)其余部分的訪問權(quán)限有限。僅允許選定的傳入連接。
  • 工作:用于工作機(jī)器。網(wǎng)絡(luò)上的其他計(jì)算機(jī)通常是可信的。僅允許選定的傳入連接。
  • home:用于家用機(jī)器。網(wǎng)絡(luò)上的其他計(jì)算機(jī)通常是可信的。僅允許選定的傳入連接。
  • trusted:接受所有網(wǎng)絡(luò)連接。信任網(wǎng)絡(luò)中的所有計(jì)算機(jī)。

防火墻服務(wù)

Firewalld服務(wù)是在區(qū)域內(nèi)應(yīng)用的預(yù)定義規(guī)則,并定義必要的設(shè)置以允許特定服務(wù)的傳入流量。

Firewalld運(yùn)行時(shí)和永久設(shè)置

Firewalld使用兩個(gè)獨(dú)立的配置集,運(yùn)行時(shí)和永久配置。

運(yùn)行時(shí)配置是實(shí)際運(yùn)行的配置,并且在重新啟動(dòng)時(shí)不會(huì)持久。 當(dāng)Firewalld服務(wù)啟動(dòng)時(shí),它會(huì)加載永久配置,從而成為運(yùn)行時(shí)配置。

默認(rèn)情況下,使用firewall-cmd實(shí)用程序更改Firewalld配置時(shí),更改將應(yīng)用于運(yùn)行時(shí)配置,以使更改成為永久性,您需要使用--permanent標(biāo)志。

安裝并啟用FirewallD

01、安裝FirewallD

默認(rèn)情況下,F(xiàn)irewalld安裝在CentOS 7上,但如果系統(tǒng)上未安裝,則可以通過鍵入以下命令安裝軟件包:

sudo yum install firewalld

02、檢查防火墻狀態(tài)。

默認(rèn)情況下禁用Firewalld服務(wù)。 您可以使用以下命令檢查防火墻狀態(tài)

sudo firewall-cmd --state

如果您剛剛安裝或從未激活過,則該命令將打印不運(yùn)行,否則您將看到正在運(yùn)行。

03、啟用FirewallD

要啟動(dòng)FirewallD服務(wù)并在引導(dǎo)類型上啟用它:

sudo systemctl start firewalld
sudo systemctl enable firewalld

如下圖:

使用Firewalld區(qū)域

首次啟用FirewallD服務(wù)后,公共區(qū)域?qū)⒃O(shè)置為默認(rèn)區(qū)域。 您可以鍵入以下內(nèi)容來查看默認(rèn)區(qū)域:

sudo firewall-cmd --get-default-zone

輸出:

public

要獲取所有可用區(qū)域的列表,請輸入:

sudo firewall-cmd --get-zones

輸出:

block dmz drop external home internal public trusted work

默認(rèn)情況下,為所有網(wǎng)絡(luò)接口分配默認(rèn)區(qū)域。 要檢查網(wǎng)絡(luò)接口使用的區(qū)域類型,請執(zhí)行以下操作:

sudo firewall-cmd --get-active-zones

輸出:

public
  interfaces: ens33

上面的輸出告訴我們,接口ens33分配給public區(qū)域。

您可以使用以下方式打印區(qū)域配置設(shè)置:

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

輸出:

public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources:
  services: ssh dhcpv6-client
  ports: 3389/tcp 21/tcp 60000-65535/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

以上命令截圖如下:

從上面的輸出中,我們可以看到公共區(qū)域處于活動(dòng)狀態(tài)并設(shè)置為默認(rèn)值,由ens33接口使用。還允許與DHCP客戶端和SSH相關(guān)的連接。

如果要檢查所有可用區(qū)域的配置,請鍵入:

sudo firewall-cmd --list-all-zones

該命令將打印一個(gè)巨大的列表,將所有可用區(qū)域的設(shè)置。

如下圖:

更改接口區(qū)域

您可以使用--zone標(biāo)志結(jié)合--change-interface標(biāo)志輕松更改接口區(qū)域。 以下命令將eth1接口分配給工作區(qū):

sudo firewall-cmd --zone=work --change-interface=eth1

輸入以下內(nèi)容驗(yàn)證更改:

sudo firewall-cmd --get-active-zones

輸出:
work
  interfaces: eth1
public
  interfaces: eth0

更改默認(rèn)區(qū)域

要更改默認(rèn)區(qū)域,請使用--set-default-zone標(biāo)志,后跟要作為默認(rèn)區(qū)域的名稱。 例如,要將默認(rèn)區(qū)域更改為home,您應(yīng)該運(yùn)行以下命令:

sudo firewall-cmd --set-default-zone=home

驗(yàn)證更改:

sudo firewall-cmd --get-default-zone

輸出

home

開放端口或服務(wù)

使用FirewallD,您可以根據(jù)稱為服務(wù)的預(yù)定義規(guī)則允許特定端口的流量。

要獲取所有默認(rèn)可用服務(wù)類型的列表:

sudo firewall-cmd --get-services

您可以通過在/usr/lib/firewalld/services目錄中打開關(guān)聯(lián)的.xml文件來查找有關(guān)每個(gè)服務(wù)的更多信息。 例如,HTTP服務(wù)定義如下:

/usr/lib/firewalld/services/http.xml



  WWW (HTTP)
  HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.
 

要允許公共區(qū)域中的接口傳入HTTP流量(端口80),僅針對當(dāng)前會(huì)話(運(yùn)行時(shí)配置)類型:

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

如果要修改默認(rèn)區(qū)域,可以省略--zone標(biāo)志。

要驗(yàn)證是否已成功添加服務(wù),請使用--list-services標(biāo)志:

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

輸出:

ssh dhcpv6-client http

如果你想在重新啟動(dòng)后保持端口80打開,你需要再次輸入相同的命令,但這次使用--permanent標(biāo)志:

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

使用--list-services和--permanent標(biāo)志來驗(yàn)證您的更改:

sudo firewall-cmd --permanent --zone=public --list-services

輸出:

ssh dhcpv6-client http

刪除服務(wù)的語法與添加服務(wù)時(shí)的語法相同。 只需使用--remove-service而不是--add-service標(biāo)志:

sudo firewall-cmd --zone=public --remove-service=http --permanent

上面的命令將從公共區(qū)域永久配置中刪除http服務(wù)。

如果您正在運(yùn)行沒有適當(dāng)服務(wù)的Plex Media Server等應(yīng)用程序,該怎么辦?

在這種情況下,您有兩種選擇。 您可以打開相應(yīng)的端口或定義新的FirewallD服務(wù)。

例如,Plex服務(wù)器偵聽端口32400并使用TCP,使用--add-port =標(biāo)志打開當(dāng)前會(huì)話的公共區(qū)域中的端口:

sudo firewall-cmd --zone=public --add-port=32400/tcp

協(xié)議可以是tcp或udp。

要驗(yàn)證端口是否已成功添加,請使用--list-ports標(biāo)志:

sudo firewall-cmd --zone=public --list-ports

32400/tcp

要在重新啟動(dòng)后保持端口32400打開,請通過使用--permanent標(biāo)志運(yùn)行相同的命令將規(guī)則添加到永久設(shè)置。

刪除端口的語法與添加端口時(shí)的語法相同。 只需使用--remove-port而不是--add-port標(biāo)志。

sudo firewall-cmd --zone=public --remove-port=32400/tcp

創(chuàng)建新的FirewallD服務(wù)

正如我們已經(jīng)提到的,默認(rèn)服務(wù)存儲(chǔ)在/ usr / lib / firewalld / services目錄中。 創(chuàng)建新服務(wù)的最簡單方法是將現(xiàn)有服務(wù)文件復(fù)制到/ etc / firewalld / services目錄,該目錄是用戶創(chuàng)建的服務(wù)的位置并修改文件設(shè)置。

例如,要為Plex Media Server創(chuàng)建服務(wù)定義,我們可以使用HTTP服務(wù)文件:

sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/plexmediaserver.xml

打開新創(chuàng)建的plexmediaserver.xml文件,并在標(biāo)記內(nèi)更改服務(wù)的短名稱和描述。 您需要更改的最重要標(biāo)記是端口標(biāo)記,用于定義要打開的端口號和協(xié)議。 在以下示例中,我們將打開1900個(gè)UDP和32400個(gè)TCP端口。

/etc/firewalld/services/plexmediaserver.xml



plexmediaserver
Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.


保存文件并重新加載FirewallD服務(wù):

sudo firewall-cmd --reload

您現(xiàn)在可以在區(qū)域中使用plexmediaserver服務(wù),與任何其他服務(wù)相同。

使用Firewalld轉(zhuǎn)發(fā)端口

要將流量從一個(gè)端口轉(zhuǎn)發(fā)到另一個(gè)端口或地址,請首先使用--add-masquerade開關(guān)為所需區(qū)域啟用偽裝。 例如,要為外部區(qū)域類型啟用偽裝:

sudo firewall-cmd --zone=external --add-masquerade

在同一服務(wù)器上將流量從一個(gè)端口轉(zhuǎn)發(fā)到另一個(gè)端口

在以下示例中,我們將流量從端口80轉(zhuǎn)發(fā)到同一服務(wù)器上的端口8080:

sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080

將流量轉(zhuǎn)發(fā)到其他服務(wù)器

在以下示例中,我們將流量從端口80轉(zhuǎn)發(fā)到IP 192.168.1.2的服務(wù)器上的端口80:

sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.2

將流量轉(zhuǎn)發(fā)到其他端口上的另一臺(tái)服務(wù)器

在以下示例中,我們將流量從端口80轉(zhuǎn)發(fā)到IP 192.168.1.2的服務(wù)器上的端口8080:

sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.2

如果你想使前鋒永久性只是附加--permanent標(biāo)志。

使用FirewallD創(chuàng)建規(guī)則集

在以下示例中,我們將向您展示如果您運(yùn)行Web服務(wù)器時(shí)如何配置防火墻。 我們假設(shè)您的服務(wù)器只有一個(gè)接口eth0,并且您希望僅在SSH,HTTP和HTTPS端口上允許傳入流量。

01、將默認(rèn)區(qū)域更改為dmz

我們將使用dmz(非軍事化或隔離區(qū))區(qū)域,因?yàn)槟J(rèn)情況下它只允許SSH流量。 要將默認(rèn)區(qū)域更改為dmz并將其分配給eth0接口,請運(yùn)行以下命令:

sudo firewall-cmd --set-default-zone=dmz
sudo firewall-cmd --zone=dmz --add-interface=eth0

02、打開HTTP和HTTPS端口:

要打開HTTP和HTTPS端口,請向dmz區(qū)域添加永久服務(wù)規(guī)則:

sudo firewall-cmd --permanent --zone=dmz --add-service=http
sudo firewall-cmd --permanent --zone=dmz --add-service=https

通過重新加載防火墻立即使更改生效:

03、驗(yàn)證更改

要檢查dmz區(qū)域配置設(shè)置,請鍵入:

sudo firewall-cmd --zone=dmz --list-all

輸出:

dmz (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: ssh http https
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

上面的輸出告訴我們dmz是默認(rèn)區(qū)域,應(yīng)用于eth0接口,ssh(22)http(80)和https(443)端口打開。

總結(jié)

您已經(jīng)學(xué)習(xí)了如何在CentOS系統(tǒng)上配置和管理FirewallD服務(wù)。

確保允許系統(tǒng)正常運(yùn)行所需的所有傳入連接,同時(shí)限制所有不必要的連接。


網(wǎng)站名稱:CentOS7上安裝配置FirewallD防火墻詳解
網(wǎng)頁路徑:http://www.dlmjj.cn/article/djhospe.html