Monta en tu equipo un escenario con las siguientes características:

  • La máquina virtual esté conectada a la máquina anfitriona a través de un bridge denominado br-lan formando una red local interna
  • El direccionamiento de la red local interna es 10.10.10.0/24, la máquina anfitriona tiene la dirección IP 10.10.10.1 y la máquina virtual la 10.10.10.2
  • La máquina virtual puede acceder al exterior gracias a que la máquina anfitriona hace SNAT
  • Es posible acceder por ssh a la máquina virtual desde el exterior a través del puerto 2222/tcp

 SOLUCION

Creo el puente «br-lan»:

brctl addbr br-lan

Creo la interfaz «tap»:

ip tuntap add mode tap user alex

Conecto el puente con la interfaz «tap»:

brctl addif br-lan tap0

Creo la MAC para la máquina virtual:

MAC0=$(echo "02:"`openssl rand -hex 5 | sed 's/\(..\)/\1:/g; s/.$//'`)

Los levanto y posteriormente le asigno una IP al puente «b-lan», en este caso la IP: 10.10.10.1:

ip l set dev tap0 up
ip l set dev br-lan up
ip a add 10.10.10.1/24 dev br-lan

Gracias al comando «echo» cambio el valor del bit de forwarding a 1 para que mi ordenador anfrition sea capaz de reenviar los paquetes por la interfaz más adecuada para que llegue a su destino:


echo '1' > /proc/sys/net/ipv4/ip_forward

Agrego las siguientes reglas gracias al comando «iptables»:


iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j SNAT --to 172.22.7.42
iptables -t nat -A PREROUTING -p tcp --dport 2222 -j DNAT --to-destination 10.10.10.2:22

Ejecuto la máquina virtual con el siguiente comando:


kvm -m 512 -hda jessie1.qcow2 \
-device virtio-net,netdev=n0,mac=$MAC0 \
-netdev tap,id=n0,ifname=tap0,script=no,downscript=no

Le asigno una ip a la máquina virtual, levanto la interfaz gráfica y le asigno como via por defecto la IP 10.10.10.1:


ip a add 10.10.10.2/24 dev eth0
ip l set dev eth0 up
ip r add default via 10.10.10.1

Compruebo que funcione todo correctamente:


ping 10.10.10.1
ping 172.22.0.1

Y por último accedo a la máquina virtual desde el exterior:


ssh -p 2222 usuario@172.22.7.42