QEMU - ponte de rede

3

Estou configurando uma VM no Debian 9 usando o QEMU (e o KVM). No momento, estou tentando fazer funcionar através de uma rede em ponte, que eu configurei usando ip link , ip tuntap etc; aqui está a saída de brctl show :

bridge name     bridge id               STP enabled     interfaces
br0             8000.107b444f55d6       no              enp4s0
                                                        tap0
docker0         8000.0242d4c18983       no

E aqui está a saída de ip a :

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
    link/ether 10:7b:44:4f:55:d6 brd ff:ff:ff:ff:ff:ff
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:d4:c1:89:83 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
4: tap0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default qlen 1000
    link/ether f6:54:bb:db:d7:c6 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::f454:bbff:fedb:d7c6/64 scope link
       valid_lft forever preferred_lft forever
5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 10:7b:44:4f:55:d6 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.26/24 brd 192.168.0.255 scope global br0
       valid_lft forever preferred_lft forever
    inet6 fe80::127b:44ff:fe4f:55d6/64 scope link
       valid_lft forever preferred_lft forever

A interface docker0 não está relacionada.

Tanto quanto eu posso dizer, isso deve estar funcionando. No entanto, meu convidado do Windows 8.1 dentro do QEMU não tem acesso à Internet e não consegue adquirir um IP através do DHCP (estou simplesmente obtendo IPs 169.xx.xx.xx gerados automaticamente).

Não sei ao certo por que isso acontece. Meus argumentos do QEMU são:

-net nic -net tap,ifname=tap0

e eu também tentei:

-device e1000,netdev=net0,mac=52:55:00:d1:55:01 -netdev tap,id=net0

que produzem o mesmo resultado sem acesso à rede. Eu não consigo descobrir isso.

Estou fazendo algo estúpido?

    
por Matthew Lugg 15.07.2018 / 18:42

1 resposta

0

Acabei de ter um problema muito semelhante com um convidado do QEMU Linux e o iptables estava bloqueando o tráfego. Se eu configurasse um endereço IP estático para o convidado, o host e o convidado poderiam fazer ping uns aos outros, mas era isso. A internet e o resto da minha rede não puderam ser alcançados a partir da máquina convidada.

Eu recomendo que você use algo como o Wireshark ou o tcpdump para investigar o problema.

Capturei a interface de ponte do host usando o Wireshark e parecia que os pedidos estavam saindo da máquina virtual, mas nenhuma resposta foi recebida.

TL;DR:Estapistalevou-meaoscomandosmagiciptable(foimágicoparamimporquenãotenhoexperiênciasuficientecomoiptables:))naseguinteresposta:

link

Funcionou e mesmo que eu não entenda completamente neste exato momento, pensei em deixar meus dois centavos aqui.

Boa sorte!

    
por 26.07.2018 / 11:05