一、查看防火牆狀態
1、首先查看防火牆是否開啟,如未開啟,需要先開啟防火牆並作開機自啟
Firewalld 是在某些 Linux 發行版上默認安裝的,但有時候需要手動安裝。CentOS 下的安裝命令如下:
$ sudo yum install firewalld
啟用 Firewalld 服務並允許自啟動
$ sudo systemctl start firewalld
$ sudo systemctl enable firewalld
$ sudo systemctl stop firewalld
$ sudo systemctl disable firewalld
確認 Firewalld 服務是否正在運行
$ sudo firewall-cmd --state
$ systemctl status firewalld
返回 running 則表示已經運行;not running 則表示沒有運行。
2、查看防火牆是否開啟了指定端口
$ firewall-cmd --zone=public --query-port=22/tcp
3、查看防護牆的默認區域及激活區域
$ firewall-cmd --get-default-zone
$ firewall-cmd --get-active-zones
二、開放或限制端口
(1)如我們需要開啟SSH連接時需要使用的22端口
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --remove-port=22/tcp --permanent
(2)重新載入一下防火牆設置,使設置生效
firewall-cmd --reload
三、開放或限制IP
(1)開放或限制指定IP對特定端口的訪問
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" reject"
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" accept"
(2)開發或限制指定IP段對特定端口的訪問
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.72.0.0/16" port protocol="tcp" port="5200" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.72.0.0/16" port protocol="tcp" port="5200" reject"
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="10.72.0.0/16" port protocol="tcp" port="5200" reject"
(3)開放特定IP段可以訪問任意端口
firewall-cmd --permanent --zone=trusted --add-source=10.25.11.0/24
firewall-cmd --permanent --zone=trusted --remove-source=10.25.11.0/24
(4)重新載入一下防火牆設置,使設置生效
firewall-cmd --reload
四、獲取防火牆配置的詳細信息,輸入以下命令:
$ sudo firewall-cmd --list-all-zones
五、Windows防火牆配置方式如下:
附,IP段范圍(子網掩碼),示例:10.0.0.0/24表示為從10.0.0.0這個IP開始,24代表子網掩碼為255.255.255.0,共包含256個地址,即從0-255共256個IP,即正好限制了這一整段的IP地址,具體的設置規則可參考下表