在 KVM 主机上配置 IPTables 以丢弃虚拟隔离网络上的数据包

在 KVM 主机上配置 IPTables 以丢弃虚拟隔离网络上的数据包

我有两个 KVM 客户机,都连接到 KVM 虚拟隔离网络(称为virbr1,地址空间10.0.0.0/24)。为了测试路由解决方案,我想模拟客户机之间的物理链路故障。为此,我在KVM 主机

iptables -A OUTPUT -s 10.0.0.0/24 -j DROP

但它不会阻止流量。tcpdump主机上仍然显示 10.0.0.0/24 网络中的数据包。

我的下一次尝试是将所有数据包丢弃到虚拟网桥:

iptables -m physdev -A OUTPUT --physdev-in virbr1 -j DROP

但客户机继续交换数据包,并且tcpdump -i virbr1在主机上显示该流量。

为啥它没有被主机丢弃?

总的来说,这是测试物理链路故障的适当解决方案吗?

答案1

要更改 KVM 客户机的网络链接状态,最好使用适当的工具,即虚拟机管理程序

virsh domif-setlink domain interface-device state 

修改域虚拟接口的链接状态。状态的可能值包括“向上”“向下”。如果--config指定了,则只修改域的持久配置,出于兼容性目的,--persistent是的别名--config。interface-device 可以是接口的目标名称或 MAC 地址。

相关内容