TacacsGUI, Configuration Manager

Bon après-midi Aujourd'hui, je voudrais attirer votre attention sur Configuration Manager - un plugin inclus dans le projet TacacsGUI .

Qu'est-ce que Configuration Manager ? Il s'agit d'un gestionnaire de configuration (tel que Oxidized ou RANCID ) avec différents modes d'affichage des modifications (diff) et des entrées dans le journal AAA (Authentication Authorization Accounting). Ainsi, vous pouvez non seulement contrôler la différence (diff) entre les configurations, mais également déterminer qui a effectué ces modifications. Testé sur Cisco et Juniper. Liens vers la démo à l'intérieur.

head-img


Donc, notre plan est le suivant: nous nous familiarisons avec l'interface principale; évaluer tous les avantages et inconvénients ; nous apprenons ensuite comment configurer cette fonction; regarder une démo; tirer des conclusions et laisser des commentaires.

Interface principale. Aperçu


Nous commencerons par la partie la plus intéressante - en visualisant les changements de configuration. Ensuite, je raccourcirai Configuration Manager en CM .

cm-preview

Regardons maintenant l'image ci-dessus:

  1. Nous avons plusieurs modes de visualisation à notre disposition:
    • Bref (court) - le mode de vue diff le plus optimal. Seules les modifications et les lignes de configuration adjacentes sont affichées ici. Le chiffre 3 indique simplement le nombre de lignes de texte autour du changement. Si vous le souhaitez, vous pouvez augmenter ce nombre pour que "l'image" devienne plus visible.
    • Full View est le même que Brief, mais cette fois, la configuration est affichée dans son intégralité.
    • Aperçu - il suffit de visualiser le fichier de configuration. Sélectionnez une version de fichier et parcourez.
    • Clear Diff - pour ceux qui sont dans le réservoir et qui aiment les classiques.
  2. Chaque version du fichier est déterminée par la date et la validation du hachage (le hachage sera visible ultérieurement). C'est-à-dire la configuration des appareils sera collectée chaque jour, mais une nouvelle version du fichier n'apparaîtra que lorsque des modifications auront eu lieu.
  3. En fait, la configuration diff elle-même. Ici, vous pouvez clairement voir quelles lignes ont été ajoutées, modifiées ou supprimées, par rapport à l'ancienne version du fichier.
  4. Nous approchons des plus intéressants. Il contient des informations importantes qui nous indiquent quels critères sont utilisés pour sélectionner parmi les magazines AAA, à savoir la plage de dates et l'adresse de l'appareil.
  5. Une liste des utilisateurs qui ont accédé à l'appareil dans la période de temps spécifiée, ainsi que de brèves informations sur les entrées du journal AAA qui leur sont associées. De gauche à droite, le numéro d'authentification, d'autorisation, de comptabilité.
  6. Ici, nous pouvons voir quand et quelles commandes l'utilisateur a entrées. À l'avenir, le filtrage sera ajouté pour faciliter la recherche.

Il s'agit de l'interface principale avec laquelle vous travaillerez avec CM . Passons à la description du paramètre.

Configuration CM


Bref aide-mémoire dans l'image ci-dessous.

configuration cm

Et maintenant, nous allons analyser plus en détail chaque étape présentée dans l'image:

Étape 1. Ajout d'un appareil


