在 Centos7 中向 firewalld 添加规则以允许来自服务器的所有流量

add rule to firewalld in Centos7 to allow all traffic from a server

我有一个 Centos7 的小集群。我正在尝试如何使用新的 firewalld。

我需要一个规则来允许这些服务器之间的所有流量。 我能够做到这一点:

sudo iptables -A INPUT -s [hostname] -j ACCEPT 

它奏效了。但是现在由于 Centos 7,我必须使用 firewall-cmd。如何添加规则以允许我的节点之间的所有流量? 我正在尝试对它们进行 运行 MPI,但 firewalld 拒绝连接,所以我想到了解决方案。

我当前的 firewall-cmd 配置是:

$ firewall-cmd --list-all
work (default, active)
  interfaces: eno1
  sources:
  services: dhcpv6-client ipp-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

首先检查您的防火墙使用 ATM 的区域:

firewall-cmd --get-active-zones

然后尝试以下操作:

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

不要忘记将区域和端口替换为您要查找的区域和端口。之后你需要重新加载防火墙:

firewall-cmd --reload

这应该可以解决您的问题。有关更多命令,请使用 --help 或 Google.

我尝试使用此添加源:

sudo firewall-cmd --permanent --zone=work --add-source=[host_IP]

但还是无法正确地制作MPI应用程序运行。 然后决定在这个集群上启用 MPI 的唯一方法是制定一个规则来接受节点之间的所有流量。 我 运行 这 2 个命令。

sudo firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -s  [server+IP] -j ACCEPT

firewall-cmd --reload

它的工作方式与 charm.Not 一样,但确定这是否是安全方面的最佳解决方案。