Con esto lograremos emular todos los escenarios de red que desemos.
Primero habrá que compilar el kernel con la siguiente opción activada:
Networking Support --> Networking Options --> 802.1d Ethernet Bridging
Tambien tenemos que instalar las utilidades necesarias:
apt-get install uml-utils bridge-utils
Ahora ya podemos empezar la configuración.
Creamos un bridge virtual:
brctl addbr br0
Comprobamos que realmente se ha creado:
ip a
Lo habilitamos:
ip l s dev br0 up
Comprobamos que está habilitado, en br0:
ip a
Creamos la interfaz Tap que se conectará al bridge:
tunctl -t tap0 -u root
La habilitamos:
ip l s dev tap0 up
Ponemos Tap0 y Eth0 en el mismo bridge:
brctl addif br0 tap0
brctl addif br0 eth0
Comprobamos que estan en el bridge:
brctl show br0
bridge name bridge id STP enabled interfaces
br0 8000.002219ddca5c no eth0
tap0
Desconfiguramos la interfaz Eth0 y la ponemos en modo promiscuo:
ifconfig eth0 0.0.0.0 promisc
Configuramos el bridge con la ip de nuestro equipo:
ip a a 192.168.1.11/24 dev br0
ip r a default via 192.168.1.1
En la configuración de la nube:
NIO TAP
TAP Interface: tap0
Si queremos conectar máquinas virtuales como por ejemplo haciendo uso de VmWare o VirtualBox se puede hacer configurando la interfaz en modo bridged a la interfaz tap0, con esto lograremos que tanto nuestro host, el router conectado a la nube y las máquinas virtuales se puedan ver entre ellas.
He realizado un pequeño Script que nos ayudará a realizar la configuración de forma automática.
Yo personalmente empleo la interfaz Eth0 para meterla dentro del bridge con la Tap0, así consigo comunicarme con las máquinas virtuales por la Eth0 y por la inalámbrica accedo a Inet ;)
PD: ConchiWorld con este sistema las máquinas virtuales pueden ver al host anfitrión sin necesidad de link en la interfaz, ya que se realiza la comunicación a través de la interfaz virtual Tap0.
No hay comentarios:
Publicar un comentario