Buenos días / tardes / noches.
En esta entrada os indicaré los pasos para crear una VLAN sencilla en nuestra máquina Debian Jessie.
No es necesario que monteis esta VLAN tal y cómo yo la explico, podéis “jugar” con ello tanto cómo queráis.
¿Qué es una VLAN?
Una VLAN es una red de área local virtual en la que podemos crear, eliminar y modificar a nuestro antojo una red virtual propia dentro de una física (también independiente) a nosotros.
Esquema de red
El esquema de red que seguiré lo muestro a continuación (¿se nota mucho que está hecho con Libre Office draw?) :
La máquina virtual tendrá una interfaz llamada eth0 enlazada con Tap0 que ésta, a su vez, está incluida en Br0 la cúal tiene añadida tap0 y eth0.1.
Eth0.1 es una interfaz con VLAN.
Paquetes necesarios e instalación
Necesitaremos crear el puente de red (br0), para ello instalaremos el paquete bridge-utils. Seguiremos los siguientes pasos:
- Nos aseguramos que tenemos los repositorios oficiales de Debian Jessie:
nano /etc/apt/sources.list
- Actualizamos la lista de repositorios:
apt-get update
- Procedemos a instalar el paquete bridge-utils:
apt-get install bridge-utils
Quemu-utils, con el que haremos “replicas” de una iso de Jessie con el que arrancaremos nuestras máquinas virtuales. Para ellos seguiremos estos pasos:
- Instalamos el paquete:
apt-get install quemu-utils
KVM y virt-manager, con los que nos será posible arrancar nuestras máquinas virtuales:
apt-get install kvm virt-manager
Creación de la máquina virtual con QEMU-KVM
Para ello, seguiremos estos pasos:
- Nos descargamos una iso de Debian Jessie, en mi caso elijo la que posee la instalación por red. (Netinst)
- Creamos la imagen del sistema con qemu-img:
qemu-img create -f qcow2 jessie.qcow2 10G
- Si queremos que la imagen anteriormente creada sea nuestra base, podemos realizar una copia de esa copia:
qemu-img create -b jessie1.qcow2 -f qcow2 jessie.qcow2
Creación de la VLAN
Para la creación de la VLAN, seguiremos estos pasos:
- Creamos la VLAN de eth0 con el siguiente comando:
ip link add link eth0 name eth0.1 type vlan id 1
- Levantamos la interfaz eth0.1:
ip l set dev eth0.1 up
- Comprobamos que la hemos correctamente con el comando:
ip -d l show
- Procedemos a crear el puente de red (br0):
brctl addbr br0
- Añadimos una interfaz virtual:
ip tuntap add mode tap user usuario
- Agregamos a br0 nuestra VLAN y la intefaz virtual:
brctl addif br0 eth0.1
brctl addif br0 tap0
- Comprobamos que están correctamente agregadas:
brctl show
- Levantamos/habilitamos el puente de red br0 así cómo la interfaz virtual:
ip l set dev br0 up
ip l set dev tap0 up
- Nos logeamos como usuario(salimos de root) y creamos una dirección MAC que utilizará nuestra máquina virtual:
MAC0=$(echo "02:"`openssl rand -hex 5 | sed 's/(..)/1:/g; s/.$//'`)
- Levantamos la máquina virtual:
kvm -m 512 -hda jessie.qcow2
-device virtio-net,netdev=n0,mac=$MAC0
-netdev tap,id=n0,ifname=tap0,script=no,downscript=no
- Dentro de la máquina virtual, asignamos una ip(privada) a eth0:
ip a add 10.90.10.7/24 dev eth0
- En caso de no tenerla levantada/habilitada, la levantamos/habilitamos:
ip l set dev eth0 up
- Si queremos realizar pruebas de conectividad, podemos crear otra VLAN con ID diferente y hacer ping entre ellas para ver que no se comunican.
Eso es todo, espero que les ayude y guste y si encontráis algun fallo o tenéis alguna duda, preguntadme/decidmelo
Saludos.