Artikel ini akan memberikan temen-temen sedikit pencerahan bagaimana menggunakan Ansible (IT Otomation Tools) pada jaringan, yang mana contoh kali ini adalah untuk MikroTik RouterOS.
Ansible sangat membantu temen-temen jika akan mengkonfigurasi device routerboard banyak atau Sangat Banyak. Ansible adalah tools gratis, tinggal pakai, jadi pasti sangat membantu dalam pekerjaan.
Keuntungan Ansible adalah bisa mendokumentasikan konfigurasi, utk kolaborasi dengan team sangat baik karena tinggal lihat konfig admin pemula akan tau konfigurasi dari awal sampai akhir.
Jika sudah dibuat konfigurasinya tinggal jalankan saja, tanpa konfigurasi ulang.
Langkah-langkah menggunakan ansible untuk menkonfigurasi routeros mikrotik:
Persiapan:
- Linux Ubuntu Desktop (16.04/18.04)
- SSH Client, umumnya sudah ada. Jika belum ada silahkan instal dulu
$ sudo apt-get install openssh-client
- SSH Key (Private & Public) – Jika belum generate silahkan generate dulu. ikuti artikel berikut: Cara Login SSH Server tanpa Password (Key Pair Authentication)
- Copy SSH Public Key
id_rsa.pub
ke RouterOS.
1 – Instal Ansible
Untuk instalasi ansible tidaklah sulit, silahkan baca tutorial berikut: https://www.lukmanlab.com/instalasi-ansible-di-linux-ubuntu/
2 – Buat File Host dan Playbook
Pertama, buat file Host: $ nano hosts
, file ini merupakan inventory host (daftar kumpulan ip address router mikrotik) yang akan dikonfigurasi bersamaan.
Jika anda ingin konfigurasi 2 atau lebih device, silahkan tambahkan pada baris setelahnya dan silahkan sesuaikan user mikrotik-nya. Pastikan lagi anda bisa melakukan remote devices mikrotik dengan ssh tanpa password.
[rb1] 192.168.4.1 ansible_user=lukman ansible_network_os=routeros
Kedua, buat File Playbook .yml $ nano main.yml
, file ini berisi daftar command yang akan kita kirim ke router mikrotik yang sudah didaftarkan pada file hosts
(inventory) tadi.
--- - hosts: rb1 connection: network_cli gather_facts: no tasks: - name: Contoh Menambahkan IP Address Ether2 routeros_command: commands: /ip address add address=192.168.100.1/24 interface=ether2
3 – Running
Jalankan dengan perintah berikut:
$ ansible-playbook -i hosts main.yml
Lebih jelasnya lihat overview video berikut, untuk mempermudah:
Penggunaan Variable Ansible untuk Konfigurasi
Berikut saya contohkan bagaimana menggunakan variable pada command yang akan kita kirim ke mikrotik.
--- - hosts: rb1 connection: network_cli vars: name: user1 passwd: 12345678 comment: User_Satu gather_facts: no tasks: - name: Add User Profile routeros_command: commands: "/ip hotspot user profile add address-list={{ name }} idle-timeout=4h incoming-filter={{ name }}-in incoming-packet-mark=packet-{{ name }}-in name={{ name }} outgoing-packet-mark=packet-{{ name }}-out shared-users=3"
Catatan: Apapun command yang anda kirim ke devices lewat playbook, pastikan sesuai dengan kaidah penulisan ketika anda konfigurasi secara manual. Jika script command yang anda kirim tidak berjalan sempurna, bisa jadi ada yang miss pada script command anda.
LukmanLAB
Admin LUKMANLAB, DevOps Engineer, Site Reliability Engineer, System Administrator.
2 thoughts on “Study Case: Ansible untuk RouterOS MikroTik”