我想在CentOS 7.1服务器上使用4567命令打开IP地址1.2.3.4的端口firewall-cmd

由于我发现的文档过于具体,我如何实现此目的。这个吗?

#1 楼

尝试使用此命令

firewall-cmd --permanent --zone=public --add-rich-rule='
  rule family="ipv4"
  source address="1.2.3.4/32"
  port protocol="tcp" port="4567" accept'


稍​​后检查区域文件以检查XML配置

cat /etc/firewalld/zones/public.xml


重新加载防火墙

firewall-cmd --reload


评论


那正是我在寻找的东西,感谢您的有用和简单的回答!

–米歇尔·佩林(MichaëlPerrin)
15年4月22日在10:10

除非您随后运行filewall-cmd reload,否则更改不会立即进行。

– Mike S
16年5月11日在15:37

正确的重新加载方法实际上是:firewall-cmd --reload

–k00k
16年5月19日在22:50

尽管此解决方案可以工作,但@ michael-hampton的解决方案是实现此目的的最防火墙方式。我认为,当没有更好的方法来做某事时,应将丰富的规则用作最后的选择。

–totokaka
17-10-10在19:10

在回答这个问题后,我完成了RHCSA,我同意。避免使用丰富的规则将导致配置更易于维护。

–Vasili Syrakis
17-10-10在20:13

#2 楼

创建一个新区域以适应此配置。 FirewallD区域由源地址和接口定义。

firewall-cmd --new-zone=special --permanent
firewall-cmd --reload
firewall-cmd --zone=special --add-source=192.0.2.4/32
firewall-cmd --zone=special --add-port=4567/tcp


当然在后两个命令中添加--permanent使其成为永久性。

评论


这应该是公认的答案。

–阿喀琉斯
18年8月30日在22:50

同意,这是恕我直言的最佳答案。为了列出该区域,请使用firewall-cmd --list-all-zones。另外,您可能希望在两个--add语句中都添加--permanent。

– Orsiris de Jong
19年5月28日在14:10

我也同意这一点,这应该是公认的答案。

– sykez
20年6月12日,9:46

太棒了!

– jesuscc29
20年8月31日在21:39