Linux防火墻firewall只允許特定ip訪問

一、概述

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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容