Linux防火牆firewall只允許特定ip訪問
1、目的
服務A使用埠9001,只有允許的應用才可以訪問,其它未經允許服務無法正常訪問(即預設應用無法正常訪問)。
2、處理思路
1)啟用防火牆。2)關閉埠訪問,預設應用無法直接訪問。3)設定特定ip可以訪問特定埠。
二、啟用防火牆
1、首先檢視防火牆是否開啟
檢視防火牆狀態
systemctl status firewalld
2、綠色active代表服務已啟動。如果未啟動,開啟防火牆並設定開機啟動。
開啟防火牆
systemctl start firewalld
開機啟動
systemctl enable firewalld
三、關閉埠訪問
1、確保埠關閉。如果已開放則關閉埠。此處埠如果開放,是所有ip都可以進行訪問。
查詢開啟的埠
firewall-cmd --zone=public --list-ports
2、關閉埠,如果埠未開啟則無需關閉。
關閉埠9001
firewall-cmd --zone=public --remove-port=9001/tcp --permanent
重新載入一下防火牆設定,使設定生效
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"
重新載入一下防火牆設定,使設定生效
firewall-cmd --reload
檢視已設定規則
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
重新載入一下防火牆設定,使設定生效
firewall-cmd --reload
通過如下命令檢視9001是否生效
firewall-cmd --zone=public --query-port=9001/tcp
系統開啟的所有埠
firewall-cmd --zone=public --list-ports
關掉剛剛開啟的9001埠
firewall-cmd --zone=public --remove-port=9001/tcp --permanent
firewall-cmd --reload
3、批量開放或限制埠
批量開放埠,如從9002到9005這之間的埠我們全部要開啟
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(設定規則)
開放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
檢視已經設定的規則
firewall-cmd --zone=public --list-rich-rules
限制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" reject"
firewall-cmd --reload
刪除已設定規則
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、如設定未生效,可嘗試直接編輯規則檔案,刪掉原來的設定規則,重新載入一下防火牆即可
vi /etc/firewalld/zones/public.xml
作者:duanyan
連結:https://www.jianshu.com/p/4801d9dbaa84
來源:簡書