Emular desconectando um cabo de rede com qemu-kvm

22

[Antecedentes: eu realmente gostaria de testar Como desativar uma interface de rede estática quando não estiver conectada? ]

Estou configurando uma máquina virtual QEMU-KVM usando libvirt (via virt-manager). Coloquei duas placas de rede nele (ambas virtio). Eles são conectados a uma NIC física no host.

Quero testar o que o NetworkManager faz quando "desconecto" um. Mas não há botão / caixa de seleção para isso no virt-manager, nem uma rápida pesquisa no Google mostra nada.

Como eu emulo desconectando o cabo de rede?

derobert
fonte
virt-manager não é a melhor GUI já feito ...
Hauke Laging
@HaukeLaging que é definitivamente verdade!
derobert

Respostas:

27

Você pode fazer isso no console com:

virsh domif-setlink domain interface-device state

E verifique seu status com:

virsh domifstat domain interface-device

Você pode ver as interfaces de rede configuradas com:

virsh domifaddr domain

Dê uma olhada na página de manual para obter detalhes.


Aqui está um exemplo de um fluxo de trabalho típico:

$ 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
Hauke ​​Laging
fonte
A versão do virsh que tenho na minha distribuição é bastante antiga (1.2.2) e não possui o domifaddrcomando. Eu tive que usar em seu domiflistlugar.
Lacek 10/07