Configuramos WireGuard en un enrutador Mikrotik que ejecuta OpenWrt

imagen

En la mayoría de los casos, conectar el enrutador a una VPN no es difícil, pero si desea proteger toda la red manteniendo la velocidad de conexión óptima, entonces la mejor solución sería usar el túnel VPN WireGuard . Los

enrutadores Mikrotik se han establecido como soluciones confiables y muy flexibles, pero desafortunadamente todavía no hay soporte para WireGuard en RouterOS y no se sabe cuándo aparecerá y en qué versión. Recientemente, se supo que los desarrolladores del túnel VPN WireGuard ofrecieron un conjunto de parches que harán que su software de organización de túnel VPN forme parte del kernel de Linux, y esperamos que esto contribuya a la implementación de RouterOS.

Pero por ahora, desafortunadamente, para configurar WireGuard en un enrutador Mikrotik, debe cambiar el firmware.

Firmware Mikrotik, instala y configura OpenWrt


Primero debe asegurarse de que OpenWrt sea compatible con su modelo. Puede ver el cumplimiento del modelo con su nombre comercial e imagen en mikrotik.com .

Vaya a openwrt.com en la sección de descarga de firmware .

Para este dispositivo, necesitamos 2 archivos:

downloads.openwrt.org/releases/18.06.2/targets/ar71xx/mikrotik/openwrt-18.06.2-ar71xx-mikrotik-rb-nor-flash-16M-initramfs-kernel.bin|elf

downloads.openwrt.org/releases /18.06.2/targets/ar71xx/mikrotik/openwrt-18.06.2-ar71xx-mikrotik-rb-nor-flash-16M-squashfs-sysupgrade.bin


Necesita descargar ambos archivos: instalar y actualizar .



1. Configuración de red, carga y configuración de un servidor PXE


Descargue la última versión de Tiny PXE Server para Windows.

Descomprima en una carpeta separada. En el archivo config.ini, agregue el parámetro rfc951 = 1 sección [dhcp] . Este parámetro es el mismo para todos los modelos Mikrotik.



Pasamos a la configuración de red: debe registrar una dirección IP estática en una de las interfaces de red de su computadora.


Dirección IP: 192.168.1.10
Máscara de red: 255.255.255.0


Inicie Tiny PXE Server como Administrador y seleccione el servidor con la dirección 192.168.1.10 en el campo Servidor DHCP . En algunas versiones de Windows, esta interfaz puede aparecer solo después de una conexión Ethernet. Recomiendo conectar el enrutador e inmediatamente conectar el enrutador y la PC usando un cable de conexión. Haga clic en el botón "..." (abajo a la derecha) e indique la carpeta en la que descargó los archivos de firmware para Mikrotik. Elija un archivo cuyo nombre termine con "initramfs-kernel.bin o elf"



imagen







2. Descargando el enrutador del servidor PXE


Conectamos el cable de la PC y el primer puerto (wan, internet, poe in, ...) del enrutador. Después de eso tomamos un palillo de dientes, lo pegamos en el orificio etiquetado como "Reset".



Encienda el enrutador y espere 20 segundos, luego suelte el palillo de dientes.
Durante el siguiente minuto, los siguientes mensajes deberían aparecer en la ventana del Servidor Tiny PXE:



Si aparece un mensaje, ¡está en la dirección correcta!

Restaure la configuración en el adaptador de red y configure la dirección de recepción dinámicamente (a través de DHCP).

Conéctese a los puertos LAN del enrutador Mikrotik (2 ... 5 en nuestro caso) utilizando el mismo cable de conexión. Simplemente cámbielo del puerto 1 al puerto 2. Abra la dirección 192.168.1.1 en el navegador.



Ingrese a la interfaz administrativa de OpenWRT y vaya a la sección del menú "Sistema -> Copia de seguridad / Firmware Flash".



En la subsección "Imagen de firmware nueva Flash", haga clic en el botón "Seleccionar archivo (Examinar)".



Especifique la ruta al archivo cuyo nombre termina con "-squashfs-sysupgrade.bin".

imagen

Después de eso, haga clic en el botón "Imagen Flash".

En la siguiente ventana, haga clic en el botón "Continuar". Comenzará la descarga del firmware al enrutador.



