SUPONO.
NetAuto • Kursus PraktisiPanduan Praktik Hands-On

Lab 3: Bulk Deployment 10 Router Cabang Menggunakan Ansible

Praktikum mendistribusikan konfigurasi identitas, NTP, DNS, dan hardening security ke 10 router cabang secara paralel.

Format: Markdown (.MD)•File: lab_3_ansible_bulk_deployment.md•Sasaran: Praktisi & DevOps
Filter Versi CLI:

Tujuan Praktikum #

  1. Menyusun file inventory Ansible (inventory.yaml) untuk router cabang.
  2. Membuat Playbook Ansible untuk standarisasi keamanan (NTP, DNS, SSH banner, User hardening).
  3. Menjalankan playbook dengan eksekusi paralel (forks).

Langkah 1: Struktur Proyek Ansible #

TEXT
ansible-mikrotik/
├── ansible.cfg
├── inventory.yaml
├── playbooks/
│   └── harden_routers.yaml
└── templates/
    └── system_banner.j2

Langkah 2: Inventory YAML (inventory.yaml) #

YAML
all:
  children:
    branch_routers:
      hosts:
        router-jkt:
          ansible_host: 192.168.1.1
          branch_name: "JAKARTA-HQ"
        router-sby:
          ansible_host: 192.168.2.1
          branch_name: "SURABAYA-BRANCH"
        router-mdn:
          ansible_host: 192.168.3.1
          branch_name: "MEDAN-BRANCH"
      vars:
        ansible_user: "ansible-admin"
        ansible_ssh_pass: "SecureSecret2026!"
        ansible_connection: "network_cli"
        ansible_network_os: "community.routeros.routeros"

Langkah 3: Playbook Hardening (playbooks/harden_routers.yaml) #

YAML
---
- name: Standarisasi Router Cabang MikroTik
  hosts: branch_routers
  gather_facts: no
  tasks:
    - name: Set Identity Router Sesuai Nama Cabang
      community.routeros.command:
        commands:
          - /system identity set name="{{ branch_name }}"

    - name: Konfigurasi Cloud NTP Client
      community.routeros.command:
        commands:
          - /system ntp client set enabled=yes servers=id.pool.ntp.org

    - name: Matikan Service Telnet & FTP yang Tidak Aman
      community.routeros.command:
        commands:
          - /ip service disable telnet,ftp

Langkah 4: Menjalankan Playbook #

BASH
ansible-playbook -i inventory.yaml playbooks/harden_routers.yaml -f 5

Output terminal akan menampilkan status OK dan CHANGED untuk seluruh router secara simultan.