Debian Jessie: creación sencilla de VLAN en KVM

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?) :

vlan

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:

  1. Nos aseguramos que tenemos los repositorios oficiales de Debian Jessie:
    nano /etc/apt/sources.list
  2. Actualizamos la lista de repositorios:
    apt-get update
  3. 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:

  1. Nos descargamos una iso de Debian Jessie, en mi caso elijo la que posee la instalación por red. (Netinst)
  2. Creamos la imagen del sistema con qemu-img:
    qemu-img create -f qcow2 jessie.qcow2 10G
  3. 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:

  1. Creamos la VLAN de eth0 con el siguiente comando:
    ip link add link eth0 name eth0.1 type vlan id 1
  2. Levantamos la interfaz eth0.1:
    ip l set dev eth0.1 up
  3. Comprobamos que la hemos correctamente con el comando:
    ip -d l show
  4. Procedemos a crear el puente de red (br0):
    brctl addbr br0
  5. Añadimos una interfaz virtual:
    ip tuntap add mode tap user usuario
  6. Agregamos a br0 nuestra VLAN y la intefaz virtual:
    brctl addif br0 eth0.1
    brctl addif br0 tap0
  7. Comprobamos que están correctamente agregadas:
    brctl show
  8. 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
  9. 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/.$//'`)
  10. 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
  11. Dentro de la máquina virtual, asignamos una ip(privada) a eth0:
    ip a add 10.90.10.7/24 dev eth0
  12. En caso de no tenerla levantada/habilitada, la levantamos/habilitamos:
    ip l set dev eth0 up
  13. 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.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.