VPN Wireguard Mikrotiks Sitio a Sitio

Escenario

Video

Clic en la imagen para ver video en Youtube

Configuración en mikrotik y clientes

A continuación mostramos el paso a paso para realizar la configuración de un túnel vpn usando WireGuard para comunicar dos redes remotas completas en ambos sentidos.

Requerimientos:

- Los dos routers deben estar configurados para salida a internet y la red interna
- Solo el dispositivo que funciona como servidor, requiere acceso por la ip pública.
- Routers mikrotik con versión compatible para wireguard, preferiblemente la última versión disponible a la fecha.
- Los campos wg_S2S1, listen-port=29974, direcciones ip, private-key=, public-key=, deben ser modificados según cada escenario particular
- Se tiene deshabilitados los firewall de los dispositivos finales de cada red, en escenarios de producción se deben usar reglas según corresponda

Pasos

Paso 1 : RT-01_Servidor - creación de interfaces wireguard
Ejecutar el siguiente comando o hacer la configuración por medio de winbox
/interface/wireguard add name=wg_S2S1 listen-port=29974
Paso 2 : RT-01_Servidor - Asignar dirección ip a la interface recien creada
/ip/address add address=172.16.0.1/30 interface=wg_S2S1
Paso 3 : RT-01_Servidor - Identificar la clave pública.
ejecutar el siguiente comando
/interface/wireguard/print
Flags: X - disabled; R - running 
 0  R name="wg_S2S1" mtu=1420 listen-port=29974 
      private-key="0Cawv4osqffY0LTcU7VQlsS7439A7dqegJ3aKCaIsWM=" 
      public-key="aCxdQOwMitBmLw8tdpptxTjZXZuFhXheDvWLSFv0WRI="
Paso 4 : RT-01_Servidor - Creación regla de firewall para el puerto wireguard
/ip firewall filter add action=accept chain=input comment="IN - P - Conexiones a servidor wg_S2S1" dst-port=29974 protocol=udp place-before=0
Paso 5 : RT-02_Cliente - creación de interfaces wireguard
/interface/wireguard add name=wg_S2S1
Paso 6 : RT-02_Cliente - Asignar dirección ip a la interface recien creada
/ip address add address=172.16.0.2/30 interface=wg_S2S1
Paso 7 : RT-02_Cliente - Identificar la clave pública.
ejecutar el siguiente comando
/interface/wireguard/print
Flags: X - disabled; R - running 
 0  R name="wg_S2S1" mtu=1420 listen-port=58394 private-key="WNDGivB5gsuRPV24A7Usb9G68i346UtwOdUgBBQTc3c=" 
      public-key="9UzHMJnWJnMIRzooEvux6u3+fo9zkOicgCxt2AtJoz4="
Paso 8 : RT-01_Servidor - Creación peer para cliente RT-02_Cliente
/interface/wireguard peers add interface=wg_S2S1 public-key="9UzHMJnWJnMIRzooEvux6u3+fo9zkOicgCxt2AtJoz4=" allowed-address=172.16.0.2/32,192.168.22.0/24 name=RT-02_Cliente
Paso 9 : RT-01_Servidor - Creación de ruta a red remota
/ip/route/add dst-address=192.168.22.0/24 gateway=172.16.0.2
Paso 10 : RT-02_Cliente Creación peer para servidor RT-01_Servidor
/interface/wireguard peers add interface=wg_S2S1 public-key="aCxdQOwMitBmLw8tdpptxTjZXZuFhXheDvWLSFv0WRI=" endpoint-address=201.184.129.74 endpoint-port=29974 allowed-address=172.16.0.1/32,192.168.20.0/24 persistent-keepalive=25
Paso 11 : RT-02_Cliente - Creación de ruta a red remota
/ip/route/add dst-address=192.168.20.0/24 gateway=172.16.0.1
Paso 12 : RT-02_Cliente - Creación reglas de firewall
/ip/firewall/filter/add action=accept chain=forward comment="FW - P - Comunicaci\F3n desde la red RT-01 a traves de tunel" in-interface=wg_S2S1
/ip/firewall/filter/add action=accept chain=forward comment="FW - P - Comunicaci\F3n hacia la red RT-01 a traves de tunel" out-interface=wg_S2S1
Paso 13 : Pruebas de comunicación en ambos sentidos
Se realiza prueba de comunicación en ambos sentidos del tunel
Scroll al inicio