VyOS: Primera Configuración — NAT, Firewall, Rutas Estáticas y VLANs

VyOS es un router/firewall de código abierto basado en Debian. A diferencia de equipos como MikroTik o Cisco, toda la configuración vive en un árbol jerárquico que se edita en modo de configuración y se confirma con commit. Este modelo — inspirado en Junos — hace que los cambios sean atómicos y reversibles, lo cual es una ventaja real en producción.

Este post cubre los cuatro bloques fundamentales para dejar un router VyOS operativo: NAT, Firewall, Rutas Estáticas y VLANs.

Escenario de referencia

 1Internet
 2    │
 3  eth0  (WAN — IP pública o DHCP del ISP)
 4    │
 5 [VyOS]
 6    │
 7  eth1  (LAN — 192.168.1.1/24)
 8    │
 9  eth1.10  VLAN 10 — Servidores  (10.10.10.1/24)
10  eth1.20  VLAN 20 — Usuarios    (10.10.20.1/24)

1. Configuración inicial de interfaces

Entrar al modo de configuración es siempre el primer paso:

1configure

Asignar IPs a las interfaces:

1set interfaces ethernet eth0 description 'WAN'
2set interfaces ethernet eth0 address dhcp
3
4set interfaces ethernet eth1 description 'LAN'
5set interfaces ethernet eth1 address '192.168.1.1/24'

Confirmar y guardar:

1commit
2save

Tip: compare antes de commit muestra exactamente qué cambiará. Útil para auditar en sesiones largas.


2. NAT — Masquerade hacia WAN

VyOS implementa NAT como reglas numeradas. Para salida a internet desde cualquier subred interna:

1set nat source rule 10 description 'LAN a Internet'
2set nat source rule 10 outbound-interface name 'eth0'
3set nat source rule 10 source address '192.168.0.0/16'
4set nat source rule 10 translation address masquerade
5
6commit
7save

El bloque 192.168.0.0/16 cubre la LAN y las VLANs que se agregarán más adelante. Si preferís ser más estricto, podés crear una regla por subred.

Verificar:

1show nat source rules
2show nat source translations

3. Firewall por zonas

VyOS permite un modelo de firewall basado en zonas, donde cada interfaz pertenece a una zona y se define la política entre pares de zonas. Es más ordenado que aplicar reglas sueltas por interfaz.

Definir zonas

1set firewall zone WAN interface eth0
2set firewall zone LAN interface eth1
3set firewall zone LOCAL local-zone

local-zone es el propio router (tráfico que termina o sale de VyOS mismo).

Política WAN → LOCAL (acceso al router desde internet)

Por defecto denegar todo; permitir solo ICMP y respuestas de conexiones establecidas:

1set firewall ipv4 name WAN-TO-LOCAL default-action drop
2set firewall ipv4 name WAN-TO-LOCAL rule 10 action accept
3set firewall ipv4 name WAN-TO-LOCAL rule 10 state established
4set firewall ipv4 name WAN-TO-LOCAL rule 10 state related
5set firewall ipv4 name WAN-TO-LOCAL rule 20 action accept
6set firewall ipv4 name WAN-TO-LOCAL rule 20 protocol icmp
7
8set firewall zone LOCAL from WAN firewall name WAN-TO-LOCAL

Política WAN → LAN (tráfico entrante hacia la red)

1set firewall ipv4 name WAN-TO-LAN default-action drop
2set firewall ipv4 name WAN-TO-LAN rule 10 action accept
3set firewall ipv4 name WAN-TO-LAN rule 10 state established
4set firewall ipv4 name WAN-TO-LAN rule 10 state related
5
6set firewall zone LAN from WAN firewall name WAN-TO-LAN

Política LAN → WAN (tráfico saliente de la LAN)

1set firewall ipv4 name LAN-TO-WAN default-action accept
2
3set firewall zone WAN from LAN firewall name LAN-TO-WAN
1commit
2save

Verificar:

1show firewall zones
2show firewall ipv4 name WAN-TO-LOCAL statistics

4. Rutas estáticas

Para redes que no son directamente conectadas ni aprendidas por un protocolo de ruteo dinámico.

Ruta por defecto manual (si eth0 no usa DHCP)

1set protocols static route 0.0.0.0/0 next-hop 203.0.113.1

Ruta hacia una red remota detrás de otro router

Supongamos que 192.168.100.0/24 está detrás de un router en 192.168.1.254:

1set protocols static route 192.168.100.0/24 next-hop 192.168.1.254

Ruta de descarte (blackhole)

Útil para agregar supernets y evitar loops de ruteo:

1set protocols static route 10.10.0.0/16 blackhole distance 254
1commit
2save

Verificar:

1show ip route
2show ip route static

5. VLANs — Subinterfaces 802.1Q

VyOS crea VLANs como subinterfaces ethn.vlan-id sobre la interfaz troncal.

Crear subinterfaces

1set interfaces ethernet eth1 vif 10 description 'Servidores'
2set interfaces ethernet eth1 vif 10 address '10.10.10.1/24'
3
4set interfaces ethernet eth1 vif 20 description 'Usuarios'
5set interfaces ethernet eth1 vif 20 address '10.10.20.1/24'

Agregar las VLANs a las zonas de firewall

1set firewall zone LAN interface eth1.10
2set firewall zone LAN interface eth1.20

Extender el NAT para las nuevas subredes

La regla de NAT ya usa 192.168.0.0/16, así que las subredes 10.10.x.x quedan fuera. Agregar una regla adicional:

1set nat source rule 20 description 'VLANs a Internet'
2set nat source rule 20 outbound-interface name 'eth0'
3set nat source rule 20 source address '10.10.0.0/16'
4set nat source rule 20 translation address masquerade
1commit
2save

Verificar:

1show interfaces
2show interfaces ethernet eth1 vif
3ping 10.10.10.1 from-address 10.10.20.1

Resumen de comandos útiles

TareaComando
Ver configuración activashow configuration
Ver diff sin hacer commitcompare
Revertir cambios sin commitdiscard
Rollback al commit anteriorrollback 1 (en modo config)
Ver tabla de ruteoshow ip route
Ver traducciones NAT activasshow nat source translations
Ver logs del firewallshow log firewall

Próximos pasos

Con esta base podés avanzar hacia:

  • DHCP Server por VLAN (set service dhcp-server)
  • DNS Forwarder local (set service dns forwarding)
  • BGP / OSPF con el stack set protocols bgp o set protocols ospf
  • WireGuard o IPsec para acceso remoto

VyOS tiene la ventaja de que la curva de aprendizaje inicial es confusa, pero una vez que entiendes el modelo de configure → set → commit → save, la configuración escala de forma muy limpia.