在Linux系統中,可以使用多種命令來測試防火墻的狀態和規則。以下是一些常用的方法和命令:
firewalld
的系統:查看防火墻狀態:
sudo firewall-cmd --state
如果返回 running
,表示防火墻正在運行;如果返回 not running
,表示防火墻未啟動。
列出所有防火墻規則:
sudo firewall-cmd --list-all
這個命令會顯示當前活動的區域、接口、源地址、服務、端口等信息。
測試端口連通性:
sudo firewall-cmd --zone=public --add-port=22/tcp --permanent
sudo firewall-cmd --reload
telnet 服務器IP 22
如果端口22開放,telnet
命令應該能夠成功連接到服務器的22端口。
iptables
的系統:查看防火墻狀態:
sudo iptables -L
如果輸出為空,表示沒有配置規則,但這并不意味著防火墻未運行,因為可能是使用了默認策略。
測試端口連通性:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
service iptables save
然后使用 telnet
或 nc
命令測試端口連通性:
telnet 服務器IP 22
或
nc -vz 服務器IP 22
ufw
命令(適用于Ubuntu等系統):查看防火墻狀態:
sudo ufw status
如果顯示 enabled
,則表示防火墻已啟用。
測試端口連通性:
sudo ufw allow 22/tcp
sudo ufw reload
telnet 服務器IP 22
在進行防火墻測試時,請確保你有足夠的權限來執行這些命令,通常需要使用 sudo
。此外,修改防火墻規則后,通常需要重新加載或重啟防火墻服務以使更改生效。在進行任何更改之前,請確保了解這些命令的作用,以免意外阻止合法的網絡流量。