Add readme.md
This commit is contained in:
parent
00676cf152
commit
719783a484
85
readme.md
Normal file
85
readme.md
Normal file
@ -0,0 +1,85 @@
|
||||
# Script di Healt Check del DNS per MikroTik RouterOS
|
||||
|
||||
Questo script controlla la salute dei tuoi server DNS primari e secondari. Se il server DNS primario non risponde, passerà al server DNS di backup e invierà una notifica email.
|
||||
|
||||
## Prerequisiti
|
||||
|
||||
1. **MikroTik RouterOS**: Assicurati che hai un router MikroTik in esecuzione su RouterOS.
|
||||
2. **Configurazione SMTP**: Configura SMTP in `/tools/email` per inviare notifiche via email.
|
||||
3. **Schedulatore delle Attività**: Imposta uno scheduler di attività per eseguire lo script periodicamente.
|
||||
|
||||
## Variabili
|
||||
|
||||
- `sysname`: Recupera il nome del sistema del tuo router MikroTik.
|
||||
- `Email`: Sostituisci `[YOUR EMAIL ADDRESS FOR NOTIFICATIONS HERE]` con la tua email di notifica.
|
||||
- `PrimaryDNS`: Sostituisci `[YOUR PRIMARY DNS IP HERE]` con l'indirizzo IP del tuo server DNS primario (es. 8.8.8.8 per Google).
|
||||
- `BackupDNS`: L'indirizzo IP del server DNS di backup (di default: 1.1.1.1 per Cloudflare).
|
||||
- `TestDomain`: Il dominio da testare nella risoluzione del DNS (di default: mikrotik.com).
|
||||
|
||||
## Passaggi dello Script
|
||||
|
||||
### Passaggio 1: Definizione delle Variabili
|
||||
```mikrotik
|
||||
:local sysname [/system identity get name];
|
||||
:local Email "[YOUR EMAIL ADDRESS FOR NOTIFICATIONS HERE]";
|
||||
:local PrimaryDNS "[YOUR PRIMARY DNS IP HERE]";
|
||||
:local BackupDNS "1.1.1.1";
|
||||
:local TestDomain "mikrotik.com";
|
||||
:local ConfiguredDNS [/ip dns get servers];
|
||||
```
|
||||
|
||||
### Passaggio 2: Controlla se il Server DNS Primario è Configurato
|
||||
```mikrotik
|
||||
if ($PrimaryDNS = $ConfiguredDNS) do={
|
||||
:do {
|
||||
:put [:resolve $TestDomain server $ConfiguredDNS];
|
||||
/log info "Controllo della salute del DNS primario $PrimaryDNS completato, nessun problema";
|
||||
} on-error={
|
||||
:put "Errore durante il controllo della salute del DNS";
|
||||
/log error "Controllo della salute del DNS fallito per il server DNS primario: $PrimaryDNS";
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Passaggio 3: Controlla se il Server DNS Secondario è Configurato
|
||||
```mikrotik
|
||||
if ($BackupDNS = $ConfiguredDNS) do={
|
||||
:do {
|
||||
:put [:resolve $TestDomain server $PrimaryDNS];
|
||||
/log info "Risoluzione del DNS primario $PrimaryDNS funzionante ora";
|
||||
/log info "Ripristino della configurazione di DNS originale";
|
||||
/ip dns set servers=$PrimaryDNS;
|
||||
/tool e-mail send to=[$Email] subject="Il server DNS primario $PrimaryDNS è ora disponibile" body="Il server DNS primario $PrimaryDNS è tornato disponibile. La configurazione di DNS è stata ripristinata.";
|
||||
} on-error={
|
||||
:put "Errore durante il controllo della salute del DNS";
|
||||
/log error "Controllo della salute del DNS fallito per il server DNS secondario: $BackupDNS";
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Utilizzo
|
||||
|
||||
### Passaggio 1: Copia e Incolla lo Script
|
||||
Incolla lo script sopra in un nuovo script sul tuo router MikroTik.
|
||||
|
||||
### Passaggio 2: Sostituisci le Variabili
|
||||
Sostituisci `[YOUR EMAIL ADDRESS FOR NOTIFICATIONS HERE]` e `[YOUR PRIMARY DNS IP HERE]` con la tua email di notifica e l'indirizzo IP del tuo server DNS primario.
|
||||
|
||||
### Passaggio 3: Esegui lo Script Manualmente
|
||||
Per testare lo script manualmente, eseguilo dalla Terminal:
|
||||
|
||||
```mikrotik
|
||||
/system script run dns-healthcheck
|
||||
```
|
||||
|
||||
Controlla i log in `/log print` per vedere se lo script sta funzionando correttamente.
|
||||
|
||||
## Soluzioni di Problemi
|
||||
|
||||
Se incontri problemi, controlla quanto segue:
|
||||
|
||||
1. **Configurazione SMTP**: Assicurati che la configurazione SMTP sia corretta in `/tools/email`.
|
||||
2. **Configurazione DNS**: Verifica che i server DNS primario e secondario siano raggiungibili.
|
||||
3. **Log**: Controlla i log per eventuali messaggi di errore o eccezioni.
|
||||
|
||||
Seguendo questi passaggi, dovresti essere in grado di impostare uno script robusto di controllo della salute del DNS per il tuo router MikroTik usando RouterOS.
|
||||
Loading…
Reference in New Issue
Block a user