# 4.3.- SDN VLAN.

### ¿Qué es una VLAN?

[![Trama Ethernet. Capa 2 de TCP/IP ](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/scaled-1680-/Yb6image.png)](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/Yb6image.png)

<sup>[Eduardo Taboada (Tecnocratica.net)](https://tecnocratica.net/wikicratica/books/proxmox-ve). <span class="title">*Trama Ethernet. Capa 2 de TCP/IP*</span> <span class="license"><span class="sep">(</span>Todos los derechos reservados<span class="sep">)</span></span></sup>

VLAN o también conocidas como **redes de área local virtuales**, es una tecnología de redes que nos permite crear redes lógicas independientes dentro de la misma red física, es decir, sobre una mismo dominio de broadcast (LAN) segmentaremos la red física en redes virtuales y esto lo lograremos poniendo una "Tag" etiqueta dentro de la trama Ethernet indicando el número de VLAN asignada (0 a 4096, es decir 12 bits)

Las VLAN nos permite crear redes lógicamente independientes, por tanto, podemos aislarlas para que solamente tengan conexión a Internet, y denegar el tráfico de una VLAN a otra. Por defecto no se permite a las VLANs intercambiar tráfico con otra VLAN, es totalmente necesario ascender a nivel de red (Capa 3 de TCP/IP) con un router o un switch multicapa, con el objetivo de activar el inter-vlan routing, es decir, el enrutamiento entre VLANs para sí permitir la comunicación entre ellas siempre que lo necesitemos.

Tengamos en cuenta que la Capa 2 de Ethernet está preparada para detectar colisiones en el medio de transmisión y para ello necesita una longitud de trama de datos (o MTU) mínima de 46 bytes y un máximo de 1500 más los encabezados y el CRC para que sean compatibles con la mayoría de los switch comerciales.

Es evidente que cuanto mayor sea el campo de datos de las tramas (MTU) mayor será el rendimiento pero cuidado con superar el MTU de 1500, porque muchos fabricantes de switch comerciales no lo soportan.

[![Puertos de acceso y puertos Trunk para una VLAN](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/scaled-1680-/UPQimage.png)](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/UPQimage.png)

<sup>[Eduardo Taboada (Tecnocratica.net)](https://tecnocratica.net/). <span class="title">*Puertos de acceso y puertos Trunk para una VLAN*</span> <span class="license"><span class="sep">(</span>Todos los derechos reservados<span class="sep">)</span></span></sup>

Para conectar un interfaz de red a una VLAN lo realizaremos a través de los "puertos de acceso" para ello debemos configurar la interfaz de red con el número de "Tag" de la VLAN que le corresponda y así el switch sabrá dividir el tráfico de red entre las distintas VLAN. Cuando en un mismo enlace queremos conectar varias VLAN del switch al host, necesitaremos hacerlo mediante un "puerto Trunk", para ello debemos habilitar en el switch el soporte a barias VLAN por el mismo puerto de salida.

[![Esquema de trama Ethernet VLAN ](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/scaled-1680-/Xlwimage.png)](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/Xlwimage.png)

<sup>[Eduardo Taboada (Tecnocratica.net)](https://tecnocratica.net/). <span class="title">*Esquema de trama Ethernet VLAN* </span><span class="license"><span class="sep">(</span>Todos los derechos reservados<span class="sep">)</span></span></sup>

Si queremos tener plena compatibilidad con todos los switch comerciales debemos reducir el tamaño MTU de 1500 para no tener problemas al haber agregado el "Tag" de la VLAN.

[![Esquema de una VLAN](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/scaled-1680-/MBXimage.png)](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/MBXimage.png)

<sup><span class="author">Imagen de elaboración propia</span>. <span class="title">*Esquema de una VLAN*</span> <span class="license"><span class="sep">(</span>[CC BY-NC-SA](http://creativecommons.org/licenses/?lang=es "Creative Commons BY-NC-SA")<span class="sep">)</span></span></sup>

### Implementación de una SDN VLAN entre las MV y contenedores de dos nodos Proxmox

Cuando las máquinas virtuales de diferentes nodos necesitan comunicarse a través de una **red aislada**, la zona VLAN permite el aislamiento a nivel de red mediante etiquetas VLAN.

1º. Crea una Zona VLAN (recordar que las SDN se configuran a nivel de Centro de datos:

[![ Crear una VLAN](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/scaled-1680-/rbeimage.png)](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/rbeimage.png)

<sup><span class="author">Imagen de elaboración propia</span>. <span class="title">*Crear una VLAN*</span> <span class="license"><span class="sep">(</span>[CC BY-NC-SA](http://creativecommons.org/licenses/?lang=es "Creative Commons BY-NC-SA")<span class="sep">)</span></span></sup>

Llamaremos a la Zona como "ZonaVLAN" y la conectaremos al Bridge "vmbr0":

[![ Creación de la Zona SDN del tipo VLAN](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/scaled-1680-/Wxvimage.png)](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/Wxvimage.png)

<sup><span class="author">Imagen de elaboración propia</span>. <span class="title">*Creación de la Zona SDN del tipo VLAN*</span> <span class="license"><span class="sep">(</span>[CC BY-NC-SA](http://creativecommons.org/licenses/?lang=es "Creative Commons BY-NC-SA")<span class="sep">)</span></span></sup>

Crea una VNet denominada "SwVLAN10" con la etiqueta VLAN 10 en la Zona creada anteriormente:

[![Creación de la VNet "SwVLAN10"](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/scaled-1680-/Pnuimage.png)](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/Pnuimage.png)

<sup><span class="author">Imagen de elaboración propia</span>. <span class="title">*Creación de la VNet "SwVLAN10"*</span> <span class="license"><span class="sep">(</span>[CC BY-NC-SA](http://creativecommons.org/licenses/?lang=es "Creative Commons BY-NC-SA")<span class="sep">)</span></span></sup>

Aplica la configuración a través del panel principal de SDN:

[![Aplicar cambios en las SDN](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/scaled-1680-/G1iimage.png)](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/G1iimage.png)

<sup><span class="author">Imagen de elaboración propia</span>. <span class="title">*Aplicar cambios en las SDN*</span> <span class="license"><span class="sep">(</span>[CC BY-NC-SA](http://creativecommons.org/licenses/?lang=es "Creative Commons BY-NC-SA")<span class="sep">)</span></span></sup>

Crearemos otra VNet llamada "SwVLAN30" para comprobar que el tráfico de red se encuentra aislado entre distintas VLAN:

[![Creación de otro Switch virtual para hacer otra VLAN distinta a la anterior](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/scaled-1680-/pf1image.png)](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/pf1image.png)

<sup><span class="author">Imagen de elaboración propia</span>. <span class="title">*Creación de otro Switch virtual para hacer otra VLAN distinta a la anterior*</span> <span class="license"><span class="sep">(</span>[CC BY-NC-SA](http://creativecommons.org/licenses/?lang=es "Creative Commons BY-NC-SA")<span class="sep">)</span></span></sup>

Aplicamos nuevamente los cambios en la SDN.

Repetiremos el proceso en otro nodo Proxmox:

[![Repetir el proceso de creación de la Zona VLAN y VNet en otro nodo de Proxmox distinto al anterios](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/scaled-1680-/9jRimage.png)](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/9jRimage.png)

<sup><span class="author">Imagen de elaboración propia</span>. <span class="title">*Repetir el proceso de creación de la Zona VLAN y VNet en otro nodo de Proxmox distinto al anterios*</span> <span class="license"><span class="sep">(</span>[CC BY-NC-SA](http://creativecommons.org/licenses/?lang=es "Creative Commons BY-NC-SA")<span class="sep">)</span></span></sup>

  
Aplicamos cambios en el SDN de nuevo nodo Proxmox:

[![Aplicar cambios en el SDN](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/scaled-1680-/2wYimage.png)](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/2wYimage.png)

<sup><span class="author">Imagen de elaboración propia</span>. <span class="title">*Aplicar cambios en el SDN*</span> <span class="license"><span class="sep">(</span>[CC BY-NC-SA](http://creativecommons.org/licenses/?lang=es "Creative Commons BY-NC-SA")<span class="sep">)</span></span></sup>

Creamos contenedores para hacer las pruebas y le asignamos la IP de forma estática, ya que Proxmox no nos facilita un servidor DHCP para Zonas del tipo VLAN. Configuraremos un contenedor en cada nodo de Proxmox y asociaremos su interfaz de red a la VNet "SwVLAN10":

[![Asignación de IP estáticas y conexión a la VNet "SwVLAN" de los contenedores](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/scaled-1680-/rUQimage.png)](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/rUQimage.png)

<sup><span class="author">Imagen de elaboración propia</span>. <span class="title">*Asignación de IP estáticas y conexión a la VNet "SwVLAN" de los contenedores* </span><span class="license"><span class="sep">(</span>[CC BY-NC-SA](http://creativecommons.org/licenses/?lang=es "Creative Commons BY-NC-SA")<span class="sep">)</span></span></sup>

Haremos otro contenedor y le asociaremos su interfaz de red al "SwVLAN30"

Comprobaremos el resultado haciendo ping entre los contenedores de la mismo VLAN 10:

[![Comprobación de la interconexión de 2 contenedores en la misma VLAN pero en distintos nodos Proxmox](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/scaled-1680-/q0Dimage.png)](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/q0Dimage.png)

<sup><span class="author">Imagen de elaboración propia</span>. <span class="title">*Comprobación de la interconexión de 2 contenedores en la misma VLAN pero en distintos nodos Proxmox*</span> <span class="license"><span class="sep">(</span>[CC BY-NC-SA](http://creativecommons.org/licenses/?lang=es "Creative Commons BY-NC-SA")<span class="sep">)</span></span></sup>

Ahora configuraremos la IP estática del tercer contenedor pero estará conectado a la VLAN 30:

[![Configuración del tercer contenedor conectado a la VLAN30](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/scaled-1680-/EnSimage.png)](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/EnSimage.png)

<sup><span class="author">Imagen de elaboración propia</span>. <span class="title">*Configuración del tercer contenedor conectado a la VLAN30*</span> <span class="license"><span class="sep">(</span>[CC BY-NC-SA](http://creativecommons.org/licenses/?lang=es "Creative Commons BY-NC-SA")<span class="sep">)</span></span></sup>

Podemos observar como el contenedor en la VLAN30 se encuentra aislado del tráfico de red de los contenedores que se encuentran el VLAN10:

[![Tráfico de red de la VLAN30 aislado de la VLAN10](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/scaled-1680-/S37image.png)](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/S37image.png)

<sup><span class="author">Imagen de elaboración propia</span>. <span class="title">*Tráfico de red de la VLAN30 aislado de la VLAN10*</span> <span class="license"><span class="sep">(</span>[CC BY-NC-SA](http://creativecommons.org/licenses/?lang=es "Creative Commons BY-NC-SA")<span class="sep">)</span></span></sup>

###  

### Salida a Internet de los contenedores

Supongamos que ahora queremos tener acceso a Internet en algún contenedor. Para ello tendremos que hacer una nueva Zona SDN Simple.

<p class="callout warning">¡ATENCIÓN! esto solo funciona con la configuración de red del nodo Proxmox con Linux Bridge. No funciona para la versión de Proxmox actual (8.2.2) con OVS Bridge.</p>

[![Creación de una Zona Simple para proporcionar acceso hacia fuera de Proxmox a los contenedores y MV](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/scaled-1680-/45himage.png)](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/45himage.png)

<sup><span class="author">Imagen de elaboración propia</span>. <span class="title">*Creación de una Zona Simple para proporcionar acceso hacia fuera de Proxmox a los contenedores y MV*</span> <span class="license"><span class="sep">(</span>[CC BY-NC-SA](http://creativecommons.org/licenses/?lang=es "Creative Commons BY-NC-SA")<span class="sep">)</span></span></sup>

[![Creación de la VNet "SwSALIDA" para proporcionar salida hacia Internet](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/scaled-1680-/2VMimage.png)](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/2VMimage.png)

<sup><span class="author">Imagen de elaboración propia</span>. <span class="title">*Creación de la VNet "SwSALIDA" para proporcionar salida hacia Internet*</span> <span class="license"><span class="sep">(</span>[CC BY-NC-SA](http://creativecommons.org/licenses/?lang=es "Creative Commons BY-NC-SA")<span class="sep">)</span></span></sup>

[![ Configuración de la Subnet para proporcionar IP por DHCP y hacer SNAT](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/scaled-1680-/P19image.png)](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/P19image.png)

<sup><span class="author">Imagen de elaboración propia</span>. <span class="title">*Configuración de la Subnet para proporcionar IP por DHCP y hacer SNAT*</span> <span class="license"><span class="sep">(</span>[CC BY-NC-SA](http://creativecommons.org/licenses/?lang=es "Creative Commons BY-NC-SA")<span class="sep">)</span></span></sup>

[![Configuración del DHCP](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/scaled-1680-/g6limage.png)](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/g6limage.png)

<sup><span class="license"><span class="author">Imagen de elaboración propia</span>. <span class="title">*Configuración del DHCP*</span> <span class="sep">(</span>[CC BY-NC-SA](http://creativecommons.org/licenses/?lang=es "Creative Commons BY-NC-SA")<span class="sep">)</span></span></sup>

**Actualizamos los cambios** en la SDN.  
  
Añadimos una nueva interfaz de red al contenedor que queramos que tenga acceso a Internet mediante Source NAT:

[![Conexión una nueva interfaz de red al "SwSALIDA" ](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/scaled-1680-/AkTimage.png)](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/AkTimage.png)

<sup><span class="author">Imagen de elaboración propia</span>. <span class="title">*Conexión una nueva interfaz de red al "SwSALIDA"*</span> <span class="license"><span class="sep">(</span>[CC BY-NC-SA](http://creativecommons.org/licenses/?lang=es "Creative Commons BY-NC-SA")<span class="sep">)</span></span></sup>

  
Reiniciamos el contenedor para una correcta instalación de la tabla de enrutamiento y comprobamos las conexiones haciendo ping tanto a la zona VLAN y a google.es:

[![Ping al otro contenedor en la misma VLAN10 y ping a google.es](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/scaled-1680-/ztNimage.png)](https://doc-proxmox.datosporlasnubes.com/uploads/images/gallery/2024-05/ztNimage.png)

<sup><span class="author">Imagen de elaboración propia</span>. <span class="title">*Ping al otro contenedor en la misma VLAN10 y ping a google.es*</span> <span class="license"><span class="sep">(</span>[CC BY-NC-SA](http://creativecommons.org/licenses/?lang=es "Creative Commons BY-NC-SA")<span class="sep">)</span></span></sup>