一、概述
1、目的
服務(wù)A使用端口9001,只有允許的應(yīng)用才可以訪問(wèn),其它未經(jīng)允許服務(wù)無(wú)法正常訪問(wèn)(即默認(rèn)應(yīng)用無(wú)法正常訪問(wèn))。
2、處理思路
1)啟用防火墻。2)關(guān)閉端口訪問(wèn),默認(rèn)應(yīng)用無(wú)法直接訪問(wèn)。3)設(shè)置特定ip可以訪問(wèn)特定端口。
二、啟用防火墻
1、首先查看防火墻是否開(kāi)啟
#查看防火墻狀態(tài)
systemctl status firewalld

2、綠色active代表服務(wù)已啟動(dòng)。如果未啟動(dòng),開(kāi)啟防火墻并設(shè)置開(kāi)機(jī)啟動(dòng)。
#開(kāi)啟防火墻
systemctl start firewalld
#開(kāi)機(jī)啟動(dòng)
systemctl enable firewalld
三、關(guān)閉端口訪問(wèn)
1、確保端口關(guān)閉。如果已開(kāi)放則關(guān)閉端口。此處端口如果開(kāi)放,是所有ip都可以進(jìn)行訪問(wèn)。
#查詢(xún)打開(kāi)的端口
firewall-cmd --zone=public --list-ports

2、關(guān)閉端口,如果端口未開(kāi)啟則無(wú)需關(guān)閉。
#關(guān)閉端口9001
firewall-cmd --zone=public --remove-port=9001/tcp --permanent
#重新載入一下防火墻設(shè)置,使設(shè)置生效
firewall-cmd --reload
#查詢(xún)打開(kāi)的端口
firewall-cmd --zone=public --list-ports

四、開(kāi)放ip訪問(wèn)
#允許ip192.168.0.1訪問(wèn)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、開(kāi)放或限制端口(端口開(kāi)放,所有ip都可以訪問(wèn))
#開(kāi)放9001端口
firewall-cmd --zone=public --add-port=9001/tcp --permanent
#重新載入一下防火墻設(shè)置,使設(shè)置生效
firewall-cmd --reload
#通過(guò)如下命令查看9001是否生效
firewall-cmd --zone=public --query-port=9001/tcp
#系統(tǒng)打開(kāi)的所有端口
firewall-cmd --zone=public --list-ports
#關(guān)掉剛剛打開(kāi)的9001端口
firewall-cmd --zone=public --remove-port=9001/tcp --permanent
firewall-cmd --reload
3、批量開(kāi)放或限制端口
#批量開(kāi)放端口,如從9002到9005這之間的端口我們?nèi)恳蜷_(kā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、開(kāi)放或限制ip(設(shè)置規(guī)則)
#開(kāi)放IP為192.168.0.0的地址允許訪問(wèn)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的地址禁止訪問(wèn)9001端口即禁止訪問(wèn)機(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ī)則文件,刪掉原來(lái)的設(shè)置規(guī)則,重新載入一下防火墻即可
vi /etc/firewalld/zones/public.xml