Oxidized adalah tool untuk backup config dari perangkat network secara otomatis dan berkala. Menurut developernya ini merupakn tool pengganti Rancid.
lebih enak lihat di medium
Yang perlu disiapkan adalah
- Ubuntu 18.04 atau yang lebih tinggi
- Koneksi internet
- SW atau perangkat network untuk pengetesan
Pertama enable repo universe pada ubuntunya
add-apt-repository universe
Install package lain yang dibutuhkan
apt-get install ruby ruby-dev libsqlite3-dev libssl-dev pkg-config cmake libssh2-1-dev libicu-dev zlib1g-dev g++
Kemudian install gems
gem install oxidized
gem install oxidized-script oxidized-web # jika kalian tidak install oxidized web pastikan kalian mengahapus "rest" pada file konfigurasinya
Developer menyarankan agar tidak menggunakan user root pada saat penggunaan namun disini saya menggunakna user root karena vmnya nanti akan saya hapus. Namun jika ingin mengikuti rekomendasi dari developernya buatlah user baru
adduser oxidized
Jika sudah dibuat masuk ke user tersebut
su - oxidized
Jalankan oxidized tanpa menambah argumen apapun untuk membuat file konfigurasi dasar
oxidized
command diatas akan membuatkan direktori /home/oxidized/.config/oxidized/ dan akan membuatkan file config sebagai contoh atau referensi config kita nantinya.
Tahap ini merupakan optional, buat direktori untuk menyimpan file konfigurasi secara default foldernya sudah disediakan oleh oxidized namun untuk memudahkan dalam mengakses dan merapihkannya kita bisa buat folder terpisah.
mkdir /home/oxidized/deviceconfigs
Edit file konfigurasinya
nano /home/oxidized/.config/oxidized/config
Sesuaikan dengan perangkat yang kalian miliki, atau kalian bisa mengikuti file konfig yang saya gunakan dan telah saya tambahkan // untuk komentarnya.
Lebih enak lihat di https://codeshare.io/zy7gVj
// Karena pada saat membuat server ini perangkat yang saya gunakan ada raisecom jadi model nya adalah raisecom
// disini saya tidak mengisi parameter username dan password karena itu akan saya mapping pada databasenya nanti
---
username: username // username yang akan digunakan untuk login ke devicenya
password: password // password yang akan digunakan untuk login ke devicenya
model: raisecom // model atau jenis perangkat yang digunakan
resolve_dns: true // jika tidak menggunakan domain bisa dibuat false dan di router db nya jangan menggunakna domain
interval: 600 // interval berapa sering konfigurasinya akan diambil dalam satuan detik
use_syslog: false
debug: false // aktifkan jika ingin melihat debugnya
threads: 30
timeout: 20
retries: 3
prompt: !ruby/regexp /^([\\w#.@-]+[#>]\\s?)$/
rest: 0.0.0.0:8888 // ini untuk oxidized webnya
// default rest adalah 127.0.0.1 ubah ke 0.0.0.0 untuk membuat listen di all network
next_adds_job: false
// kebetulan perangkat yang digunakan tidak memerlukan enable password namun jika dibutuhkan berikut konfigurasinya
vars:
enable: v3ry5ecur3
remove_secret: true // ini akan menutupi atau mengahapus password yang ditampilkan saat show running config
groups: {}
models: {}
pid: "/home/oxidized/.config/oxidized/pid"
crash:
directory: "/home/oxidized/.config/oxidized/crashes"
hostnames: false
stats:
history_size: 10
input:
default: ssh
// mode yang akan digunakan untuk login bisa disesauiakn ssh atau telnet atu bisa juga ssh dan telnet
// gunakan " ssh, telnet " jika ingin menggunakan ssh sebagai primary method dan secondary methodnya telnet
debug: false
ssh:
secure: false
ftp:
passive: true
utf8_encoded: true
output:
default: file
file:
directory: "/home/oxidized/.config/oxidized/configs"
source:
default: csv
csv:
// Format:
// hostname:modelname:username:password:enablepassword
// sw-edge3.example.org:raisecom:manager:s3cr3t:SuP3rSecr3t
// namun karena saya tidak membutuhkan enable password jadi hanya perlu
// hostname:model:username:password
file: "/home/oxidized/.config/oxidized/router.db"
delimiter: !ruby/regexp /:/
map:
name: 0
model: 1
username: 2
password: 3
vars_map:
enable: 4
gpg: false
model_map:
// disini merupakan map model lainnya namun saya belum pernah mencobanya.
juniper: junos
cisco: ios
Buat atau masuk ke file /home/oxidized/.config/oxidized/router.db untuk menambahkan node atau hostnya dan isi seperti dibawah ini
sw-edge3.example.org:raisecom:manager:s3cr3t
Jika pada router db menggunakan domain jangan lupa untuk menambahkannya juga di /etc/hosts
127.0.0.1 localhost
192.168.1.2 oxidized.linux-island.com oxidized
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
// tambhkan dibaris paling bawah seperti ini
10.10.10.10 sw-edge3.example.org
jalankan oxidized sekali lagi dan dan masuklah ke webnya di http://ipservermu:8888/
kalian akan melihat tampilan seperti dibawah
Jika ada penambahan device baru cukup tambah di /etc/hosts dan di router.db kemudian klik reload pada webnya dan refresh webnya maka nodenya akan otomatis ditambahkan.
Referensi :
- https://github.com/ytti/oxidized
- https://www.notion.so/jsofari/Tutorial-Install-Oxidized-di-Ubuntu-18-04-e1a3d986b6504d8f9493dcf8f716b6d5
- http://www.whoopis.com/core/oxidized-quickstart-tutoria.html
terima kasih kak
BalasHapus