按照指南,作者允许 IGMP-traffic 与 IPtables 与以下行:
sudo iptables -I INPUT -p igmp -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
但是我的老板想让我用 Firewalld 来做这件事。
小智 6
作为直接规则的替代方案,IGMP 流量也可以通过任一--add-protocol=igmp(如果您的firewall-cmd版本已经支持)或在丰富规则的帮助下被接受。
对于firewall-cmd已经支持的版本--add-protocol=protocol:
firewall-cmd --permanent \
--zone=YOUR-ZONE \
--add-protocol=igmp
firewall-cmd --reload
Run Code Online (Sandbox Code Playgroud)
实际上,这将行添加<protocol value="igmp"/>到. 也可以看看。/etc/firewalld/zones/YOUR-ZONEman 5 firewalld.zone
firewall-cmd对于不支持的以前版本--add-protocol=protocol:
firewall-cmd --permanent \
--zone=YOUR-ZONE \
--add-rich-rule='rule protocol value="igmp" accept'
firewall-cmd --reload
Run Code Online (Sandbox Code Playgroud)
这会产生以下 iptables/netfiler 规则:
-A IN_YOUR-ZONE_allow -p igmp -m conntrack --ctstate NEW -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
因此,我一直在追寻这个完全相同的问题,并且偶然发现了一份针对 firewalld 提交的错误报告,用于在应用程序安装期间启用 IGMP。(感谢这里的OP:https://bugzilla.redhat.com/show_bug.cgi ?id= 1048947)
作者很友善地提供了一种解决方法来满足我们的需要:
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p igmp -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
直到(或者如果)添加以另一种方式启用 IGMP 通信的功能之前,Direct 接口似乎是应用此类规则更改的最佳方式。
直接接口的官方文档: https ://fedoraproject.org/wiki/FirewallD#Direct_options
| 归档时间: |
|
| 查看次数: |
5395 次 |
| 最近记录: |