Strumenti Utente

Strumenti Sito


mikrotik:wgbugwatchdog

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Prossima revisione
Revisione precedente
mikrotik:wgbugwatchdog [03/08/2025 10:02] – creata djbx83mikrotik:wgbugwatchdog [03/08/2025 10:14] (versione attuale) djbx83
Linea 1: Linea 1:
 [[:start|Torna all'inizio]] | [[mikrotik:index|Torna su]] [[:start|Torna all'inizio]] | [[mikrotik:index|Torna su]]
  
-===== CAPsMAN Esempi pratici =====+===== Wireguard Bug Watchdog automatico per reset peer ===== 
 + 
 +Questo script permette di effettuare un check dell'attributo last-handshake, se questo è maggiore di 130 secondi allora riavvia il peer.\\ 
 +Purtroppo c'è un bug che ancora Mikrotik non ha risolto, che non permette la riconnessione del peer remoto se il peer remoto è dietro nat, probabilmente perchè Mikrotik si aspetta che i pacchetti provengano sempre dalla stessa porta sorgente. (Penso io eh, non so se effettivamente sia questo il problema).\\ 
 +Ad ogni modo, con questo script ho risolto il problema.\\ 
 + 
 +  :local timeoutSec 130 
 +   
 +  :foreach i in=[/interface wireguard peers find] do={ 
 +      :local hs [/interface wireguard peers get $i last-handshake] 
 +      :local name [/interface wireguard peers get $i name] 
 +      :if ([:len $hs] > 0) do={ 
 +          :local h [:tonum [:pick $hs 0 2]] 
 +          :local m [:tonum [:pick $hs 3 5]] 
 +          :local s [:tonum [:pick $hs 6 8]] 
 +          :local age ($h * 3600 + $m * 60 + $s) 
 +          :if ($age > $timeoutSec) do={ 
 +              /interface wireguard peers disable $i 
 +              :delay 1 
 +              /interface wireguard peers enable $i 
 +              :log warning "WG peer $name riavviato: handshake $age sec fa" 
 +          } 
 +      } else={ 
 +          :log debug "WG peer $name mai connesso: handshake assente" 
 +      } 
 +  } 
 + 
 +Meglio ancora se configurato con lo scheduler: 
 + 
 +  /system scheduler 
 +  add interval=10s name=wg-watchdog on-event="COPIA QUI DENTRO LO SCRIPT!"
mikrotik/wgbugwatchdog.1754208122.txt.gz · Ultima modifica: da djbx83

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki