Quelques Scripts Mikrotik

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 11

MikroTik Scripting MikroTik MUM – USA 2015 Brian Horn – WISP TRACON LLC

Scripting

• Fournit une méthode pour automatiser les tâches grâce à l'utilisation de scripts définis par
l'utilisateur

• Exécution sur commande

• Permet de configurer un routeur complet ou un groupe de paramètres

• c'est-à-dire un script acheté pour configurer les règles du pare-feu

• Exécution sur événement déclencheur

• Planificateur système (System Scheduler)

• Exécute le script à une heure spécifique, après un intervalle spécifié, ou les deux

• Traffic Monitor

• Exécute le script lorsque le trafic de l'interface dépasse un seuil donné

• Netwatch

• Exécute le script en fonction de l'état des hôtes surveillés à l'aide de pings (ICMP)

Scripts de configuration

• Configuration de base (GoldConfig)

• Configuration standard appliquée à plusieurs routeurs

• Certains paramètres sont ensuite personnalisés

• SSID sans fil, canal, mot de passe, mot de passe système

• Configuration des fonctionnalités

• Pare-feu, files d'attente, …

• Créer un script

• Configurer un routeur, tester la configuration, exporter vers un fichier de script

• Appliquer un script

• Importer un fichier de script pour ajouter une fonctionnalité

• Pour créer un routeur configuré par défaut

• Mettre à niveau vers la version requise de RouterOS

• Système -> Réinitialiser la configuration -> Aucune configuration par défaut -> Exécuter après la
réinitialisation (sélectionner le fichier de configuration)

• Personnaliser
Exemples de scripts

• Surveillance de l'alimentation du site

• Solution d'alimentation redondante, fonctionnant sur secteur ou sur batterie ?

• Utilisation de la liaison dorsale

• Alertes basées sur l'utilisation de la liaison

• Rapports d'utilisation client

• Collecte des données d'utilisation mensuelles et réinitialisation des compteurs

• Analyse sans fil à distance

• Que se passe-t-il sur un site distant ?

• Sauvegardes de la configuration du routeur

• Sauvegarde et transfert automatiques des fichiers de configuration

Transfert des résultats

• Les données collectées par le routeur doivent être transférées vers l'application / le serveur où
elles sont traitées ou stockées.

• Methods

• Email

• FTP

• SSH

Transfert de courrier électronique

• L'outil de courrier électronique (e-mail) est un utilitaire qui permet au routeur d'envoyer des
courriers électroniques • Peut envoyer des messages et/ou fichiers

Exemple d’utilisation GMail

• Configurer un client pour se connecter au server

/tool e-mail

set address=74.125.28.108 port=587 from=userxyz@gmail.com user=userxyz password=abcd130426


start-tls=yes

• Envoyer un message avec fichier joint

send to=monitor@gmail.com subject="Daily Report - Site MER" body="Router ID and Date"


file=backup.rsc
Ecrire/ tester des scripts

WinBox peut fournir des méthodes simples pour tester les commandes et voir les résultats.

Ouvrez les fenêtres Journal et Terminal et utilisez :log

Ou

Terminal uniquement et utilisez :put

Obtention des données système

System Identity

:global SystemIdentity [/system identity get name]

• Check what you got is correct

:put $SystemIdentity
• System Clock

:global SystemDate [/system clock get date]

:put $SystemDate

• Extract the day of the month

:global Today [:pick [/system clock get date] 4 6]

:put $Today

Obtenir des données peut être complexe

• Récupérer les statistiques d'utilisation des clients et réinitialiser les compteurs chaque mois

• Simple Queues (file d’attente)

Extraction des champs

• Nous voulons extraire le nombre total d'octets téléchargés et chargés


Ce que vous pouvez écrire sous la forme

Application d'alimentation redondante

Site distant utilisant RB750UP

Décisions de contrôle de puissance redondantes

Mesurer la tension du système avec l'alimentation secteur sous et hors tension

• Déterminer le seuil à utiliser pour déterminer l’état de l’alimentation électrique

Batterie complètement chargée ≥ 25,6 V

Utiliser 26 V comme seuil


Pseudo Code – Step 1

Measure system voltage (Vsystem)

If running on utility power (Vsystem ≥ 26 V)

Do nothing

Else (running on battery power)

Send email to alert power status, include current voltage

De quelles informations système avons-nous besoin pour générer des rapports ?

Pseudo Code – Step 2

Get system information

Identity, Date, Time

Measure system voltage (Vsystem)

If running on utility power (Vsystem ≥ 26 V)

Do nothing

Else (running on battery power)

Send email to alert power status, include current voltage

Voulons-nous une alerte lorsque le courant électrique est rétabli ?

Pseudo Code – Step 3

Set global variable Vflag = 1

Get system information

Identity, Date, Time

Measure system voltage (Vsystem)

If running on utility power (Vsystem ≥ 26 V)

Else (running on battery power) Clear Vflag (Vflag = 0)

Send email to alert power status, include current voltage


Pseudo Code – Step 3

Set global variable Vflag = 1

Get system information Identity, Date, Time

Measure system voltage (Vsystem)

If running on utility power (Vsystem ≥ 26 V)

If Vflag not set (Vflag = 0)

Send email to alert utility power has been restored Set Vflag (Vflag = 1)

Else (running on battery power)

Clear Vflag (Vflag = 0)

Send email to alert power status, include current voltage

Que se passe-t-il si les batteries sont trop déchargées ?


Conseils de script

• Utilisez du pseudo-code pour structurer l'objectif

• Utilisez des noms de variables significatifs

• Commentez le code

• Testez le code en sections et déboguez

• La valeur de la variable globale peut être définie, plutôt que [get] pour vérifier le fonctionnement
du code

• Attention lors de :

• Utilisation de Netwatch et :reboot :

• Désactivation ou mise hors tension des interfaces

Vous aimerez peut-être aussi