Automatizarea configurațiilor Cisco cu Ansible – administrare rapidă, consistentă și fără erori manuale

Configurare noua (How To)

Situatie

Ansible este o platformă open-source de automatizare care permite administrarea infrastructurilor IT prin intermediul unor fișiere text denumite playbook-uri. Acestea descriu într-un mod simplu și repetabil operațiunile care trebuie executate asupra echipamentelor gestionate.

Printre avantajele utilizării Ansible se numără:

  • eliminarea configurărilor repetitive
  • reducerea erorilor generate de intervențiile manuale
  • implementarea rapidă a modificărilor la nivelul întregii infrastructuri
  • posibilitatea documentării și versionării configurațiilor
  • scalabilitate ridicată pentru medii enterprise.

Solutie

Soluția este formată din trei componente principale:

  1. Stația de administrare pe care rulează Ansible
  2. Fișierul inventar care conține echipamentele Cisco
  3. Playbook-ul care definește configurațiile ce trebuie aplicate.

Schiță logică

+--------------------+
|   Server Ansible   |
|  Linux / Ubuntu    |
+---------+----------+
          |
          | SSH
          |
+---------+---------+
|     Switch 1      |
+-------------------+

+-------------------+
|     Switch 2      |
+-------------------+

+-------------------+
|     Router 1      |
+-------------------+

Un singur server Ansible poate administra simultan numeroase dispozitive de rețea.

Pentru implementarea soluției sunt necesare:

  • Python instalat pe serverul de administrare
  • Ansible instalat
  • conectivitate SSH către echipamentele Cisco
  • cont cu privilegii administrative
  • acces la rețea între server și echipamente.

Exemplu de verificare a instalării:

ansible --version
Configurarea inventarului

Fișierul inventar reprezintă lista echipamentelor care vor fi administrate.

Exemplu:

[cisco_switches]

SW-CORE-01 ansible_host=192.168.10.10
SW-CORE-02 ansible_host=192.168.10.11

[cisco_routers]

RTR-HQ-01 ansible_host=192.168.20.1

Acest fișier permite gruparea echipamentelor în funcție de rolul lor.

Crearea unui Playbook

Un playbook este fișierul care conține instrucțiunile ce vor fi executate.

Exemplul de mai jos configurează un VLAN pe toate switch-urile din grup:

---
- name: Configurare VLAN 100
  hosts: cisco_switches
  gather_facts: no

  tasks:

  - name: Creare VLAN
    ios_config:
      lines:
        - vlan 100
        - name MANAGEMENT

După executarea playbook-ului, VLAN-ul va fi creat pe toate echipamentele definite în inventar.

Aplicarea unei configurații pe mai multe switch-uri

Un scenariu frecvent îl reprezintă activarea unui VLAN nou în întreaga organizație. În loc să ne conectăm individual pe fiecare switch, putem utiliza următorul playbook:

---
- name: Configurare porturi access
  hosts: cisco_switches
  gather_facts: no

  tasks:

  - name: Configurare port GigabitEthernet1/0/10
    ios_config:
      lines:
        - switchport mode access
        - switchport access vlan 100
      parents:
        - interface GigabitEthernet1/0/10

Același set de comenzi este aplicat automat pe toate dispozitivele selectate.

Realizarea backup-ului configurațiilor

Una dintre cele mai utile funcționalități ale Ansible este posibilitatea efectuării backup-urilor automate.

Exemplu:

---
- name: Backup configuratie Cisco
  hosts: all
  gather_facts: no

  tasks:

  - name: Colectare configuratie
    ios_config:
      backup: yes

În urma execuției, fișierele de configurare sunt salvate local pentru analiză sau restaurare ulterioară.

Flux operațional recomandat
Administrator
      |
      v
Modifică Playbook
      |
      v
Testare în laborator
      |
      v
Validare
      |
      v
Executare Ansible
      |
      v
Aplicare pe toate echipamentele
      |
      v
Raport și verificare

Acest proces reduce semnificativ riscul introducerii unor configurații eronate în producție.

Beneficii observate în practică

În infrastructurile de dimensiuni medii și mari, automatizarea poate reduce timpul de implementare de la câteva ore la câteva minute.

Beneficiile principale sunt:

  • implementare uniformă a configurațiilor
  • eliminarea diferențelor dintre echipamente
  • reducerea timpului de mentenanță
  • posibilitatea revenirii rapide la configurații anterioare
  • audit și trasabilitate îmbunătățite
  • integrare cu sisteme DevOps și Git.

Pentru o implementare sigură se recomandă:

  • utilizarea autentificării pe bază de chei SSH;
  • stocarea parolelor în Ansible Vault;
  • limitarea accesului administrativ;
  • testarea modificărilor într-un mediu separat înainte de aplicarea în producție;
  • păstrarea unui backup actualizat al configurațiilor.

Tip solutie

Permanent

Voteaza

(8 din 13 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?