如何制定 iptables 允许多播规则?

如何制定 iptables 允许多播规则?

我有两台使用 ucarp 作为故障转移的服务器。每台服务器上eth1:1都为 ucarp 的 keepalive 连接保留。

ucarp 使用目标 IP 作为多播地址224.0.0.18

在 ucarp 主服务器上是eth1:1的 IP 192.168.245.2,在辅助服务器上是eth1:1的 IP 192.168.245.3

问题

我想在每台服务器上制定一个 iptables 规则,这样这些 NIC 就不会被任何人误用。即删除除 ucarp 之外的所有内容。

对于主服务器来说,这样的规则是什么样的?

我认为是这样的?

iptables -P INPUT -i eth1:1 -j DROP
iptables -A INPUT -i eth1:1  ? something with multicast ?  -j ACCEPT

答案1

iptables -A INPUT -i eth1:1 -m pkttype --pkt-type multicast -j ACCEPT

确保xt_pkttype模块已加载到正在运行的内核中:

--- Networking support        
      Networking options  --->
          [*] Network packet filtering framework (Netfilter)  --->
              Core Netfilter Configuration  --->
                  <*>   "pkttype" packet type match support

相关内容