溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

firewalld防火墻基礎配置

發(fā)布時間:2020-08-30 20:48:19 來源:網(wǎng)絡 閱讀:799 作者:張九冫 欄目:系統(tǒng)運維

Linux的防火墻體系主要工作在網(wǎng)絡層,針對TCP/IP數(shù)據(jù)包實時過濾和限制,屬于典型的包過濾防火墻。

Linux防火墻是如何檢查數(shù)據(jù)流量的?

對于進入系統(tǒng)的數(shù)據(jù)包,首先檢查的就是其源地址:

若源地址關聯(lián)到特定的區(qū)域,則執(zhí)行該區(qū)域所制定的規(guī)則;
若源地址未關聯(lián)到特定的區(qū)域,則使用傳入網(wǎng)絡接口的區(qū)域并執(zhí)行該區(qū)域所制定的規(guī)則。
若網(wǎng)絡接口未關聯(lián)到特定的區(qū)域,那么就使用默認區(qū)域并執(zhí)行該區(qū)域所制定的規(guī)則。
默認區(qū)域并不是單獨的區(qū)域,而是指向系統(tǒng)上定義的某個其他區(qū)域。默認情況下,默認區(qū)域是public,但是也可以更改默認區(qū)域。以上匹配規(guī)則,按照先后順序,第一個匹配的規(guī)則勝出,和網(wǎng)絡設備的ACL匹配規(guī)則差不多,俗稱匹配即停。
firewalld的相關預定義區(qū)域:
firewalld防火墻基礎配置
firewalld防火墻有兩種配置模式:

1 、運行時模式:表示當前內存中運行的防火墻配置,在系統(tǒng)或firewalld服務重啟、停止時將失效;

2、永久模式:表示重啟防火墻或重新加載防火墻時的規(guī)則配置,是永久存儲在配置文件中的。

firewall-cmd命令工具與配置模式相關的選項有三個:

--reload:重新加載防火墻規(guī)則并保持狀態(tài)信息,即將永久配置應用為運行時配置;
--permanent:帶有此選項的命令用于設置永久性規(guī)則,這些規(guī)則只有在重新啟動或重新加載防火墻規(guī)則時才會生效;若不帶此項,表示用于設置運行時規(guī)則。
--runtime-to-permanent:將當前運行時的配置寫入規(guī)則配置文件中,使當前內存中的規(guī)則稱為永久性配置。
1、防火墻相關命令使用:

[root@localhost ~]# systemctl start firewalld                #啟動防火墻
[root@localhost ~]# systemctl enable firewalld            #設置開機自啟動
[root@localhost /]# firewall-cmd --reload                     #重載防火墻
[root@localhost ~]# systemctl status firewalld             #查看防火墻狀態(tài)
[root@localhost ~]# systemctl stop firewalld                #停止防火墻
[root@localhost ~]# systemctl disable firewalld            #設置防火墻開機不自啟動
[root@localhost ~]# firewall-cmd --get-zones                #顯示預定義的區(qū)域
block dmz drop external home internal public trusted work
[root@localhost ~]# firewall-cmd --get-service                     #顯示預定義的服務
[root@localhost /]# firewall-cmd --list-all --zone=dmz                #查看指定區(qū)域的配置
dmz
  target: default
  icmp-block-inversion: no
  interfaces: 
  sources: 
  services: ssh
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

[root@localhost ~]# firewall-cmd --get-icmptypes                #顯示預定義的ICMP類型
address-unreachable bad-header communication-prohibited destination-unreachable 
echo-reply echo-request fragmentation-needed host-precedence-violation host-prohibited
host-redirect host-unknown host-unreachable ip-header-bad neighbour-advertisement
neighbour-solicitation network-prohibited network-redirect network-unknown 
network-unreachable no-route packet-too-big parameter-problem port-unreachable
precedence-cutoff protocol-unreachable redirect required-option-missing
router-advertisement router-solicitation source-quench source-route-failed time-exceeded
timestamp-reply timestamp-request tos-host-redirect tos-host-unreachable 
tos-network-redirect tos-network-unreachable ttl-zero-during-reassembly 
ttl-zero-during-transit unknown-header-type unknown-option

