Proxmox VE mendukung fitur Software-Defined Network (SDN) yang memungkinkan pembuatan jaringan virtual secara terpusat. Terdapat fitur SDN Subnet yang memungkinkan pembuatan pool alamat IP untuk dialokasikan ke guest VM.
Untuk menguji skenario ini, kita dapat menggunakan VM Mikrotik sebagai virtual router yang diinstal pada server Proxmox VE. VM Mikrotik akan digunakan sebagai gateway untuk subnet yang dibuat di SDN Proxmox VE, sehingga VM yang ada pada subnet tersebut dapat saling berkomunikasi dengan menggunakan alamat IP yang diberikan oleh VM Mikrotik.
Ilustrasinya kurang lebih seperti ini:
Sebenarnya mirip dengan tulisan saya yang sebelumnya, tapi kali ini menggunakan Mikrotik instead of pfSense, dan pada pengujian kali ini kita akan menggunakan konfigurasi SDN pada Proxmox VE.
Konfigurasi SDN
Pertama, kita buka Proxmox VE> Datacenter> SDN> Zones. Zone secara singkat adalah pembagian jaringan (logical) pada SDN. Ada beberapa jenis zone yang disediakan:
- Simple
- VLAN
- QinQ
- VXLAN
- EVPN
Pada pengujian kali ini kita pilih saja opsi pertama (Simple). Opsi simple mirip dengan bridge biasa, di mana VM kita sambungkan ke sini.
Kita beri nama untuk zone baru ini. Misalnya kita gunakan nama newzone pada pengujian kali ini. Parameter lain dibiarkan saja. Pilih tombol Add untuk melanjutkan.
Setelah zone dibuat, selanjutnya kita buat VNet baru. VNet dapat diibaratkan seperti virtual switch yang ada di dalam zone. Beri nama untuk VNet dan assign ke Zone yang sudah dibuat sebelumnya.
Setelah membuat VNet, selanjutnya adalah konfigurasi Subnet. Pilih VNet yang sudah dibuat, lalu lihat panel sebelah kanan. Pilih Create (pada panel Subnets) untuk membuat subnet baru.
Pada pengujian kali ini menggunakan alamat IP 10.0.0.0/24. Checkbox SNAT tidak perlu dipilih karena kita akan menggunakan VM Mikrotik sebagai virtual router. Pilih tombol Create untuk menambahkan subnet baru.
Jangan lupa, kita perlu terapkan konfigurasi yang sudah dilakukan. Buka SDN> Apply.
Instalasi VM Mikrotik
VM Mikrotik yang dimaksud adalah Mikrotik CHR (Cloud Hosted Router). Selengkapnya dapat dibaca pada link berikut: https://help.mikrotik.com/docs/spaces/ROS/pages/18350234/Cloud+Hosted+Router+CHR .
Mikrotik CHR memang dirancang untuk dapat dijalankan sebagai VM. Misalnya ESX, Hyper-V, QEMU/KVM, dan VirtualBox. System requirement-nya juga minimalis. 1 core CPU, 128 MB RAM, 128 MB disk. Namun untuk pengujian kali ini, resource-nya adalah 1 core CPU, 2 GB RAM (overkill), 10 GB disk (overkill juga).
Proses pembuatan VM tidak ditulis pada artikel kali ini. Kita langsung ke step-by-step instalasinya saja.
Tahapan pertama, kita bisa memilih apa layanan apa saja yang ingin diinstal. Kita pilih yang system saja.
Selanjutnya adalah konfirmasi tempat instalasi Mikrotik-nya. Pilih y* untuk konfirmasi. Apabila instalasi sudah selesai, akan ada pesan Software installed.
Gambar di bawah ini mungkin bisa disebut sebagai “welcome page-“nya. Sistem ini bersifat trial selama 24 jam. Selanjutnya, kita juga diminta untuk menambahkan password untuk masuk ke dalam sistem Mikrotik-nya.
Konfigurasi VM Mikrotik
Kita lanjut masuk ke shell Mikrotik-nya. Untuk menampilkan daftar interface yang terpasang, kita dapat menggunakan perintah /interface print
.
Interface yang terpasang baru satu saja yaitu ether1. Ether1 ini akan dijadikan sebagai jalur simulasi WAN (akses ke jaringan luar). Kita butuh tambahan satu interface lagi pada VM Mikrotik-nya.
Kita bisa tambahkan interface-nya dengan cara pilih VM di Proxmox VE> Hardware> Add> Network device. Lalu sesuaikan/pilih bridge yang sesuai. Periksa kembali interface pada VM Mikrotik, apakah sudah ada ether2 atau belum.
Kita berikan IP statis ke interface ether1 (WAN). Ini ibarat “IP publik” yang didapatkan dari ISP (disimulasikan pada lab jaringan lokal).
/ip address add address=192.168.9.20/24 interface=ether1
Tambahkan default gateway-nya.
/ip route add gateway=192.168.9.250
Atur DNS resolver-nya. Kita gunakan 1.1.1.1 & 8.8.8.8. Kita juga bisa atur agar VM yang ada (yang akan menggunakan jaringan LAN dari Mikrotik) dapat menggunakan VM Mikrotik sebagai DNS forwarder.
/ip dns set servers=1.1.1.1,8.8.8.8 allow-remote-requests=yes
Beri alamat IP untuk ether2.
/ip address add address=10.0.0.1/24 interface=ether2
Apabila sudah, kita dapat memastikan apakah alamat IP sudah berhasil ditambahkan pada interface atau tidak dengan menggunakan perintah /ip address print
.
Kita juga bisa coba apakah Mikrotik sudah bisa mendapatkan akses ke internet dari jaringan Proxmox VE dengan cara ping ke luar. Misalnya ping ke gateway atau ke Google.
Cek DHCP server.
/ip dhcp-server print
Hasilnya kosong karena belum ada DHCP server yang aktif.
Buat IP pool atau rentang alamat IP yang dapat dibagikan (misalnya dari 10.0.0.10 s.d. 10.0.0.100).
/ip pool add name=lan-pool ranges=10.0.0.10-10.0.0.100
Tambahkan DHCP server pada intereface ether2 (LAN).
/ip dhcp-server add name=lan-dhcp interface=ether2 lease-time=1h address-pool=lan-pool
Tambahkan network profile
/ip dhcp-server network add address=10.0.0.0/24 gateway=10.0.0.1 dns-server=8.8.8.8
Nyalakan DHCP server.
/ip dhcp-server enable lan-dhcp
Test dari VM
Setelah ini, VM yang terhubung ke jaringan LAN dari Mikrotik akan mendapatkan alamat IP secara otomatis. Untuk pengujiannya kita akan gunakan VM Rocky Linux.
Pastikan untuk network device pada VM pengujian (dalam hal ini berarti VM Rocky Linux) sudah terhubung ke bridge/jaringan yang sama dengan ether2 dari VM Mikrotik (dalam hal ini berarti VM Rocky perlu terhubung ke vnet100).
Masuk ke shell dari VM Rocky. Untuk mengecek alamat IP, kita bisa menggunakan perintah ip addr
.
Selanjutnya, kita coba untuk melakukan ping dari VM Rocky. Kita akan coba ping ke 10.0.0.1, 8.8.8.8, google.com.
Pada gambar di atas, bisa kita lihat bahwa kita berhasil melakukan ping ke beberapa tujuan dari VM Rocky. Artinya konfigurasi yang digunakan sudah berhasil.
Dengan skenario ini, kita berhasil melakukan pengujian bahwa fitur SDN yang ada di Proxmox VE dapat dikombinasikan dengan VM Mikrotik untuk dijadikan virtual router yang “menyebarkan” alamat IP ke VM lain dan menyediakan akses internet.
Konsep ini dapat dikembangkan untuk implementasi jaringan yang lebih kompleks, misalnya multi-subnet dan firewall rules.
Untuk tulisan kali ini cukup sampai di sini dulu ya. Sampai jumpa. Bye.