在Linux系统上管理防火墙通常使用的是iptables命令或者更近期的firewalld服务。下面我会分别介绍如何查询开放端口、放行端口和取消放行端口的操作。

1. 使用iptables

查询开放端口

sudo iptables -nL

这个命令将显示当前所有的iptables规则,你可以在其中找到已经开放的端口。

放行端口

sudo iptables -A INPUT -p <protocol> --dport <port_number> -j ACCEPT

这个命令将允许指定协议和端口的流量通过防火墙。

取消放行端口

首先,你需要查找到已经放行的规则的编号,可以使用 sudo iptables -nL --line-numbers 来查看规则编号。然后使用下面的命令取消放行端口:

sudo iptables -D INPUT <rule_number>

<rule_number> 替换为你要取消的规则的编号。

2. 使用firewalld

查询开放端口

sudo firewall-cmd --list-ports

这个命令将列出当前已经开放的端口。

放行端口

sudo firewall-cmd --zone=public --add-port=<port_number>/<protocol> --permanent
sudo firewall-cmd --reload

这个命令将允许指定协议和端口的流量通过防火墙,并永久保存这个设置。

取消放行端口

sudo firewall-cmd --zone=public --remove-port=<port_number>/<protocol> --permanent
sudo firewall-cmd --reload

这个命令将取消指定协议和端口的放行规则,并永久保存这个更改。

请注意,以上命令中的 <port_number><protocol> 需要替换为你实际要操作的端口号和协议。

使用用例:

sudo firewall-cmd --zone=public --add-port=<port_number>/<protocol> --permanent用这个开放20880-20980的tcp和udp端口

你可以使用以下命令将范围内的 TCP 和 UDP 端口打开,并永久保存这个设置:

sudo firewall-cmd --zone=public --add-port=20880-20980/tcp --add-port=20880-20980/udp --permanent
sudo firewall-cmd --reload

这个命令将在防火墙中放行从 20880 到 20980 的 TCP 和 UDP 端口范围。