我在一台红帽 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
,并且*
不是有效输入。
不是指定任何特定端口号/范围都将匹配任何港口。