使用firewalld打开特定IP的所有端口

使用firewalld打开特定IP的所有端口

我在一台红帽 7 机器上,我需要在防火墙上打开到特定 IP 的所有端口。

我尝试了这个命令:

firewall-cmd --permanent --zone=public --add-rich-rule='   rule family="ipv4"   source address="64.39.96.0/20"   port protocol="tcp" port="*" accept'

但我收到了无效端口错误 *

有人知道并能告诉我如何正确地做到这一点吗?

答案1

使用防火墙为此。区域可以通过接口或源 IP 地址指定。

事实上,默认情况下,已经存在一个接受所有流量的区域,名为trusted。但默认情况下,此区域中没有任何内容。因此,您甚至不需要创建区域,只需将 IP 地址添加到该区域即可trusted

firewall-cmd --zone=trusted --add-source=64.39.96.0/20

除了 CIDR 范围之外,您还可以指定以 为前缀的单个 IP 地址或 ipset 名称ipset:

此后,来自指定地址的所有流量都将被允许在任何端口上进行。请记住使其永久化,通过重复附加的命令--permanent,或者运行firewall-cmd --runtime-to-permanent

答案2

据我所知,端口可以是单个端口号123或端口范围123-456,并且*不是有效输入。

不是指定任何特定端口号/范围都将匹配任何港口。

相关内容