一、概述
1、目的
服務(wù)A使用端口9001,只有允許的應(yīng)用才可以訪問,其它未經(jīng)允許服務(wù)無法正常訪問(即默認(rèn)應(yīng)用無法正常訪問)。
2、處理思路
1)啟用防火墻。2)關(guān)閉端口訪問,默認(rèn)應(yīng)用無法直接訪問。3)設(shè)置特定ip可以訪問特定端口。
二、啟用防火墻
1、首先查看防火墻是否開啟
#查看防火墻狀態(tài)
systemctl status firewalld
2、綠色active代表服務(wù)已啟動(dòng)。如果未啟動(dòng),開啟防火墻并設(shè)置開機(jī)啟動(dòng)。
#開啟防火墻
systemctl start firewalld
#開機(jī)啟動(dòng)
systemctl enable firewalld
三、關(guān)閉端口訪問
1、確保端口關(guān)閉。如果已開放則關(guān)閉端口。此處端口如果開放,是所有ip都可以進(jìn)行訪問。
#查詢打開的端口
firewall-cmd --zone=public --list-ports
2、關(guān)閉端口,如果端口未開啟則無需關(guān)閉。
#關(guān)閉端口9001
firewall-cmd --zone=public --remove-port=9001/tcp --permanent
#重新載入一下防火墻設(shè)置,使設(shè)置生效
firewall-cmd --reload
#查詢打開的端口
firewall-cmd --zone=public --list-ports
四、開放ip訪問
#允許ip192.168.0.1訪問9001端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.1" port protocol="tcp" port="9001" accept"
#重新載入一下防火墻設(shè)置,使設(shè)置生效
firewall-cmd --reload
#查看已設(shè)置規(guī)則
firewall-cmd --zone=public --list-rich-rules
五、其他常用命令
1、查看防火墻清單
firewall-cmd --list-all
fw6.png
2、開放或限制端口(端口開放,所有ip都可以訪問)
#開放9001端口
firewall-cmd --zone=public --add-port=9001/tcp --permanent
#重新載入一下防火墻設(shè)置,使設(shè)置生效
firewall-cmd --reload
#通過如下命令查看9001是否生效
firewall-cmd --zone=public --query-port=9001/tcp
#系統(tǒng)打開的所有端口
firewall-cmd --zone=public --list-ports
#關(guān)掉剛剛打開的9001端口
firewall-cmd --zone=public --remove-port=9001/tcp --permanent
firewall-cmd --reload
3、批量開放或限制端口
#批量開放端口,如從9002到9005這之間的端口我們?nèi)恳蜷_
firewall-cmd --zone=public --add-port=9002-9005/tcp --permanent
firewall-cmd --reload
#同理,批量限制端口為
firewall-cmd --zone=public --remove-port=9002-9005/tcp --permanent
firewall-cmd --reload
4、開放或限制ip(設(shè)置規(guī)則)
#開放IP為192.168.0.0的地址允許訪問9001端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.0" port protocol="tcp" port="9001" accept"
firewall-cmd --reload
#查看已經(jīng)設(shè)置的規(guī)則
firewall-cmd --zone=public --list-rich-rules
#限制IP為192.168.0.0的地址禁止訪問9001端口即禁止訪問機(jī)器
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.0" port protocol="tcp" port="9001" reject"
firewall-cmd --reload
#刪除已設(shè)置規(guī)則
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address=" 192.168.0.0" port protocol="tcp" port="9001" accept"
firewall-cmd --reload
5、如設(shè)置未生效,可嘗試直接編輯規(guī)則文件,刪掉原來的設(shè)置規(guī)則,重新載入一下防火墻即可
vi /etc/firewalld/zones/public.xml