top of page

Creación de VXLAN en Fortigate

  • jogofus
  • 6 ene 2024
  • 2 Min. de lectura

Empezamos el año, y lo hacemos con esta entrada sobre las vxlan, algo que me parece muy interesante y, aunque es probable que en nuestro día a día no las usemos, creo que todo administrador de sistemas y redes debe conocer y saber implementar.


Lo primero de todo: ¿qué es eso de las vxlan?


VXLAN = Virtual extensible LAN

Simplificando muchísimo, y haciendo referencia a la documentación de Cisco VXLAN es una tecnología que permite superponer una red de capa 2 (L2) sobre una capa 3 (L3) subyacente mediante el uso de cualquier protocolo de routing IP.



vxlan packet
Paquete VXLAN

Aquí podemos ver el encapsulamiento en Wireshark, siguiendo el modelo OSI.


wireshark vxlan
Captura con Wireshark de paquete VXLAN

Imagen tomada de la web http://medium.com


El estándar 802.1Q, sobre el que se trabajan las conocidas vlan, tiene una limitación de 4096 vlan que se pueden crear. Sin embargo, con la llegada en 2014 de las vxlan, este límite es capaz de superar las 16 millones de vxlan posibles.


Según todo esto podemos deducir que esto prácticamente queda reservado a ISP's y Datacenters.



¿De qué se compone vxlan?


Voy a explicar algunos conceptos básicos a tener en cuenta a la hora de trabajar con vxlan:


VTEP: Es el dispositivo que va a encapsular y desencapsular la trama vxlan.

VNI: Identificador de vxlan. Sería algo así como el tag en las vlan.

OuterIP: El destino del VTEP.


Manos a la obra...


Este va a ser un laboratorio sencillo.

Disponemos de lo siguiente:


  • Hipervisor: Proxmox

  • Dos FortiOS virtualizados

  • Dos VM con Debian

  • Un vmbr0 que conecta los FortiOS en la red 10.178.10.0/24

  • Un vmbr1 que conecta debian1 con Forti-1.

  • Un vmbr2 que conecta debian2 con Forti-2


Las VM Debian no se ven entre sí, ya que los vmbr son redes internas.


Conozco mucha gente que usa los firewall (en este caso Forti) con su interfaz gráfica, pero hay cosas en las que hay que meterse dentro, así que abrimos la CLI o nos conectamos por SSH.


Escribimos lo siguiente en el Forti-1:


config system vxlan		Entramos en modo config de la vxlan
	edit vxlanA		Ponemos el nombre que queramos
		set vni 5000		VNI de la vxlan
		set interface port1	Interfaz donde estará la vxlan
		set remote-ip 10.178.10.60	IP del VTEP remoto

Y lo siguiente en el Forti-2:


config system vxlan		
	edit vxlanB		
		set vni 5000		
		set interface port1	
		set remote-ip 10.178.10.50

Ahora nos vamos a la GUI y podemos ver que se ha creado.

Abrimos Network > Interfaces:


vxlan forti
vxlanA

Ahora deberemos crear un software switch entre la vxlanA y los puertos/vlan que queramos que se comuniquen con el otro VTEP. En mi caso no tengo ninguna vlan definida, por lo que voy a seleccionar un puerto físico, que será el port2-.


software switch forti
Configuración software switch

Hacemos lo mismo en el Forti-2 y veremos que la comunicación ya se establece.



Ahora, la capa 2 del modelo OSI va a ser capaz de "traspasar" la capa 3 y podremos llegar a los destinos con la misma subred al otro lado del VTEP.


ping vxlan

Como todos sabemos, cuando hay un enrutador/firewall de por medio, la MAC de origen cambia por la de este último dispositivo.


Con las vxlan, al extender la capa 2, si ponemos un Wireshark/TCPdump escuchando en uno de los equipos, podremos ver que la MAC origen se respeta.


Equipo origen:

source mac

Y en el equipo destino, escuchando con TCPdump:

tcpdump vxlan


¡Funcionó!



En próximas entradas veremos como usar lo que se conoce como vxlan over IPsec.



¡Nos vemos!

 
 
 

1 Comment


mcgiberyo
Aug 23, 2024

Podrías poner una imagen del esquema? cómo conseguiste una vm fortiOS?

Like
bottom of page