💾

Ciljevi modula 24 – Automatizacija mreža

Nivo gradiva

Ekspertski nivo

Napomena o statusu modula: Ovaj modul je označen kao ➕ Dodatni u planu kursa — proširuje znanje, ali ne blokira dalje napredovanje. Ipak, automatizacija je danas deo većine oglasa za posao mrežnog inženjera.

Napomena o dozvoljenoj upotrebi: Sve tehnike iz ovog modula namenjene su isključivo administraciji sopstvene ili ovlašćene infrastrukture. Skripta koja se prijavljuje na uređaje radi isto što i administrator — samo mnogo brže i na mnogo više uređaja odjednom. Pokretanje automatizacije nad uređajima za koje nemate pisano ovlašćenje je neovlašćen pristup, bez obzira na nameru.

Potrebna predznanja

Pre nego što počnete ovaj modul, trebalo bi da već znate:

Prethodno iskustvo sa programiranjem nije potrebno — osnove Python-a potrebne za mreže objašnjene su u samom modulu.

Ciljevi učenja

Nakon završetka ovog modula, polaznik će biti sposoban da:

  1. Objasni koristi i rizike automatizacije mrežne administracije.
  2. Napiše jednostavne Python skripte sa promenljivim, listama, rečnicima, petljama, funkcijama i obradom grešaka.
  3. Čita i piše tekstualne fajlove i izvlači podatke iz izlaza komandi.
  4. Koristi JSON i YAML formate za podatke o uređajima i rezultate.
  5. Objasni kako radi SSH automatizacija i ulogu biblioteke Paramiko.
  6. Koristi Netmiko za izvršavanje show komandi i slanje konfiguracije.
  7. Automatizuje backup konfiguracija sa datumom i poređenjem verzija.
  8. Automatski prikuplja izlaze show komandi sa više uređaja.
  9. Napravi skriptu za automatsku proveru dostupnosti uređaja.
  10. Objasni osnove REST API-ja i pozove API mrežnog uređaja iz Python-a.
  11. Napravi Ansible inventory i playbook za mrežne uređaje.
  12. Objasni idempotentnost i koristi je za bezbednu primenu konfiguracije.
  13. Bezbedno čuva kredencijale (promenljive okruženja, getpass, Ansible Vault).
  14. Primeni principe bezbedne i odgovorne automatizacije (testiranje, postepeno uvođenje, povratak na prethodno stanje).

Obavezne i dodatne lekcije

Obavezne teme (za ovaj dodatni modul):

  • Zašto automatizacija i odgovorna upotreba.
  • Osnove Python-a, rad sa fajlovima, JSON i YAML.
  • Netmiko: prikupljanje show komandi, backup i konfiguracija.
  • Ansible inventory i playbook.
  • Bezbedno čuvanje kredencijala.

Dodatne teme:

  • REST API, RESTCONF/NETCONF i YANG (koncept).
  • Parsiranje izlaza pomoću TextFSM-a.
  • Paralelno izvršavanje skripti.

Laboratorijsko okruženje

Laboratorija koristi VirtualBox i besplatan, legalan softver:

  • Ubuntu Server VM iz Modula 18 kao kontrolni računar (odatle se pokreću Python i Ansible).
  • Dva VyOS rutera kao virtuelne mašine (isti besplatni mrežni OS kao u Modulu 22).
  • Sve VM-ove povezuje VirtualBox Host-only mreža 192.168.56.0/24.

Isti Python i Ansible kod radi i sa Cisco opremom — menja se samo tip uređaja (device_type u Netmiko-u, odnosno Ansible kolekcija). Primeri u teoriji pokazuju i Cisco IOS varijantu.

Šta ćete moći da uradite posle ovog modula

Moći ćete da jednom komandom napravite backup konfiguracija svih uređaja sa datumom, prikupite izlaze show komandi sa cele mreže u fajlove, proverite koji uređaji ne odgovaraju, i primenite istu standardnu konfiguraciju na više uređaja odjednom — ponovljivo, bez grešaka u kucanju i bez lozinki upisanih u kod.

Veza sa poslovnim ulogama

  • Mrežni administrator — automatski backup-i i provere koje su ranije rađene ručno.
  • Mrežni inženjer / NetDevOps inženjer — standardizovana konfiguracija velikog broja uređaja, integracija sa sistemima za upravljanje promenama.
  • NOC operater — skripte za brzo prikupljanje dijagnostičkih podataka tokom incidenta.
  • Kandidat za sertifikacije — automatizacija je deo ispita CCNA (osnove) i posebnih sertifikacija (Cisco DevNet, CCNP Automation).