Jaringan komputer biasanya sangat kompleks, terdiri dari beberapa perangkat (PC, router, switch dll.). Beberapa interface, protokol, dan koneksi fisik dalam jaringan.
Melakukan eksperimen/percobaan dalam jaringan komputer bisa dibilang kurang memungkinkan karena kita tidak bisa melakukan percobaan eksploitasi di dalamnya karena memungkinan terjadinya kerusakan dalam jaringan yang notabene penting untuk perusahaan/organisasi yang memilikinya. Dan apabila kita ingin membangun jaringan sendiri, dana yang diperlukan tidaklah sedikit.
Simulasi vs Emulasi
Alternatifnya adalah dengan melakukan simulasi dan emulasi. Kedua kegiatan ini dapat dilakukan pada sebuah lingkungan virtual (Virtual Environment), salah satunya dengan menggunakan Netkit.
Simulasi bertujuan untuk menghasilkan performance of a real-life system dalam lingkungan virtual (seperti latency time, packet loss dll.).
Emulasi bertujuan untuk menghasilkan functionalities of a real-life system dalam lingkungan virtual dengan akurat.
Netkit : Sistem untuk emulasi jaringan komputer
- Berbasis UML (User-Mode Linux) | http://user-mode-linux.sourceforge.net/
- Setiap perangkat jaringan virtual dalam Netkit adalah Virtual Linux Box
- Distro Linux adalah OS yang berbasis jaringan, support sebagian besar protokol jaringan
- User-Mode Linux / UML dinamakan Virtual Machine / VM. Sementara Linux Box (PC anda yang menggunakan OS Linux) yang menjadi wadah VM, disebut Host Machine / Host.
- Beberapa VM dapat dijalankan secara bersamaan pada satu Host
Virtual Machine
Setiap VM mempunyai :
- Console (Terminal)
- Memory (diambil dari memory Host)
- Filesystem (berbentuk satu file dalam Filesystem Host)
Beberapa interface jaringan (network interface) dapat dihubungkan ke Virtual Collision Domain (Hub)
Beberapa virtual collision domain dapat dihubungkan ke beberapa interface.
Netkit Command
- Netkit menyediakan dua jenis command : “v-” command dan “l-” command.
- vcommands digunakan untuk konfigurasi satu atau beberapa VM dengan topologi sederhana.
- lcommands digunakan untuk konfigurasi lab dengan topologi yang kompleks.
Netkit vcommands
- Commands untuk konfigurasi VM dengan beberapa parameter tertentu
- vstart : untuk membuat VM
- vlist : untuk melihat daftar VM yang dibuat
- vconfig : untuk konfigurasi network interface pada VM
- vhalt : untuk shutdown secara normal VM
- vcrash : untuk shutdowm secara paksa VM (seperti mencabut kabel power)
- vclean : untuk menghentikan semua proses VM dan menghapus konfigurasi pada Host
Netkit lcommands
- Commands untuk konfigurasi Lab Netkit
- lstart : untuk membuat lab netkit
- lhalt : untuk shutdown secara normal semua VM pada satu lab
- lcrash : untuk shutdown secara paksa semua VM pada satu lab (seperti mencabut kabel sumber power)
- lclean : untuk membersihkan file temporary lab
- linfo : untuk menampilkan informasi lab netkit
- ltest : untuk menjalankan tes yang memeriksa apakah lab berjalan dengan normal
Menjalankan Netkit dengan Single VM
Note : Sebelum membuat jaringan virtual, ada baiknya untuk membuat terlebih dahulu konsep topologi yang diinginkan
Topologi sederhana netkit :
Langkah 1 – Membuat Virtual Machine
Menggunakan netkit dengan command “vlist” dan “vstart” dengan parameter network interface :
- vlist : melihat daftar VM yang ada. Karena saya belum membuat VM, maka Total virtual machines dan Total consumed memory bernilai “0”.
- vstart PC1 –eth0=A : membuat VM dengan nama “PC1” dengan network interface eth0 pada collision domain bernama “A”. Virtual Filesystem VM akan otomatis dibuat pada direktori netkit Host dengan nama “PC1.disk”.
Langkah 2 – Proses booting Virtual Machine
- Sebuah terminal bernama “PC1” akan muncul. Setelah proses booting selesai, akan terlihat shell prompt. Sekarang anda adalah administrator / root dari “PC1”.
Langkah 3 – Kembali ke terminal Host
- Dengan kembali menjalankan command vlist di terminal Host, maka akan muncul data VM “PC1” yang terdiri dari nama VM, network interface dan memory yang digunakan.
- Dengan menjalankan command ls -l *.disk, maka akan muncul data Filesystem VM yang ada (menggunakan ekstensi “.disk”) dan ukurannya (dalam satuan bytes).
Langkah 4 – Konfigurasi network interface pada Virtual Machine
Status network interface “PC1” (eth0) UP, dan otomatis mempunyai mac address
Langkah 5 – Melihat Routing Table
Langkah 6 – Shutdown Virtual Machine
Terdapat tiga alternatif untuk shutdown VM :
- Dari dalam VM :
- Dari terminal Host :
- Dari terminal Host – Brute Force
Langkah 7 – Konfigurasi Permanen
- Setelah shutdown PC1, maka ketika kita kembali menjalankan PC1, kita harus me-reconfigure konfigurasi PC1 (seperti konfigurasi network interface).
- Kita dapat melakukan konfigurasi permanen dengan melakukan editing di file /etc/network/interfaces (pada sistem VM PC1). Tambahkan script berikut :
auto eth0
iface eth0 inet static
address 10.0.0.1
network 10.0.0.0
netmask 255.255.255.0
- Anda bisa menggunakan text editor seperti “vi” atau “mcedit“. File tersebut merupakan file virtual dari file yang ada di Linux Box (Host) anda.
- Menghapus filesystem VM (PC1.disk) akan menghapus juga konfigurasi permanen tersebut.
Langkah 8 – Restart Network Services
- Pada saat VM PC1 kembali dinyalakan, OS VM akan mensetting konfigurasi network berdasarkan file “etc/network/interfaces”.
- Jika anda mengubah konfigurasi pada file tersebut, anda tidak perlu melakukan restart untuk mereloadnya. Cukup dengan melakukan restart network services dengan menjalankan command berikut :
Reference : wiki.netkit.org
Image (anime girl) : goo.gl/98dfFS