rhel 7:firewall-cmd工具,firewalld服務(wù)
1、區(qū)域:
firewalld將網(wǎng)卡對(duì)應(yīng)到不同的區(qū)域(zone),通過(guò)不同的zone定義了不同的安全等級(jí)
trusted :允許所有流量通過(guò)
home/internal:僅允許ssh數(shù)據(jù)通過(guò)
work:僅允許ssh,ipp-client,dhcpv6-client數(shù)據(jù)通過(guò)
public:默認(rèn)區(qū)域,僅允許ssh,dhcpv6-client數(shù)據(jù)通過(guò)
external:僅允許ssh數(shù)據(jù)通過(guò)嫉鲸,通過(guò)該區(qū)域的數(shù)據(jù)將會(huì)偽裝(SNAT/DNAT)
dmz:僅允許ssh數(shù)據(jù)通過(guò)
block:任何傳入的網(wǎng)絡(luò)數(shù)據(jù)包都將被阻止。拒絕所有流量
drop:拒絕所有流量歹啼,沒(méi)有返回回應(yīng)消息
2玄渗、命令詳解
firewall-cmd --permanent
--permanent #永久生效的配置參數(shù)、資源狸眼、端口以及服務(wù)等信息
1藤树、域zone相關(guān)的命令
--get-default-zone #查詢(xún)默認(rèn)的區(qū)域名稱(chēng)
--set-default-zone=<區(qū)域名稱(chēng)> #設(shè)置默認(rèn)的區(qū)域
--get-active-zones #顯示當(dāng)前正在使用的區(qū)域與網(wǎng)卡名稱(chēng)
--get-zones #顯示總共可用的區(qū)域
2、services管理的命令
--add-service=<服務(wù)名> --zone=<區(qū)域> #設(shè)置指定區(qū)域允許該服務(wù)的流量
--remove-service=<服務(wù)名> --zone=<區(qū)域> #設(shè)置指定區(qū)域不再允許該服務(wù)的流量
3拓萌、Port相關(guān)命令
--add-port=<端口號(hào)/協(xié)議> --zone=<區(qū)域> #設(shè)置指定區(qū)域允許該端口的流量
--remove-port=<端口號(hào)/協(xié)議> --zone=<區(qū)域> #設(shè)置指定區(qū)域不再允許該端口的流量
4岁钓、查看所有規(guī)則的命令
--list-all --zone=<區(qū)域> 顯示指定區(qū)域的網(wǎng)卡配置參數(shù)、資源微王、端口以及服務(wù)等信息
--reload #讓“永久生效”的配置規(guī)則立即生效屡限,并覆蓋當(dāng)前的配置規(guī)則
3、firewalld配置使用
1炕倘、查看默認(rèn)區(qū)域:
環(huán)境:
firewall-server/ip:192.168.94.133
test/ip:192.168.94.134
[root@firewall-server ~]# netstat -lntp | grep :80
tcp6 0 0 :::80 :::* LISTEN 1250/httpd
[root@firewall-server ~]# systemctl start firewalld
[root@firewall-server ~]# firewall-cmd --get-default-zone
public
驗(yàn)證:
[root@test ~]# curl -I 192.168.94.133
curl: (7) Failed connect to 192.168.94.133:80; No route to host
2钧大、更改默認(rèn)區(qū)域
[root@firewall-server ~]# firewall-cmd --set-default-zone=trusted
success
[root@firewall-server ~]# firewall-cmd --reload
success
驗(yàn)證:
[root@test ~]# curl -I 192.168.94.133
HTTP/1.1 200 OK
================================================
修改回默認(rèn)區(qū)域:
[root@firewall-server ~]# firewall-cmd --set-default-zone=public
success
[root@firewall-server ~]# firewall-cmd --reload
success
3.向public區(qū)域添加服務(wù)
[root@firewall-server ~]# firewall-cmd --permanent --add-service=http --zone=public
success
[root@firewall-server ~]# firewall-cmd --reload
success
驗(yàn)證:
[root@test ~]# curl -I 192.168.94.133
HTTP/1.1 200 OK
4.指定IP地址為192.168.94.134/24的客戶(hù)端進(jìn)入drop區(qū)域
[root@firewall-server ~]# firewall-cmd --permanent --add-source=192.168.94.134/24 --zone=drop
success
[root@firewall-server ~]# firewall-cmd --reload
success
驗(yàn)證:
[root@test ~]# curl -I 192.168.94.133 #訪問(wèn)不通
5.將192.168.94.134/24移除drop區(qū)域
[root@firewall-server ~]# firewall-cmd --permanent --remove-source=192.168.94.134/24 --zone=drop
success
[root@firewall-server ~]# firewall-cmd --reload
success
驗(yàn)證:
[root@test ~]# curl -I 192.168.94.133
HTTP/1.1 200 OK
6.向pubic區(qū)域添加服務(wù),以添加端口的方式
[root@firewall-server ~]# firewall-cmd --permanent --add-port=80/tcp --zone=public
success
[root@firewall-server ~]# firewall-cmd --reload
success
驗(yàn)證:
[root@test ~]# curl -I 192.168.94.133:80
HTTP/1.1 200 OK
7罩旋、刪除服務(wù)啊央、端口
[root@firewall-server ~]# firewall-cmd --permanent --remove-service=http --zone=public
success
[root@firewall-server ~]# firewall-cmd --reload
success
驗(yàn)證:
用192.168.94.134訪問(wèn)192.168.94.133機(jī)器
[root@test ~]# curl -I http://192.168.94.133 #訪問(wèn)通
HTTP/1.1 200 OK
====================================================================================
[root@firewall-server ~]# firewall-cmd --permanent --remove-port=80/tcp --zone=public
success
[root@firewall-server ~]# firewall-cmd --reload
success
驗(yàn)證:
在192.168.94.134訪問(wèn)192.168.94.133機(jī)器
[root@test ~]# curl -I http://192.168.94.133 #訪問(wèn)失敗
curl: (7) Failed connect to 192.168.94.133:80; No route to host