我有两台使用 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