executando o qemu no Fedora20

0

Com o Fedora20 e construído a partir de fontes qemu-2.1.1, estou tendo problemas para executar o qemu com privilégios não-root:

% qemu-system-x86_64 -hda vdisk.img -m 512M -netdev tap,helper=/usr/libexec/qemu-bridge-helper,id=net0 -device e1000,netdev=net0
failed to create tun device: Operation not permitted
failed to launch bridge helper
qemu-system-x86_64: -netdev tap,helper=/usr/libexec/qemu-bridge-helper,id=net0: Device 'tap' could not be initialized

O dispositivo Tun tem permissões adequadas:

% ls -la /dev/net/tun
crw-rw-rw- 1 root root 10, 200 Sep 30 09:22 /dev/net/tun

qemu-bridge-helper tem bit suid habilitado, o SELinux está desabilitado ('getenforce' retorna Disabled). O que mais eu sinto falta?

    
por Mark 01.10.2014 / 03:29

4 respostas

1

É assim que o cookie se desintegra com o QEMU. Se você ler a documentação , poderá acessar:

Tap

The tap networking backend makes use of a tap networking device in the host. It offers very good performance and can be configured to create virtually any type of network topology. Unfortunately, it requires configuration of that network topology in the host which tends to be different depending on the operating system you are using. Generally speaking, it also requires that you have root privileges.

Executar o QEMU como um usuário fornece uma rede simplificada. De acordo com um artigo do WikiBooks

If no network options are specified, QEMU will default to emulating a single Intel e1000 PCI card with a user-mode network stack that bridges to the host's network. The following three command lines are equivalent:

qemu -m 256 -hda disk.img &
qemu -m 256 -hda disk.img -net nic -net user &
qemu-system-i386 -m 256 -hda disk.img -netdev user,id=network0 -device e1000,netdev=network0 &

The -net option is superceded by -netdev in newer QEMU versions.

The guest OS will see an E1000 NIC with a virtual DHCP server on 10.0.2.2 and will be allocated an address starting from 10.0.2.15. A virtual DNS server will be accessible on 10.0.2.3, and a virtual SAMBA file server (if present) will be accessible on 10.0.2.4 allowing you to access files on the host via SAMBA file shares.

User mode networking is great for allowing access to network resources, including the Internet. By default, however, it acts as a firewall and does not permit any incoming traffic. It also doesn't support protocols other than TCP and UDP - so, for example, ping and other ICMP utilities won't work.

    
por 01.10.2014 / 07:40
0

Verifique a saída de:

ls -l /dev/kvm

Veja o segmento de permissões de usuários, parece com algo como grupo de usuários

Certifique-se de que seu usuário tenha acesso ao / dev / kvm

chown your_user:your_group /dev/kvm

Então você pode executar VMs com seu usuário!

    
por 01.10.2014 / 04:51
0

Na minha máquina, eu poderia resolver o problema definindo o bit de ID do usuário na execução no "qemu-bridge-helper":

sudo chmod u+s /usr/lib/qemu-bridge-helper
ls -la /usr/lib/qemu-bridge-helper 
-rwsr-xr-x 1 root root 14336 Dez 16 15:36 /usr/lib/qemu-bridge-helper
    
por 19.03.2015 / 22:13
0

Eu estou no Fedora 21, mas talvez ele já estivesse disponível no Fedora 20

Existe uma nova maneira de fornecer a opção para configurar a conexão de ponte, que é:

qemu-system-x86_64 -hda vdisk.img -m 512M -netdev bridge,id=net0,br=qemubr0 -device e1000,netdev=net0

Você não precisa configurar o helper = / usr / libexec / qemu-bridge-helper, parece ser o padrão

E você precisa ter certeza de que, ao usar o assistente padrão que você tem o arquivo /etc/qemu/bridge.conf com a ponte que você pretende usar

allow qemubr0 
    
por 05.12.2015 / 05:38