日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

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

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

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

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

必要條件

Firewalld基本概念

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

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

Firewalld區(qū)域

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

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

防火墻服務

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

Firewalld運行時和永久設置

Firewalld使用兩個獨立的配置集,運行時和永久配置。

運行時配置是實際運行的配置,并且在重新啟動時不會持久。 當Firewalld服務啟動時,它會加載永久配置,從而成為運行時配置。

默認情況下,使用firewall-cmd實用程序更改Firewalld配置時,更改將應用于運行時配置,以使更改成為永久性,您需要使用--permanent標志。

安裝并啟用FirewallD

01、安裝FirewallD

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

sudo yum install firewalld

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

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

sudo firewall-cmd --state

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

03、啟用FirewallD

要啟動FirewallD服務并在引導類型上啟用它:

sudo systemctl start firewalld
sudo systemctl enable firewalld

如下圖:

使用Firewalld區(qū)域

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

sudo firewall-cmd --get-default-zone

輸出:

public

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

sudo firewall-cmd --get-zones

輸出:

block dmz drop external home internal public trusted work

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

sudo firewall-cmd --get-active-zones

輸出:

public
  interfaces: ens33

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

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

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ū)域處于活動狀態(tài)并設置為默認值,由ens33接口使用。還允許與DHCP客戶端和SSH相關的連接。

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

sudo firewall-cmd --list-all-zones

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

如下圖:

更改接口區(qū)域

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

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

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

sudo firewall-cmd --get-active-zones

輸出:
work
  interfaces: eth1
public
  interfaces: eth0

更改默認區(qū)域

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

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

驗證更改:

sudo firewall-cmd --get-default-zone

輸出

home

開放端口或服務

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

要獲取所有默認可用服務類型的列表:

sudo firewall-cmd --get-services

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

/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),僅針對當前會話(運行時配置)類型:

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

如果要修改默認區(qū)域,可以省略--zone標志。

要驗證是否已成功添加服務,請使用--list-services標志:

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

輸出:

ssh dhcpv6-client http

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

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

使用--list-services和--permanent標志來驗證您的更改:

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

輸出:

ssh dhcpv6-client http

刪除服務的語法與添加服務時的語法相同。 只需使用--remove-service而不是--add-service標志:

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

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

如果您正在運行沒有適當服務的Plex Media Server等應用程序,該怎么辦?

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

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

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

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

要驗證端口是否已成功添加,請使用--list-ports標志:

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

32400/tcp

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

刪除端口的語法與添加端口時的語法相同。 只需使用--remove-port而不是--add-port標志。

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

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

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

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

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

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

sudo firewall-cmd --reload

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

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

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

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

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

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

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

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

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

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

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

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

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

如果你想使前鋒永久性只是附加--permanent標志。

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

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

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

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

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

02、打開HTTP和HTTPS端口:

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

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

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

03、驗證更改

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

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是默認區(qū)域,應用于eth0接口,ssh(22)http(80)和https(443)端口打開。

總結(jié)

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

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


本文名稱:CentOS7上安裝配置FirewallD防火墻詳解
文章出自:http://m.5511xx.com/article/djhospe.html