Hola a tod@s
En este post hablaremos sobre VyOS, que es un sistema operativo de red de código abierto basado en Debian y que proporciona una plataforma gratuita de enrutamiento, firewall, VPN, NAT para redes IPv4 e IPv6. Ofrece una experiencia unificada, que combina la comodidad de una CLI y herramientas de red.
Características
- Routing: BGP (IPv4 and IPv6), OSPF (v2 and v3), RIP and RIPng, policy-based routing.
- VPN: IPsec, VTI, VXLAN, L2TPv3, L2TP/IPsec and PPTP servers, tunnel interfaces (GRE, IPIP, SIT), OpenVPN in client, server, or site-to-site mode, wireguard.
- Firewall and NAT: Stateful firewalls, zone-based firewall, all types of source and destination NAT (one to one, one to many, many to many).
- Network services: DHCP and DHCPv6 server and relay, IPv6 RA, DNS forwarding, TFTP server, web proxy, PPPoE access concentrator, NetFlow/sFlow sensor, QoS.
- High availability: VRRP for IPv4 and IPv6, ability to execute custom health checks and transition scripts; ECMP, stateful load balancing.
- Fully Open Source: Its entire codebase and build toolchain are available to everyone for auditing, building customized images, and contributing.
¿Es gratis usar VyOS?
Las imágenes de lanzamiento continuo se pueden descargar gratis para todos. Las imágenes de soporte a largo plazo siguen un modelo de “pago por binarios” similar a Red Hat, aunque también están disponibles para los contribuyentes activos del proyecto de forma gratuita.
Las imágenes de lanzamiento de soporte a largo plazo listas para usar solo están disponibles para los clientes que compraron una suscripción y para los miembros de la comunidad que contribuyen con código, pruebas o documentación al proyecto.
Todos pueden crear una imagen de lanzamiento LTS desde la rama estable también. Para 1.2.x, la rama se denomina “crux”. La imagen construida desde la sucursal es equivalente a la última imagen oficial LTS.
¿Qué plataformas de virtualización son compatibles?
VyOS soporta KVM, Xen (en modo HVM y con XCP-ng), VMware, Nutanix, Proxmox y Microsoft Hyper-V e incluye controladores y guest agent daemons para esas plataformas.
VirtualBox es compatible, pero no se incluyen los guest additions.
Otros hipervisores x86 también pueden funcionar.
¿Qué plataformas de hardware soporta VyOS?
Por el momento, VyOS funciona en x86-64, ya sea bare metal o virtualizado. Hay imágenes especializadas para hardware Dell EMC, Edgecore, Lanner y Supermicro.
Para ver una lista completa de las soluciones soportadas.
Requisitos
Los requisitos mínimos y recomendados son los siguientes. Dependiendo del uso, podríamos necesitar recursos adicionales de RAM y CPU, sobre todo si usamos servicios.
VyOS tiene tres “channels” de lanzamiento:
- Nightly builds: Las compilaciones nocturnas se producen automáticamente al menos una vez al día e incluye el ultimo código disponible (correcciones de errores y características) de mantenedores y colaboradores de la comunidad.
- LTS release: Las imágenes de lanzamiento LTS prediseñadas están disponibles para las personas y empresas con suscripciones.
- Legacy LTS releases: Imágenes de versiones LTS Legacy, optimizadas para hipervisores.
Tenemos disponible dos formas para descargar VyOS:
- Hipervisores – Podemos descargar el dispositivo virtual VyOS optimizados para vSphere, KVM, Hyper-V y VMware with Cloud-init
- ISO – Podemos descargar las versiones Nightly builds.
Deploy VyOS en VMware vSphere
Para esta demostración descargaré la versión de VyOS para VMware:
Una vez con el archivo OVA descargado, nos vamos a nuestro host ESXi y pulsamos sobre “Create/register VM“. En mi caso, realizaré la implementación desde el ESXi y no desde el vCenter.
Elegimos la opción “Deploy a virtual machinne from an OVF or OAV file“.
Asignamos un nombre a la máquina virtual y elegimos el archivo OVA que descargamos.
Seleccionamos el datastore donde realizaremos el deploy de nuestra máquina.
Seleccionamos las redes que usaremos:
- WAN: Red de acceso público.
- LAN: Red de acceso interno.
Por las necesidades de este laboratorio, editaremos la VM antes de encenderla. Para esto, necesitamos quitar el check “Power on automatically“.
Pulsamos “Next“.
Conformes con los cambios realizados, pulsamos “Finish“.
Ya con la máquina virtual creada, la editamos y agregamos dos nuevas tarjetas de red.
Con los cambios en la VM realizados, la encendemos.
Abrimos la consola web de la máquina virtual y esperamos que cargue los servicios.
Configurar VM VyOS
Las credenciales por defecto de la máquina virtual son las siguientes:
Usuario: vyos
Password: vyos
Desde este punto comenzaremos a ver los comandos que usaremos para configurar nuestro router vyos.
Configurar un nombre al router virtual.
$ configure
$ set system host-name VyOS-01
Habilitar SSH en VyOS-01.
$ set service ssh port 22
Configurar servidor DNS.
$ set system name-server 8.8.8.8
Confirmamos los cambios y guardamos los mismos.
$ commit
$ save
Ahora, lo siguiente es configurar la interface con acceso a Internet. Esto nos permitirá poder acceder vía ssh a nuestro router, cosa que nos facilitara la configuración, ya que es algo más incómodo configurar desde la consola web de VMware.
Revisamos la configuración actual de la interfaces conectadas a nuestro router.
$ exit
$ show interfaces
Configuramos una IP en la interface eth0 que es la que tiene acceso a internet.
$ configure
$ set interfaces ethernet eth0 address 192.168.100.141/24
$ set interfaces ethernet eth0 description Internet
$ commit && save
Revisamos la configuración.
$ exit
$ show interfaces
Ahora ya podemos conectarnos a la IP configurada via ssh.
Ahora necesitaremos crear una ruta estática a ISP (Internet). Con esta ruta podremos tener acceso a redes externa.
$ configure
$ set protocols static route 0.0.0.0/0 next-hop 192.168.100.1 distance 1
$ commit && save
$ ping 8.8.8.8
En un siguiente post, veremos una configuración más extensa de usando VyOS. Mostraré la configuración que estoy usando en mi laboratorio.
Espero que esta información pueda ser de ayuda, y cualquier duda o sugerencia la dejan en los comentarios. Saludos.
Lista completa de la serie: