1. 程式人生 > 實用技巧 >Linux系統通過firewall限制或開放IP及埠

Linux系統通過firewall限制或開放IP及埠

一、檢視防火牆狀態

1、首先檢視防火牆是否開啟,如未開啟,需要先開啟防火牆並作開機自啟

systemctl status firewalld

開啟防火牆並設定開機自啟

  1. systemctl start firewalld
  2. 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