如何在 UFW 中同时允许多个端口?

如何在 UFW 中同时允许多个端口?

我已经安装了新的 Ubuntu 16.04 并启用ufw

ufw enable

我尝试了以下方法来同时取消过滤多个端口:

ufw allow 22/tcp 25/tcp 80/tcp 443/tcp 9000/tcp
ufw allow 22/tcp, 25/tcp, 80/tcp, 443/tcp, 9000/tcp
ufw allow {22/tcp,25/tcp,80/tcp,443/tcp,9000/tcp}

这三种方式都会带来同样的错误:

错误:参数数量错误

使用 UFW 取消过滤多个端口是否可行?

答案1

您可以允许多个 (TCP或者UDP)端口,如下所示:

ufw allow 22,25,80,443,9000/tcp

或者,您可以通过这种方式添加端口范围(来源和更多解释):

ufw allow 11200:11299/tcp

对于更复杂的配置,您可以创建可包含一个或多个自定义配置文件的自定义配置文件。例如(man ufw完整示例):

$ cat /etc/ufw/applications.d/my-custom-profiles

[MyCustomProfile]
title=Some title
description=Some description
ports=22,25,80,443/tcp|9005:9007/tcp|9000

这将通过 TCP 打开端口 22、25、80、443、9005-9007,并通过 TCP 和 UDP 打开端口 9000。请注意,端口范围 9005:9007 是单独提及的,这与手册页推荐的内容。但这就是它在 Debian Bullseye 中的工作方式。

您可以通过这种方式允许任何配置文件:

ufw allow MyCustomProfile

答案2

对于任何处理该消息的人来说

警告:“配置文件‘cassandra’中的端口无效”

或者只是尝试在 Ubuntu 中的 UFW 上设置 Cassandra,我发现上面的 pa4080 ports= 示例是唯一可以正常工作的东西。发现这一点后,我仔细地回过头来研究它,似乎对于多个端口,UFW 都需要最后一个端口上的 /tcp(或者我假设其他同样有效的端口)。

[cassandra]
title=cassandra ufw rules
description=cassandra needs these ports to run
ports=22,7000,7001,7199,9042,9142,9160/tcp

我发现这是 UFW 的完整且可接受的条目。

我花了相当多的时间阅读文档,并记录下我可能感兴趣的内容。

Public port
Port number.    Description  
22            SSH port

Cassandra inter-node ports
Port number.    Description
 7000           Cassandra inter-node cluster communication.
 7001           Cassandra SSL inter-node cluster communication.
 7199           Cassandra JMX monitoring port.

Cassandra client ports
Port number.    Description
 9042           Cassandra client port.
 9160           Cassandra client port (Thrift).
 9142           Default for native_transport_port_ssl, useful when both encrypted and unencrypted connections are required

手动执行此操作:

sudo ufw allow 22
sudo ufw allow 7001
sudo ufw allow 7199
sudo ufw allow 7000
sudo ufw allow 9042
sudo ufw allow 9160
sudo ufw allow 9142

端口 7000 和 9042 必须可供外部节点连接。作为一项安全措施,请将这些端口的连接限制为集群中任何其他节点的 IP 地址。

ufw allow proto tcp from [external_node_ip_address] to any port 7000,9042 comment "Cassandra TCP"

下一步是ufw allow from 192.168.0.0/16 to any app cassandra测试它。

答案3

我通过实验发现了以下消息:“配置文件*****中的端口无效”

仅当您未指定协议时才会发生。例如:

ports=5900:5910——不正确!

ports=5900:5910/tcp - 正确!

这仅适用于指定端口范围

相关内容