Linux進階-9.防火牆管理工具2:firewalld

RHEL 7系統中集成了多款防火牆管理工具,前一章是iptables防火牆,firewalld是RHEL7中默認的防火牆配置管理工具,相對於iptables,firewalld支持動態更新技術並加入了區域(zone)的概念。區域相當於策略模板,用戶可以根據不同場景選擇合適的策略模板。

區域 				默認規則策略
阻塞區域(block):	任何傳入的網絡數據包都將被阻止
丟棄區域(drop):	任何傳入的網絡連接都被拒絕
工作區域(work):	相信網絡上的其他計算機,不會損害你的計算機
家庭區域(home):	相信網絡上的其他計算機,不會損害你的計算機
內部區域(internal):相信網絡上的其他計算機,不會損害你的計算機
公共區域(public):	只有指定數據包才被允許
隔離區域(DMZ):		非軍事管理區域,內外網絡之間增加的一層網絡,起到緩衝作用,指定數據包才被允許
信任區域(trusted):	所有的網絡連接都可以接受
外部區域(external):只有指定數據包才被允許

1.firewall-cmd

firewall-cmd是使用命令行管理防火牆工具。使用firewalld-cmd配置的防火牆策略默認當前生效模式(Runtime),系統重啓後策略會失效。如果想讓配置策略一直存在,就需要使用永久模式(Permanent),需要在firewall-cmd命令中增加–permanent參數,這樣配置的防火牆策略就可以永久生效了。但是,永久生效模式只有在系統重啓之後才能自動生效。如果想讓配置的策略立即生效,需要手動執行firewall-cmd --reload命令。

參數 							作用
--get-default-zone 				查詢默認的區域名稱
--set-default-zone=<區域名稱> 	設置默認的區域,使其永久生效
--get-zones 					顯示可用的區域
--get-services 					顯示預先定義的服務
--get-active-zones 				顯示當前正在使用的區域與網卡名稱
--add-source= 					將源自此IP或子網的流量導向指定的區域
--remove-source= 				不再將源自此IP或子網的流量導向某個指定區域
--add-interface=<網卡名稱> 		將源自該網卡的所有流量都導向某個指定區域
--change-interface=<網卡名稱> 	將某個網卡與區域進行關聯
--list-all 						顯示當前區域的網卡配置參數、資源、端口以及服務等信息
--list-all-zones 				顯示所有區域的網卡配置參數、資源、端口以及服務等信息
--query-service=<服務名> 		查詢指定服務是否可以通過
--add-service=<服務名> 			設置默認區域允許該服務的流量
--add-port=<端口號/協議> 			設置默認區域允許該端口的流量
--remove-service=<服務名> 		設置默認區域不再允許該服務的流量
--remove-port=<端口號/協議> 		設置默認區域不再允許該端口的流量
--reload 						讓“永久生效”的配置規則立即生效,並覆蓋當前的配置規則
--panic-on 						開啓應急狀況模式
--panic-off 					關閉應急狀況模式

1.1查看當前使用區域和可用區域

[root@localhost Desktop]# firewall-cmd --get-active-zones 
public
  interfaces: eno16777736

[root@localhost Desktop]# firewall-cmd --get-zones
block dmz drop external home internal public trusted work

1.2設置默認區域爲home,並將網口加入到home區域。設置默認區域不需要加–permanent參數,直接生效重啓後配置也不會還原。

[root@localhost Desktop]# firewall-cmd --set-default-zone=home
success
[root@localhost Desktop]# firewall-cmd --permanent --change-interface=eno16777736 --zone=home
success
[root@localhost Desktop]# firewall-cmd --permanent --get-zone-of-interface=eno16777736
home
[root@localhost Desktop]# firewall-cmd --reload
success

1.3查詢SSH、HTTP服務在home區域中是否允許通過,若不能通過添加通過策略。

[root@localhost Desktop]# firewall-cmd --zone=home --query-service=ssh
yes
[root@localhost Desktop]# firewall-cmd --zone=home --query-service=http
no
[root@localhost Desktop]# firewall-cmd --zone=home --add-service=http --permanent 
success
[root@localhost Desktop]# firewall-cmd --reload
success
[root@localhost Desktop]# firewall-cmd --zone=home --query-service=http
yes

1.4將65510-65520所有端口允許通過。

[root@localhost Desktop]# firewall-cmd --zone=home --add-port=65510-65520/tcp --permanent 
success
[root@localhost Desktop]# firewall-cmd --zone=home --add-port=65510-65520/udp --permanent 
success
[root@localhost Desktop]# firewall-cmd --reload
success
[root@localhost Desktop]# firewall-cmd --zone=home --list-ports
65510-65520/udp 65510-65520/tcp

1.5將HTTP對外端口修改爲8080。

[root@localhost Desktop]# firewall-cmd --zone=home --add-forward-port=port=8080:proto=tcp :toport=80 --permanent
success
[root@localhost Desktop]# firewall-cmd --reload
success

1.6拒絕訪問80端口。

[root@localhost Desktop]# firewall-cmd --zone=home --remove-service=http --permanent 
success
[root@localhost Desktop]# firewall-cmd --reload
success

1.7添加富規則,禁止192.168.10.0網段SSH登錄。富規則可以針對系統服務、端口號、源地址和目標地址等諸多信息進行更有針對性的策略配置。格式是rich-rule=“rule family=“ipv4或者ipv6” source address=“IP地址或網段” service name=“服務” 動作”。

[root@localhost Desktop]# firewall-cmd --permanent --zone=home --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"
success
[root@localhost Desktop]# firewall-cmd --reload
success

2.firewall-config

firewalld-config是配置防火牆的圖形用戶界面工具。在終端中輸入firewall-config就可以打開配置界面了,也可以在左上角Applications中Sundry下找到Firewall就是firewall-config的界面管理工具了。當你看到這個界面後,發現命令行和界面難度不是一個級別,然而做的事卻是一樣。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章