我有两个 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 地址。