如何使用MAC和ebtables防止IP欺骗?
我正在尝试在ebtables中创建IP-MAC配对规则。教程和相关问题[1]很少,但是我有一些特定的设置。 环境: 我有很多物理主机。每个主机只有很少的以太网卡,它们绑定在一起并用作桥的从属。每个主机(kvm,qemu,libvirt)上有许多虚拟机。每个虚拟机通过称为vnet [0-9] +的新端口连接到其物理主机的网桥。没有NAT。网络工作正常,所有物理主机均可ping通,所有虚拟机也均可。每个虚拟机都有自己的IP地址和MAC地址。 问题:在虚拟机内部,可以将IP地址更改为另一个。 解决方案: ebtables站点上有一个已知的解决方案[2],但是仅使用一个主机时,该解决方案才适用。它允许所有流量,并且如果来自IP的数据包与另一个MAC超出允许范围,则数据包将被丢弃。如果主机不止一个,则需要在所有主机上注册所有现有的IP-MAC对。需要反向策略解决方案。 制作的解决方案:我尝试以倒置方式使用ebtables。这是我尝试的示例。 例1 Bridge table: filter Bridge chain: INPUT, entries: 2, policy: DROP -i bond0 -j ACCEPT -p IPv4 -s 54:52:0:98:d7:b6 --ip-src 192.168.11.122 -j ACCEPT Bridge chain: FORWARD, entries: 0, policy: ACCEPT Bridge chain: OUTPUT, entries: 0, policy: ACCEPT 例子2 Bridge table: filter …