Puente de red QEMU para tener una IP pública

Puente de red QEMU para tener una IP pública

Simplemente quiero que mis máquinas virtuales QEMU tengan una IP pública para poder ejecutar varios servidores en la misma máquina. He leído muchos wikis, guías, tutoriales, hilos de foros y todo lo relacionado con esto, pero todavía no tengo una respuesta útil. Ya sé lo de los puentes e hice todo lo que hacen la mayoría de los tutoriales.

1) Crear el puente con iproute2 (digamos br0)
2) Crear la interfaz TAP (digamos tap0)
3) Puente eth0(en mi caso enp2s0) y tap0parabr0

Pero lo único que me queda es (aparte de un dolor de cabeza) hacer que la VM sea reconocida como otra máquina en la red interna, pero lo que quiero es que la red externa vea mi máquina con su propia dirección IP pública, no la misma. como el resto de máquinas físicas conectadas al router.

Páginas que he investigado:
-https://wiki.archlinux.org/index.php/QEMU#Networking
-https://wiki.archlinux.org/index.php/Network_bridge
-KVM: agregar IP pública a través del puente
-http://blog.elastocloud.org/2015/07/qemukvm-bridged-network-with-tap.html
-https://wiki.qemu.org/Documentation/Networking
-http://nairobi-embedded.org/a_qemu_tap_networking_setup.html
-https://en.wikibooks.org/wiki/QEMU/Networking

Mi cmd de QEMU argumenta:

qemu-system-x86_64 \
    -monitor stdio \
    -soundhw ac97 \
    -k es \
    -machine accel=kvm \
    -m 2024 \
    -hda /mnt/hdd/Desarrollo_Eficiente_HDA.img \
    -boot once=c,menu=on \
    -net nic,vlan=0,macaddr=00:c6:cd:1a:5e:83,model=virtio \
    -net tap,vlan=0,ifname=tap0,script=no \
    -rtc base=localtime \

Otras salidas de comando:

$ brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.003067a647ca       no              enp2s0
                                                        tap0
$ ip address 
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 brd 127.255.255.255 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
    link/ether 00:30:67:a6:47:ca brd ff:ff:ff:ff:ff:ff
    inet6 fe80::da85:a46d:3e50:2642/64 scope link 
       valid_lft forever preferred_lft forever
9: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:30:67:a6:47:ca brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.3/24 brd 192.168.0.255 scope global noprefixroute br0
       valid_lft forever preferred_lft forever
    inet 192.168.50.14/24 brd 192.168.50.255 scope global noprefixroute br0
       valid_lft forever preferred_lft forever
    inet6 fe80::230:67ff:fea6:47ca/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
10: tap0: <NO-CARRIER,BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default qlen 100
    link/ether 16:51:80:cd:dd:6b brd ff:ff:ff:ff:ff:ff
    inet6 fe80::1451:80ff:fecd:dd6b/64 scope link 
       valid_lft forever preferred_lft forever

Información del sistema host:
- SO: Parabola GNU/Linux-libre (basado en Arch)
- Arquitectura: x86_64

¿Me he perdido algo? ¿una regla de iptables? ¿un comando syctl? Gracias de antemano por la ayuda.

información relacionada