firewall-cmd --get-icmptypes命令執(zhí)行結果中部分阻塞類型的含義如下:

destination-unreachable:目的地址不可達;
echo-reply:應答回應;
parameter-problem:參數(shù)問題;
redirect:重新定向;
router-advertisement:路由器通告;
router-solicitation:路由器征尋;
source-quench:源端抑制;
time-exceeded:超時;
timestamp-reply:時間戳應答回應;
timestamp-request:時間戳請求;

2、firewalld防火墻區(qū)域管理命令及示例:

firewalld防火墻基礎配置

[root@localhost /]# firewall-cmd --set-default-zone=dmz           #設置默認區(qū)域為DMZ區(qū)域
[root@localhost ~]# firewall-cmd --get-default-zone                #顯示當前系統(tǒng)中的默認區(qū)域
[root@localhost ~]# firewall-cmd --list-all                                 #顯示默認區(qū)域的所有規(guī)則
[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33       #顯示網(wǎng)絡接口ens33對應區(qū)域
[root@localhost ~]# firewall-cmd --get-active-zones           #顯示所有激活區(qū)域
internal
  interfaces: ens33

 #執(zhí)行以下操作可將網(wǎng)絡接口ens33對應區(qū)域更改為internal區(qū)域,并查看:
 [root@localhost ~]# firewall-cmd --zone=internal --change-interface=ens33
 The interface is under control of NetworkManager, setting zone to 'internal'.
success
[root@localhost ~]# firewall-cmd --zone=internal --list-interfaces    #查看internal區(qū)域的接口列表
ens33
[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33    #查看接口ens33對應的區(qū)域
internal

3、防火墻服務管理相關命令及示例:
firewalld防火墻基礎配置
部分服務管理的示例:

為默認區(qū)域設置允許訪問的服務

 [root@localhost services]# firewall-cmd --list-services          #顯示默認區(qū)域內允許訪問的所有服務
ssh dhcpv6-client
[root@localhost services]# firewall-cmd --add-service=http     #設置默認區(qū)域允許訪問http服務
success
[root@localhost services]# firewall-cmd --add-service=https     #設置默認區(qū)域允許訪問https服務
success
[root@localhost services]# firewall-cmd --list-services               #顯示默認區(qū)域內允許訪問的所有服務

ssh dhcpv6-client http https

為internal區(qū)域設置允許訪問的服務:

[root@localhost services]# firewall-cmd --zone=internal --add-service=mysql 
#設置internal區(qū)域允許訪問mysql服務
success
[root@localhost services]# firewall-cmd --zone=internal --remove-service=samba-client 
#設置internal區(qū)域不允許訪問Samba-client服務
success
[root@localhost services]# firewall-cmd --zone=internal --list-services 
#顯示internal區(qū)域內允許訪問的所有服務
ssh mdns dhcpv6-client mysql

端口管理:
在進行服務配置時,預定義的網(wǎng)絡服務可以使用服務名配置,服務所涉及的端口就會自動打開。但是,對于非預定義的服務只能手動為指定的區(qū)域添加端口。示例如下:

 [root@localhost services]# firewall-cmd --zone=internal --add-port=443/tcp
 #在internal區(qū)域打開443/tcp端口
success
 [root@localhost services]# firewall-cmd --zone=internal --remove-port=443/tcp
 #在internal區(qū)域禁止443/tcp端口訪問
success

以上配置都為臨時配置,若想將當前配置保存為永久配置,可以使用下面命令:

 [root@localhost services]# firewall-cmd --runtime-to-permanent
success

直接配置為永久性規(guī)則,須帶--permanent選項,如下:

[root@localhost /]# firewall-cmd --add-icmp-block=echo-request --permanent   #禁止ping

success
[root@localhost /]# firewall-cmd --zone=external --add-icmp-block=echo-request --permanent           
#配置external區(qū)域禁止ping
success
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI