使用 qemu-kvm 模拟拔掉网线

der*_*ert 23 networking kvm qemu virtualization libvirt

[背景:我想实际测试如何在未连接时关闭静态网络接口?]

我正在使用 libvirt(通过virt-manager)设置 QEMU-KVM 虚拟机。我在上面放了两个网卡(都是 virtio)。它们桥接到主机上的物理 NIC。

我想测试当我“拔掉”一个 NetworkManager 时它会做什么。但是在 virt-manager 中没有按钮/复选框,也没有快速的谷歌搜索出现任何东西。

如何模拟拔掉网线?

Hau*_*ing 30

您可以在控制台中执行以下操作:

virsh domif-setlink domain interface-device state
Run Code Online (Sandbox Code Playgroud)

并检查其状态:

virsh domifstat domain interface-device
Run Code Online (Sandbox Code Playgroud)

您可以看到配置了以下内容的网络接口:

virsh domifaddr domain
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请查看手册页。


以下是典型工作流程的示例:

$ sudo virsh list
 Id    Name                           State
----------------------------------------------------
 24    ubuntu17.10                    running

$ sudo virsh domifaddr ubuntu17.10
 Name       MAC address          Protocol     Address
-------------------------------------------------------------------------------
 vnet0      52:54:00:d0:76:cb    ipv4         192.168.122.183/24

$ sudo virsh domif-getlink ubuntu17.10 vnet0
vnet0 up
$ sudo virsh domif-setlink ubuntu17.10 vnet0 down
Device updated successfully

$ sudo virsh domif-getlink ubuntu17.10 vnet0
vnet0 down
gerlos@mediavault[20:53]:~$ sudo virsh domif-setlink ubuntu17.10 vnet0 up  
Device updated successfully

gerlos@mediavault[20:53]:~$ sudo virsh domif-getlink ubuntu17.10 vnet0
vnet0 up
Run Code Online (Sandbox Code Playgroud)