温馨提示×

Linux防火墙如何测试

小樊
217
2025-02-17 15:36:17
栏目: 智能运维

在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
    

    然后使用 telnetnc 命令测试端口连通性:

    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。此外,修改防火墙规则后,通常需要重新加载或重启防火墙服务以使更改生效。在进行任何更改之前,请确保了解这些命令的作用,以免意外阻止合法的网络流量。

0