Solucionar problemas de reconexión automática de OpenWrt WireGuard

Un método práctico para recuperar automáticamente WireGuard en OpenWrt cuando cambia la IP del par (por ejemplo, escenarios DDNS).

Solución alternativa de reconexión automática de OpenWrt WireGuard

Cuando se utiliza WireGuard en OpenWrt con DNS dinámico, un cambio de IP de un par puede dejar el túnel obsoleto después de muchas horas. En algunos entornos no se recupera automáticamente y requiere un reinicio manual.

Método 1: script personalizado

1
2
3
4
5
6
7
8
#!/bin/sh

if ! ping -c 3 <peer-wg-ip> > /dev/null 2>&1 ; then
  echo "The WireGuard is down! Now try restarting wg0!" >> ./ddns-wg0.log
  ifdown wg0
  sleep 3
  ifup wg0
fi

Método 2: script de vigilancia OpenWrt integrado

OpenWrt incluye /usr/bin/wireguard_watchdog (el contenido se omite aquí por brevedad). Comprueba la actividad del protocolo de enlace entre pares y puede volver a resolver los nombres de host de los puntos finales cuando un par está inactivo durante demasiado tiempo.

Ejecutado por cron

Utilice cron para ejecutar el mecanismo de vigilancia periódicamente.

A través de la interfaz de usuario web

  1. Abra Sistema -> Tareas programadas.
  2. Agregue:
1
* * * * * /usr/bin/wireguard_watchdog

A través de SSH

  1. SSH en OpenWrt.
  2. Ejecute crontab -e.
  3. Agregue:
1
* * * * * /usr/bin/wireguard_watchdog
  1. Guarde y reinicie cron si es necesario.
记录并分享
Creado con Hugo
Tema Stack diseñado por Jimmy