如何在 RHEL7 / CentOS 7 中使用 firewalld 启用/设置多播规则

Neo*_*eon 4 multicast redhat-enterprise-linux

我找不到有关如何为 RHEL / CentOS 7 中默认防火墙的 firewalld 启用多播的文档。有人可以启发我吗?仅供参考:我知道如何使用 iptables 来做到这一点。

小智 5

起初我尝试了这个命令:

firewall-cmd --direct --add-rule ipv4 filter IN_public_allow 1 -d 224.0.0.18 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

但CentOS7似乎无法在重启后重新加载直接规则。

[root@test01-galera02 firewalld]# firewall-cmd --direct --get-all-rules
[root@test01-galera02 firewalld]# firewall-cmd --direct --get-all-rules --permanent
ipv4 filter IN_public_allow 1 -d 224.0.0.18 -j ACCEPT
[root@test01-galera02 firewalld]# 
[root@test01-galera02 firewalld]# cat direct.xml 
<?xml version="1.0" encoding="utf-8"?>
<direct>
  <rule priority="1" table="filter" ipv="ipv4" chain="IN_public_allow">-d 224.0.0.18 -j ACCEPT</rule>
</direct>
[root@test01-galera02 firewalld]# pwd
/etc/firewalld
[root@test01-galera02 firewalld]#
Run Code Online (Sandbox Code Playgroud)

其次,我成功使用了这个命令。现在,firewalld 在我的带有 keepalived 的 galera 集群上运行良好。

 firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" destination address="224.0.0.18" protocol value="ip" accept' --permanent
 firewall-cmd --reload
Run Code Online (Sandbox Code Playgroud)