Estou tentando configurar uma interface de ponte para um dos meus QEMU em execução no CentOS 7. Tenho abaixo os scripts para a interface TAP em execução
$ cat /etc/qemu-ifup
ifconfig ens192 down
ifconfig ens192 0.0.0.0 promisc up
openvpn --mktun --dev tap0
ifconfig tap0 0.0.0.0 up
brctl addbr br0
brctl addif br0 ens192
brctl addif br0 tap0
brctl stp br0 off
ifconfig br0 192.168.42.201 netmask 255.255.255.0
Agora, antes de executar a máquina QEMU, eu corro este script para que possamos ter a interface em ponte instalada e funcionando. Eu sou capaz de pingar essa interface de outro host. Abaixo está a saída
$ ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.42.201 netmask 255.255.255.0 broadcast 192.168.42.255
inet6 fe80::646a:f6ff:fe1e:42ce prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:1f:e0:db txqueuelen 0 (Ethernet)
RX packets 314 bytes 15522 (15.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 38 bytes 4803 (4.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens192: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST> mtu 1500
ether 00:0c:29:1f:e0:db txqueuelen 1000 (Ethernet)
RX packets 258 bytes 16020 (15.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 92 bytes 8269 (8.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 7404 bytes 108578604 (103.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7404 bytes 108578604 (103.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tap0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::e8d9:3ff:fedf:85d3 prefixlen 64 scopeid 0x20<link>
ether ea:d9:03:df:85:d3 txqueuelen 100 (Ethernet)
RX packets 69 bytes 4722 (4.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 193 bytes 12111 (11.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 02:a1:9f:a4:81:bc txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1 bytes 90 (90.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Abaixo está a saída do ping de outro host, ou seja, 192.168.42.12
# ping 192.168.42.201
PING 192.168.42.201 (192.168.42.201) 56(84) bytes of data.
64 bytes from 192.168.42.201: icmp_seq=1 ttl=64 time=1.19 ms
64 bytes from 192.168.42.201: icmp_seq=2 ttl=64 time=0.369 ms
Agora abaixo está o comando que eu disparei para executar o QEMU
/home/test/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/bin/qemu-system-arm -kernel /home/test/yocto/poky/build/tmp/deploy/images/qemuarm/zImage-qemuarm.bin -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no,downscript=no -M versatilepb -hda /home/test/yocto/poky/build/tmp/deploy/images/qemuarm/core-image-minimal-dev-qemuarm-20141124054625.rootfs.ext3 -no-reboot -show-cursor -usb -usbdevice wacom-tablet -no-reboot -m 128 --append "root=/dev/sda rw console=ttyAMA0,115200 console=tty mem=128M highres=off "
Além disso, parei o iptables e tentei fazer o ping do host da máquina QEMU (192.168.42.202) ou de outro host, mas não consigo alcançá-lo.
# ping 192.168.42.202
PING 192.168.42.202 (192.168.42.202) 56(84) bytes of data.
^C
--- 192.168.42.202 ping statistics ---
670 packets transmitted, 0 received, 100% packet loss, time 669735ms
Qualquer pensamento para corrigir esse problema.