linux firewall-cmd命令 开放端口

在Linux系统中,使用firewalld作为防火墙管理工具时,你可以使用firewall-cmd命令来开放端口。firewalld是Fedora、RHEL 8/9等现代Linux发行版中的默认防火墙管理工具,它提供了命令行界面来配置和管理防火墙规则。

开放端口

要开放一个端口,你可以使用以下命令格式:

firewall-cmd --zone=public --add-port=<端口号>/<协议> --permanent

这里,<端口号>是你想要开放的端口号,例如8080<协议>是协议类型,通常是tcpudp

例如,要开放TCP协议的8080端口,你可以使用:

firewall-cmd --zone=public --add-port=8080/tcp --permanent

重新加载防火墙规则

添加端口规则后,你需要重新加载firewalld的配置,使改动生效:

firewall-cmd --reload

检查端口是否开放

要检查端口是否已经开放,可以使用以下命令:

firewall-cmd --zone=public --list-ports

firewall-cmd --list-all --zone=public

这将列出当前在public区域开放的端口。

开放多个端口或范围

如果你需要一次性开放多个端口或一个端口范围,可以使用以下命令:

firewall-cmd --zone=public --add-port=8080-8090/tcp --permanent

这将同时开放从8080到8090的TCP端口。

关闭端口

如果你需要关闭之前开放的端口,可以使用以下命令:

firewall-cmd --zone=public --remove-port=<端口号>/<协议> --permanent

例如,关闭TCP协议的8080端口:

firewall-cmd --zone=public --remove-port=8080/tcp --permanent

然后再次重新加载防火墙规则:

firewall-cmd --reload

linux iptables开放端口

在Linux系统中,使用iptables工具可以灵活地配置网络流量过滤规则,包括允许或拒绝特定的端口和流量。如果你想开放一个特定的端口,以便允许外部设备或服务通过该端口访问你的服务器,你可以按照以下步骤操作:

1. 确定端口号

首先,你需要确定你想要开放的端口号。例如,假设你想要开放端口80(HTTP)和端口443(HTTPS)。

2. 允许特定端口的流量

开放特定端口的入站流量

要允许外部设备访问你的服务器上的特定端口,你需要添加一条规则来允许入站流量。例如,开放端口80和443的命令如下:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

这里:

  • -A INPUT 表示添加一条规则到INPUT链。

  • -p tcp 指定协议为TCP。

  • --dport 80 或 --dport 443 指定目标端口。

  • -j ACCEPT 表示匹配的流量将被接受。

开放特定端口的出站流量

如果你想允许你的服务器向外部发起连接,例如访问互联网,你可以添加规则来允许出站流量。例如,开放所有出站流量的命令如下:

sudo iptables -A OUTPUT -p tcp -j ACCEPT

或者,如果你只想开放特定的端口,比如端口80和443用于出站连接:

sudo iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

sudo iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT

这里:

  • -A OUTPUT 表示添加一条规则到OUTPUT链。

  • --sport 指定源端口。注意这里的用法是针对出站连接,如果你想控制出站到特定端口的流量,使用--dport

为了验证你的规则是否正确设置,你可以列出当前的iptables规则:

sudo iptables -L -v -n

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