!!! ¡NO DESCONECTE EL PODER DEL ENRUTADOR EN EL PROCESO DE FIRMWARE!



Después de flashear y reiniciar el enrutador, recibirá Mikrotik con el firmware OpenWRT.

Posibles problemas y soluciones


Muchos dispositivos Mikrotik 2019 usan el chip de memoria FLASH-NOR tipo GD25Q15 / Q16. El problema es que el parpadeo no guarda los datos del modelo del dispositivo.

Si ve el error "El archivo de imagen cargado no contiene un formato compatible. Asegúrese de elegir el formato de imagen genérico para su plataforma ". entonces lo más probable es que el problema esté en flash.

Esto es fácil de verificar: ejecute el comando para verificar la ID del modelo en el terminal del dispositivo

root@OpenWrt: cat /tmp/sysinfo/board_name

Y si obtiene la respuesta "desconocido", debe especificar manualmente el modelo de dispositivo en forma de "rb-951-2nd"

Para obtener el modelo de dispositivo, ejecute el comando

root@OpenWrt: cat /tmp/sysinfo/model
MikroTik RouterBOARD RB951-2nd

Una vez recibido el modelo del dispositivo, lo instalamos manualmente:

echo 'rb-951-2nd' > /tmp/sysinfo/board_name

Después de eso, puede flashear el dispositivo a través de la interfaz web o usando el comando sysupgrade

Cree un servidor VPN con WireGuard


Si ya tiene un servidor con WireGuard configurado, puede omitir este elemento. Usaré la
aplicación MyVPN.RUN sobre el gato para configurar un servidor VPN personal. Ya publiqué una reseña .

Configuración del cliente WireGuard en OpenWRT


Conéctese al enrutador a través de SSH:

ssh root@192.168.1.1

Instale WireGuard:

opkg update
opkg install wireguard

Prepare la configuración (copie el código a continuación en el archivo, reemplace los valores especificados con los suyos y ejecútelos en el terminal).

Si usa MyVPN, en la configuración a continuación solo necesita cambiar WG_SERV - la IP del servidor, WG_KEY - la clave privada del archivo de configuración wireguard y WG_PUB - la clave pública.

WG_IF="wg0"
WG_SERV="100.0.0.0" # ip  
WG_PORT="51820" #  wireguard
WG_ADDR="10.8.0.2/32" #   wireguard

WG_KEY="xxxxx" #  
WG_PUB="xxxxx" #   

# Configure firewall
uci rename firewall.@zone[0]="lan"
uci rename firewall.@zone[1]="wan"
uci rename firewall.@forwarding[0]="lan_wan"
uci del_list firewall.wan.network="${WG_IF}"
uci add_list firewall.wan.network="${WG_IF}"
uci commit firewall
/etc/init.d/firewall restart

# Configure network
uci -q delete network.${WG_IF}
uci set network.${WG_IF}="interface"
uci set network.${WG_IF}.proto="wireguard"
uci set network.${WG_IF}.private_key="${WG_KEY}"

uci add_list network.${WG_IF}.addresses="${WG_ADDR}"

# Add VPN peers
uci -q delete network.wgserver
uci set network.wgserver="wireguard_${WG_IF}"
uci set network.wgserver.public_key="${WG_PUB}"
uci set network.wgserver.preshared_key=""
uci set network.wgserver.endpoint_host="${WG_SERV}"
uci set network.wgserver.endpoint_port="${WG_PORT}"
uci set network.wgserver.route_allowed_ips="1"
uci set network.wgserver.persistent_keepalive="25"
uci add_list network.wgserver.allowed_ips="0.0.0.0/1"
uci add_list network.wgserver.allowed_ips="128.0.0.0/1"
uci add_list network.wgserver.allowed_ips="::/0"
uci commit network
/etc/init.d/network restart

¡Esto completa la configuración de WireGuard! Ahora todo el tráfico en todos los dispositivos conectados está protegido por una conexión VPN.

Referencias


Fuente # 1
Instrucciones modificadas en MyVPN (adicionalmente, las instrucciones de configuración L2TP, PPTP en el firmware estándar de Mikrotik están disponibles)
OpenWrt WireGuard Client

Source: https://habr.com/ru/post/undefined/


All Articles