Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
docpublic:systemes:ansible_cisco [2023/01/08 16:28]
adminjp [linux keys]
docpublic:systemes:ansible_cisco [2023/01/08 18:14] (current)
adminjp [Playbook ansible cisco cli cmd]
Line 7: Line 7:
 ===== linux keys ===== ===== linux keys =====
  
-generer une paire clée ssh sur la station de commande linux (master node) +generer une paire de clée ssh sur la station de commande linux (master node) 
  
  
Line 32: Line 32:
  
  
 +
 +association de la clée privée avec le routeur cisco 
 +
 +<code>
 +[ansnet@ansmnode .ssh]$ cat config 
 +host routeur
 + HostName routeur
 + IdentityFile ~/.ssh/id_rsa_ansiblenet46
 + User ansiblenet
 +</code>
 +
 +avec une definition de l'adresse IP dans le fichier host
 +
 +<code>
 +[ansnet@ansmnode .ssh]$ cat /etc/hosts | grep routeur
 +192.168.1.7 routeur
 +</code>
 +===== compte Cisco avec clé ssh =====
 +
 +pour realiser nos commandes cisco depuis ansible, on créé un compte de privileges aproprié (ici 10) 
 +
 +<code>
 +routeur(config)#username ansnetco privilege 10 password 0 secretpass
 +</code>
 +
 +puis on associe la clée publique formattée ci-dessous sous linux par simple copier/coller 
 +
 +<code>
 +routeur(config)#ip ssh pubkey-chain
 +routeur(conf-ssh-pubkey)#username ansnetco
 +routeur(conf-ssh-pubkey-user)#key-string
 +routeur(conf-ssh-pubkey-data)#ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC+NTIY3H4/yfQymt1kKfgNzEkfSKNkx8U4
 +routeur(conf-ssh-pubkey-data)#Fxn65ZNmt5cx61MEXYK6Ok8HkRWCRAh6DCm/NzDzPLPqMZCj5VeMkIk1RMccafdCVxKfBnPd
 +.....
 +routeur(conf-ssh-pubkey-data)#8gjWECltaV10HCSKeUgZ2S9rT8KIUGlvMhp5Mg1jmRMIgOK+/iJOdMaKylx3zklR8lcJYzTt
 +routeur(conf-ssh-pubkey-data)#UQ== ansnet@ansmnode.domain.fr
 +routeur(conf-ssh-pubkey-data)#exit
 +routeur(conf-ssh-pubkey-user)#exit
 +routeur(conf-ssh-pubkey)#exit
 +</code>
 +
 +===== acces ssh cisco =====
 +
 +Maintenant que tout est en place, il est possible de se connecter en ssh en utilisasant le clée ssh pour l'authentificaion .
 +
 +<code>
 +[ansnet@ansmnode .ssh]$  ssh -c aes192-ctr ansnetco@routeur
 +
 +
 +routeur#show privilege 
 +Current privilege level is 10
 +</code>
 +
 +
 +===== Playbook ansible cisco cli cmd =====
 +
 +playbook ansible qui lance une commande cisco en cli affichant les stats de CPU QOS  
 +
 +<code>
 +routeur#show platform hardware fed switch active qos queue stats internal cpu policer
 +
 +                         CPU Queue Statistics                  
 +============================================================================================
 +                                              (default) (set)     Queue        Queue
 +QId PlcIdx  Queue Name                Enabled   Rate     Rate      Drop(Bytes)  Drop(Frames)
 +--------------------------------------------------------------------------------------------
 +0    11     DOT1X Auth                  Yes     1000      1000                0          
 +1    1      L2 Control                  Yes     2000      2000                0          
 +2    14     Forus traffic               Yes     4000      4000                0          
 +3    0      ICMP GEN                    Yes     750       750      0            0          
 +4    2      Routing Control             Yes     5500      5500                0          
 +5    14     Forus Address resolution    Yes     4000      4000                0          
 +6    0      ICMP Redirect               Yes     750       750      7021943669  59789154  
 +7    16     Inter FED Traffic           Yes     2000      2000                0          
 +8    4      L2 LVX Cont Pack            Yes     1000      1000                0          
 +9    19     EWLC Control                Yes     13000     13000    0            0          
 +10   16     EWLC Data                   Yes     2000      2000                0          
 +11   13     L2 LVX Data Pack            Yes     1000      1000                0          
 +12        BROADCAST                   Yes     750       750      31304954    155792    
 +13   10     Openflow                    Yes     250       250      0            0          
 +14   13     Sw forwarding               Yes     1000      1000     2977910     41510     
 +15        Topology Control            Yes     13000     16000    0            0          
 +...
 +
 +</code>
 +
 +c'est une commande complexe pour laquelle je n'ai pas trouvé d'OID snmp, ce qui aurai bcp plus simple ...
 +
 +le playbook ansible ci-dessous realise l'execution de cette commande et stocke le resultat dans un fichier texte locale et noeud master ansible depuis lequel il s'execute 
 +
 +<code>
 +[ansnet@ansmnode .ssh]$ cat /home/ansnet/ansnet/playRecPolicy.yml
 +---
 +
 +- name: Playbook to show qos queue stats internal cpu policer on Cisco 9K
 +  connection: network_cli
 +  hosts: routeur
 +  remote_user: ansnetco
 +  gather_facts: False
 +
 +  tasks:
 +    - name: Show platform hardware qos queue stats internal cpu policer on Device
 +      ios_command:
 +        commands:
 +                - show platform hardware fed switch active qos queue stats internal cpu policer
 +      vars:
 +        ansible_ssh_user: ansnetco
 +        ansible_ssh_pass: "{{ ios_password }}"
 +        ansible_network_os: "ios"
 +        #        ansible_ssh_private_key_file: '/home/ansnet/.ssh/id_rsa_ansiblenet46'
 +
 +      register: config
 +
 +    - name: Save output to output folder
 +      copy:
 +        content: "{{ config.stdout[0] }}"
 +        dest: "/home/ansnet/ansnet/output/{{ inventory_hostname }}-cpu-policer.txt"
 +</code>
 +
 +reste a parser le ficher txt pour en retirer les valeurs a grapher . 
  
  
-  
  
 ==== references URLs ==== ==== references URLs ====
docpublic/systemes/ansible_cisco.1673195339.txt.gz · Last modified: 2023/01/08 16:28 by adminjp
[unknown link type]Back to top
CC Attribution-Noncommercial-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0