Linux系統通過firewall限制或開放IP及端口
廣告:
一、查看防火墻狀態
1、首先查看防火墻是否開啟,如未開啟,需要先開啟防火墻并作開機自啟
systemctl status firewalld
開啟防火墻并設置開機自啟
systemctl start firewalld
systemctl enable firewalld
一般需要重啟一下機器,不然后面做的設置可能不會生效
二、開放或限制端口
1、開放端口
(1)如我們需要開啟XShell連接時需要使用的22端口
firewall-cmd --zone=public --add-port=22/tcp --permanent
其中--permanent的作用是使設置永久生效,不加的話機器重啟之后失效
(2)重新載入一下防火墻設置,使設置生效
firewall-cmd --reload
(3)可通過如下命令查看是否生效
firewall-cmd --zone=public --query-port=22/tcp
(4)如下命令可查看當前系統打開的所有端口
firewall-cmd --zone=public --list-ports
2、限制端口
(1)比如我們現在需要關掉剛剛打開的22端口
firewall-cmd --zone=public --remove-port=22/tcp --permanent
(2)重新載入一下防火墻設置,使設置生效
firewall-cmd --reload
(3)再去查看系統所有開放的端口,已經看到沒有22端口了
firewall-cmd --zone=public --list-ports
3、批量開放或限制端口
(1)批量開放端口,如從100到500這之間的端口我們全部要打開
firewall-cmd --zone=public --add-port=100-500/tcp --permanent
(2)重新載入一下防火墻設置,使設置生效
firewall-cmd --reload
(3)查看系統所有開放的端口,可以看到從100到500的端口已被全部開放
firewall-cmd --zone=public --list-ports
(4)同理,批量限制端口為
firewall-cmd --zone=public --remove-port=100-500/tcp --permanent
firewall-cmd --reload
三、開放或限制IP
1、限制IP地址訪問
(1)比如限制IP為192.168.0.200的地址禁止訪問80端口即禁止訪問機器
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" reject"
(2)重新載入一下防火墻設置,使設置生效
firewall-cmd --reload
(3)查看已經設置的規則
firewall-cmd --zone=public --list-rich-rules
2、解除IP地址限制
(1)解除剛才被限制的192.168.0.200
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" accept"
(2)重新載入一下防火墻設置,使設置生效
firewall-cmd --reload
(3)再查看規則設置發現已經沒有192.168.0.200的限制了
firewall-cmd --zone=public --list-rich-rules
如設置未生效,可嘗試直接編輯規則文件,刪掉原來的設置規則,重新載入一下防火墻即可
vi /etc/firewalld/zones/public.xml
3、限制IP地址段
(1)如我們需要限制10.0.0.0-10.0.0.255這一整個段的IP,禁止他們訪問
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.0.0.0/24" port protocol="tcp" port="80" reject"
其中10.0.0.0/24表示為從10.0.0.0這個IP開始,24代表子網掩碼為255.255.255.0,共包含256個地址,即從0-255共256個IP,即正好限制了這一整段的IP地址,具體的設置規則可參考下表
(2)重新載入一下防火墻設置,使設置生效
firewall-cmd --reload
(3)查看規則,確認是否生效
firewall-cmd --zone=public --list-rich-rules
(4)同理,打開限制為
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.0.0.0/24" port protocol="tcp" port="80" accept"
firewall-cmd --reload
廣告: