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 & DevOpsFilter Versi CLI:
Tujuan Praktikum #
- Menyusun file inventory Ansible (
inventory.yaml) untuk router cabang. - Membuat Playbook Ansible untuk standarisasi keamanan (NTP, DNS, SSH banner, User hardening).
- 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.