Selamat datang di panduan setup Codelamp! Vagrant adalah alat untuk membangun dan mengelola lingkungan **virtual machine** (VM) secara otomatis. Daripada mengklik manual di VirtualBox, Anda cukup menulis satu file konfigurasi (Vagrantfile) dan Vagrant akan membangun keseluruhan lab untuk Anda. Ini cepat, mudah, dan dapat diulang (reproducible).
Panduan ini mencakup instalasi dari awal, dengan asumsi Anda hanya memiliki sistem operasi (Windows/Mac/Linux).
Vagrant bukan *software* virtualisasi. Ia adalah alat yang mengontrol *software* virtualisasi. *Software* yang akan kita gunakan adalah VirtualBox dari Oracle. Anda wajib menginstalnya terlebih dahulu.
Jika Anda menggunakan Linux, Anda mungkin juga perlu menginstal "Extension Pack" dari halaman yang sama.
Setelah VirtualBox terinstal, sekarang saatnya menginstal Vagrant.
vagrant terdeteksi di Command Prompt atau PowerShell.Alternatif (via Terminal): Jika Anda menggunakan Chocolatey atau Winget:
choco install vagrant
winget install HashiCorp.Vagrant
Cara termudah adalah menggunakan Homebrew. Buka Terminal Anda dan jalankan:
brew install vagrant
Alternatif (via Installer):
Buka Terminal Anda dan jalankan perintah berikut:
sudo apt update
sudo apt install vagrant -y
Setelah instalasi selesai (dan Anda sudah me-restart jika di Windows), buka terminal baru (Command Prompt, PowerShell, atau Terminal) dan jalankan:
vagrant --version
Jika Anda melihat output seperti Vagrant 2.4.1, berarti instalasi Anda berhasil!
Sekarang bagian yang menyenangkan. Kita akan menggunakan Vagrant untuk membangun lab Modul 2 kita.
Buat satu folder baru di komputer Anda untuk menyimpan konfigurasi lab ini.
mkdir Codelamp-Lab
cd Codelamp-Lab
VagrantfileDi dalam folder Codelamp-Lab, buat file baru bernama Vagrantfile (tanpa ekstensi). Salin dan tempel (copy-paste) seluruh konfigurasi di bawah ini ke dalam file tersebut.
nano Vagrantfile
Vagrant.configure("2") do |config|
# VM Ubuntu
config.vm.define "ubuntu" do |ubuntu|
ubuntu.vm.box = "ubuntu/focal64"
ubuntu.vm.hostname = "ubuntu-vm"
ubuntu.vm.network "private_network", ip: "192.168.56.10"
end
# VM Kali Linux
config.vm.define "kali" do |kali|
kali.vm.box = "kalilinux/rolling"
kali.vm.hostname = "kali-vm"
kali.vm.network "private_network", ip: "192.168.56.11"
end
end
Vagrantfile ini menggunakan private_network (juga dikenal sebagai "Host-Only Network"). Mengapa?
192.168.56.10). Ini sangat penting untuk lab *pentest* agar Anda selalu tahu IP target Anda.Secara default, Vagrant juga memberi setiap VM satu jaringan "NAT" (yang terisolasi) untuk akses internet. Jadi, dengan konfigurasi ini, Anda mendapatkan yang terbaik dari keduanya: akses internet (via NAT) dan jaringan lab pribadi (via Private Network).
Sekarang, Anda hanya perlu satu perintah untuk membangun kedua VM tersebut. Pastikan Anda berada di folder Codelamp-Lab.
vagrant up
Vagrant akan mengunduh *box* (image) Kali dan Ubuntu (ini bisa memakan waktu lama saat pertama kali), membuat VM di VirtualBox, dan mengatur jaringan pribadi. Tidak ada paket yang akan diinstal secara otomatis, sesuai permintaan Anda.
Setelah selesai, Anda bisa masuk ke masing-masing VM dengan sangat mudah.
➡️ Masuk ke VM Attacker (Kali):
vagrant ssh kali
Anda akan langsung masuk ke terminal Kali. Coba ping target:
ping -c 3 192.168.56.10
Ini akan berhasil karena jaringannya sudah diatur!
➡️ Masuk ke VM Target (Ubuntu):
Buka terminal kedua (biarkan terminal Kali tetap terbuka) dan jalankan:
vagrant ssh target
Anda akan langsung masuk ke server Ubuntu Anda. VM ini masih "kosong" dan siap untuk Anda gunakan dalam panduan lab selanjutnya.
Instalasi Selesai! Lab Anda yang terdiri dari dua VM "kosong" yang saling terhubung kini siap digunakan untuk mengikuti panduan demo Modul 2.
Gunakan perintah ini di terminal Host Anda (di dalam folder Codelamp-Lab):
vagrant global-status: Menampilkan daftar semua VM Vagrant di seluruh proyek, beserta statusnya (running, poweroff, not created, dll).vagrant box list: Menampilkan daftar semua box yang tersedia di sistem Anda.vagrant box remove <nama_box> --provider <provider>: Menghapus box tertentu dari sistem. Gunakan opsi -f untuk menghapus tanpa konfirmasi (misalnya vagrant box remove ubuntu/focal64 --provider virtualbox -f).vagrant box list | awk '{print $1}' | xargs -n 1 vagrant box remove -f: Menghapus semua box secara otomatis tanpa konfirmasi (Linux/macOS).rm -rf ~/.vagrant.d/boxes: Menghapus semua box yang tersimpan secara manual dari direktori konfigurasi Vagrant.rm -rf ~/.vagrant.d/tmp: Menghapus file sementara (temporary) Vagrant.rm -rf ~/.vagrant.d/data: Menghapus data metadata dan cache Vagrant, untuk membersihkan sistem sepenuhnya.vagrant halt: Mematikan kedua VM (shut down).vagrant up: Menghidupkan kembali VM yang mati.vagrant destroy -f: Menghapus total kedua VM. Anda harus menjalankan vagrant up lagi untuk membangunnya dari awal.