SERVER LEVEL: ADVANCED 2 min read Lab 40 Menit 86 views

Panduan Otomatisasi Jaringan Enterprise Menggunakan Ansible dan Python (Netmiko) untuk Mass Backup & Configuration Management

Modul Saat Ini

Implementasi Bertahap

Langkah konfigurasi dan tindakan lapangan yang dilakukan dari awal sampai siap diuji.

DevNetCUK DevOps & Network Automation Team 24 Aug 2026
URL Modul
Panduan Otomatisasi Jaringan Enterprise Menggunakan Ansible dan Python (Netmiko) untuk Mass Backup & Configuration Management
Executive Summary Panduan langkah demi langkah membangun server otomatisasi jaringan menggunakan Ansible & Python Netmiko. Mengubah tugas manual menjadi skrip otomatis untuk backup massal konfigurasi 50+ router/switch Cisco & MikroTik, auto-push VLAN, dan audit keamanan.

Tested & Verified On

Ansible 2.16+, Python 3.11, Netmiko 4.3+, Cisco IOS-XE 17.x & MikroTik RouterOS v7

Prerequisites

Dasar Linux Ubuntu/Debian, SSH Key Authentication, & pengetahuan dasar Python/YAML

Arsitektur Network Automation

Mengelola puluhan hingga ratusan perangkat jaringan secara manual via SSH satu per satu rentan terhadap *human error* dan memakan banyak waktu. Dengan Ansible & Python Netmiko, Anda dapat mengontrol seluruh infrastruktur perangkat jaringan dari satu titik *Control Node*.

Langkah 1: Setup Environment Python & Ansible di Ubuntu Server

Instal Ansible dan pustaka Netmiko pada server Linux Ubuntu 24.04 LTS Anda.

# Install Python Virtualenv & Ansible
sudo apt update && sudo apt install -y python3-pip python3-venv git
python3 -m venv ~/netauto-env
source ~/netauto-env/bin/activate
pip install ansible netmiko paramiko

Langkah 2: Konfigurasi File Inventory (`hosts.ini`)

Kelompokkan IP address perangkat jaringan berdasarkan jenis vendor (Cisco IOS / MikroTik RouterOS).

[cisco_switches]
sw-core-01 ansible_host=192.168.100.10 ansible_network_os=cisco.ios.ios
sw-access-01 ansible_host=192.168.100.11 ansible_network_os=cisco.ios.ios

[mikrotik_routers]
r-edge-01 ansible_host=192.168.100.21 ansible_network_os=community.routeros.routeros

[all:vars]
ansible_user=netadmin
ansible_ssh_pass=DevNetSecurePass2026!
ansible_connection=network_cli

Langkah 3: Membuat Ansible Playbook untuk Mass Backup Configuration

Buat file YAML `backup_network.yml` yang secara otomatis mengesekusi perintah backup dan menyimpannya dalam folder berstempel tanggal.

---
- name: Automate Cisco Network Backup
  hosts: cisco_switches
  gather_facts: no
  tasks:
    - name: Run Show Running-Config on Cisco
      cisco.ios.ios_command:
        commands: show running-config
      register: cisco_config

    - name: Save Running Config to File
      ansible.builtin.copy:
        content: "{{ cisco_config.stdout[0] }}"
        dest: "/var/backups/network/cisco_{{ inventory_hostname }}_{{ ansible_date_time.date }}.cfg"

Langkah 4: Skrip Python Custom dengan Netmiko untuk Audit VLAN Masal

Skrip Python Netmiko berikut mengecek status VLAN pada perangkat Cisco dan MikroTik secara bersamaan.

from netmiko import ConnectHandler

cisco_device = {
    "device_type": "cisco_ios",
    "host": "192.168.100.10",
    "username": "netadmin",
    "password": "DevNetSecurePass2026!"
}

net_connect = ConnectHandler(**cisco_device)
output = net_connect.send_command("show vlan brief")
print("=== CISCO VLAN AUDIT OUTPUT ===")
print(output)
net_connect.disconnect()

Contoh Konfigurasi / Command Penting

# Run Ansible Playbook:
ansible-playbook -i hosts.ini backup_network.yml
python3 audit_network.py

CLI Command & Configuration Script

# Run Ansible Playbook:
ansible-playbook -i hosts.ini backup_network.yml
python3 audit_network.py

Masukan & Komentar Pembaca (0)

Diskusi Komunitas
Kirim Masukan atau Pertanyaan

Bantu kami meningkatkan kualitas tutorial ini dengan memberikan masukan, koreksi, atau pertanyaan teknis Anda.

Belum ada masukan pembaca. Jadilah yang pertama memberikan masukan atau pertanyaan.