2021-05-12 14:32:11
CentOS7下Firewalld防火牆使用範例
Firewalld服務是紅帽RHEL7系統中預設的防火牆管理工具,特點是擁有執行時設定與永久設定選項且能夠支援動態更新以及"zone"的區域功能概念,使用圖形化工具firewall-config或文字管理工具firewall-cmd
區域概念與作用:
防火牆的網路區域定義了網路連線的可信等級,我們可以根據不同場景來呼叫不同的firewalld區域,區域規則有:
特別需要注意的是firewalld服務有兩份規則策略設定記錄,必需要能夠區分:
RunTime:當前正在生效的。
Permanent:永久生效的。
當下面實驗修改的是永久生效的策略記錄時,必須執行"--reload"引數後才能立即生效,否則要重新啟動後再生效。
檢視當前的區域:
[root@CentOS7 ~]# firewall-cmd --get-default-zone public
查詢網絡卡的區域:
[root@Centos7 ~]# firewall-cmd --get-zone-of-interface=eno16777736 public
在public中分別查詢ssh與http服務是否被允許:
[root@Centos7 ~]# firewall-cmd --zone=public --query-service=ssh yes [root@Centos7 ~]# firewall-cmd --zone=public --query-service=http no
設定預設規則為dmz:
[root@Centos7 ~]# firewall-cmd --set-default-zone=dmz
success
讓“永久生效”的組態檔立即生效:
[root@Centos7 ~]# firewall-cmd --reload
success
啟動/關閉應急狀況模式,阻斷所有網路連線:
應急狀況模式啟動後會禁止所有的網路連線,一切服務的請求也都會被拒絕,當心,請慎用。
[root@Centos7 ~]# firewall-cmd --panic-on
success [root@Centos7~]# firewall-cmd --panic-off
success
範例:
模擬訓練A:允許https服務流量通過public區域,要求立即生效且永久有效:
方法一:分別設定當前生效與永久有效的規則記錄:
[root@Centos7 ~]# firewall-cmd --zone=public --add-service=https success [root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-service=https success
方法二:設定永久生效的規則記錄後讀取記錄:
[root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-service=https success [root@Centos7 ~]# firewall-cmd --reload success
模擬訓練B:不再允許http服務流量通過public區域,要求立即生效且永久生效:
[root@Centos7 ~]# firewall-cmd --permanent --zone=public --remove-service=http success [root@Centos7 ~]# firewall-cmd --reload success
模擬訓練C:允許8080與8081埠流量通過public區域,立即生效且永久生效:
[root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp success [root@Centos7 ~]# firewall-cmd --reload success
模擬訓練D:檢視模擬實驗中的規則:
[root@Centos7 ~]# firewall-cmd --zone=public --list-services dhcpv6-client http https ssh [root@Centos7 ~]# firewall-cmd --zone=public --list-ports 8080-8081/tcp
模擬實驗F:設定富規則,拒絕192.168.10.0/24網段的使用者存取ssh服務:
[root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject" success
模擬實驗G:將存取主機888埠的請求轉發至22埠:
[root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.0.85 success [root@Centos7 ~]# firewall-cmd --reload success
在別的機器存取192.168.0.85(Centos7)
[root@wls12c ~]$ ssh -p 888 192.168.0.85 root@192.168.0.85's password: Last login: Mon Jan 16 17:22:42 2017 from 192.168.0.85 [root@Centos7 ~]#
圖形管理工具
本文永久更新連結地址:http://www.linuxidc.com/Linux/2017-01/139637.htm
相關文章