Ici, tout est simple: vous spécifiez l'adresse, le protocole (ssh, telnet) et le port. Vous pouvez éventuellement spécifier l'utilisateur (informations d'identification) et l'invite. Si l'utilisateur n'est pas spécifié dans cette étape, l'utilisateur par défaut (défini à l'étape 4) sera utilisé. Si le champ Invite n'est pas rempli, sa valeur sera déterminée à l'étape 3 (Création d'un modèle).

Parlons maintenant de Prompt. Invite est une invite de périphérique pour entrer une commande, par exemple, Switch> ou Router> . Le même périphérique peut avoir une invite différente, selon le niveau d'accès, par exemple, Switch> , Switch # ou Switch (config) # . CM utilise une entrée d'invite pour comprendre quand entrer une commande. Vous pouvez répertorier toutes les options d'invite possibles en les séparant par une virgule. À l'avenir, je ne ferai pas référence à cette description.

appareil cm


Étape 2. Créez un utilisateur


Trois champs doivent être remplis: le nom du compte (nom d'identification), le nom d'utilisateur (nom d'utilisateur) et son mot de passe (mot de passe). Le champ Nom d'identification sera affiché dans les listes d'utilisateurs lorsqu'il est sélectionné et obligatoire, et le champ Nom d'utilisateur est utilisé pour l'autorisation sur l'appareil, et il est facultatif, par exemple, lorsque seul le mot de passe est utilisé via telnet.

cm-user

Étape 3. Création d'un modèle


L'étape la plus responsable. Ici, nous indiquons la procédure que le CM doit effectuer. Le remplissage du champ d'invite est similaire à celui décrit à l'étape 1 et sa valeur sera appliquée à tous les périphériques définis à l'étape 4. Si à ce stade le champ d'invite est laissé vide, alors SM utilisera les caractères # et > par défaut. De plus, il vaut mieux expliquer avec un exemple.

modèle cm

Dans cet exemple, SM , après une connexion réussie, exécute 5 commandes:

  1. En attente d'une invitation (attend): router_15>
    Envoie la commande (Envoyer): activer
  2. En attente d'une invitation (Attendu): assword: (la chaîne de sortie peut être partiellement indiquée)
    Envoie la commande (Envoyer): ****** (si vous envoyez un mot de passe, vous pouvez le cacher / cacher)
  3. En attente d'une invitation (Attendu): (si la sortie n'est pas spécifiée, la chaîne du champ Invite sera utilisée à la place)
    Envoie la commande (Envoyer): longueur du terminal 0 (certains appareils utilisent la fonction more, qui masque une partie des informations pour plus de commodité, CM ne fonctionne pas avec plus)
  4. En attente d'une invitation (attendez):
    Envoie la commande (Send): show runn et enregistre (Write) la sortie dans un fichier
  5. En attente d'une invitation (attendez):
    Envoie la commande (Send): exit (il est souhaitable de se déconnecter)

J'espère avoir fait la lumière sur ce qu'est un modèle.

Et oui, c'est l'attente la plus courante. Ces paramètres sont utilisés conjointement avec la bibliothèque Pexpect .

Étape 4. Créez une demande


Si avant cela nous créions des objets, alors ici nous les assemblons. Nous choisissons où nous enregistrerons le (s) fichier (s), le modèle (modèle), les appareils (appareils), l'utilisateur par défaut, et nous pouvons également découper le fichier de sortie et vérifier à quoi il ressemblera (Aperçu, deuxième image). Chaque fichier aura un nom composé d'un modèle - device-name __ device -id _ request-id .

cm-query

cm-query-preview

Vous pouvez couper un fichier à la fois depuis le début et la fin. Par exemple, nous coupons les lignes 0 à 2, -1 (dernier) et -2 (avant-dernier).

En utilisant Aperçu, vous pouvez immédiatement déterminer si votre modèle fonctionnera et à quoi ressemblera le fichier.

En conclusion, mon conseil est que si vous ne pouvez pas obtenir la configuration, essayez d'abord de vous connecter à cet appareil vous-même et exécutez les commandes spécifiées. Il est préférable de le faire directement à partir du serveur.

Ceci termine la configuration de la demande. Il reste maintenant à s'assurer que le planificateur (cron) est allumé et attend que le CM passe par les demandes et collecte toutes les configurations, ou démarre le CM sans attendre le temps spécifié (Forcer le démarrage).

Démo


Puisqu'il s'agit d'un plugin, Configuration Manager n'est pas en bonne place. Pour exclure les questions «où dois-je regarder la démo exactement», j'ai décidé de mettre cela dans une section distincte.

  1. Nous passons sur le site demo.tacacsgui.com , nous y sommes autorisés.
  2. Ensuite, regardez en bas du menu latéral de Configuration Manager -> Configurations

    cm-menu-part
  3. Sélectionnez un fichier et double-cliquez pour ouvrir le menu d'aperçu (Aperçu)

    cm-exploiter-part

    Hourra! Nous sommes en place.


Plans futurs


  1. Téléchargez n'importe quelle version de la configuration (elle existe déjà, non configurée dans gui).
  2. Ajoutez plus d'informations sur les fichiers dans CM Explorer .
  3. Ajoutez des modèles de modèle.
  4. Mettre à jour un fichier spécifique, c'est-à-dire faire une demande rapide.
  5. Planificateur Pas seulement une fois par jour ou une fois par semaine pour répondre à toutes les demandes. Et répondre aux demandes planifiées. En utilisant SM, vous pouvez non seulement collecter la configuration, mais également collecter quelque chose comme l'optimisation, par exemple, enregistrer la configuration sur les appareils.
  6. Ajouter la prise en charge de SFTP (SCP), FTP. Afin que vous puissiez déposer des fichiers depuis des appareils directement sur le CM .
  7. Prise en charge SNMP, de sorte que le périphérique envoie un message indiquant que la configuration a changé et que le CM commence à fonctionner.

Avez-vous des idées à ajouter? Laissez vos commentaires.

C’est tout. Si vous souhaitez voir plus d'articles sur TacacsGUI par type de recettes et de conseils d'utilisation, vous pouvez en parler dans les commentaires.

Meilleurs vœux!

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


All Articles