Bermain Jaringan di VirtualBox

VirtualBox adalah Virtual Machine (VM) yang fleksibel dan mudah pengoperasiannya. Dari 'easy mode' dengan fitur standar sampai ala 'teks mode' untuk fitur 'advance' yang bisa dilayani dengan baik oleh virtualbox.
Kelebihan bermain jaringan di VM seperti virtualbox adalah ringkas dan biaya murah. Banyangkan jika bereksperimen dengan sebuah jaringan dengan 10 PC/server dalam bentuk fisik.
Dalam kasus ini, saya menggunakan host Linux Slackware dan guest Linux Slackware. Semuanya versi 13.0. Tentu Anda dapat mencoba dengan OS/distro yang lain.
Mode NAT (Network Address Translation)
    Pada mode ini, setiap VM guest yang dibuat akan tersembunyi dari dunia luar. Mode ini default di Virtualbox. Cukup menggunakan mode NAT jika sekedar ingin internetan di guest VM. Kelemahan adalah antar VM guest tidak dapat berkomunikasi satu dengan lain. FUngsi ping dan traceroute juga tidak bisa.
Mode Bridge Adapter
    Pada mode ini, virtualbox akan mengintercept card fisik dan setiap VM guest akan terkoneksi dengan dunia luar seolah-olah mandiri. Maksudnya, jika pada komputer HOST Anda terhubung modem plus router dengan dhcp plus jaringan Internet, maka VM guest akan meminta IP dari dhcp modem/router Anda. Pada mode inilah kita dapat mulai bermain jaringan lebih baik.
Mode Internal Network
    Hampir sama dengan mode Bridge, tapi jaringan internal dapat ditentukan sendiri dan terlepas dari dunia luar. Semisal ingin membangun webserver pada VM guest1 dengan mysql pada VM guest2. VM guest1 terkoneksi dengan dunia luar, tapi VM guest2 hanya terkoneksi dengan VM guest1 saja.
Kali ini saya akan mencoba mode bridge :)
Sebelum lanjut, 2 instruksi dasar yang perlu diketahui : ping dan ifconfig. FUngsi ping untuk mengetest apakah suatu PC dalam jaringan dalam keadaan hidup. Jika ya, maka akan ada balasan plus waktu yang ditempuh oleh data tes ke target PC. Sedang Ifconfig untuk mengetahui kondisi IP Address, subnet , dan lain sebagainya.
=====================================================
Perintah dasar : ping
buka terminal dan ketik ping
contoh:
    michael@slackwarehost:~$ ping 192.168.1.52
    michael@slackwarehost:~$ ping google.com
    michael@vmguest1:~$ ping google.com
Perintah dasar : ifconfig
buka terminal dan ketik ifconfig (dengan user root)
contoh:
    root@slackwarehost:~# ifconfig
======================================================
Sebagai eksperimen, saya mengaktifkan 6 Virtual Machine (VM) sekaligus. vm guest1-3 mode NAT, dan vm guest4-6 mode Bridge Adapter . Sedang Host adalah komputer yang menjalankan VIrtualbox. Saya menggunakan Laptop Compaq CQ20 dan Virtualbox 3.1.4.
vbvb
Untuk mengatur networking setiap VM guest, lihat Bagian Setting --> Networking. Atur mode Networking VM Anda.
Oh ya, laptop saya terkoneksi WIFI yang terhubung ke modem plus router yang terkoneksi dengan internet (speedy).
Untuk Virtual Machine pada Slackware 13.0,karena berjalan pada teks mode, maka memory setiap VM minimal 64M. Jika memory Anda berlimpah ruah, berikan 256M setiap .
Hati-hati... jangan lupakan jatah memory pada Host. Jika memory pada komputer ANda 2G, maka 6 VM dengan memory masing-masing 256M sudah mepet :). Mungkin jatah 128M adalah jatah yang efisien. Tergantung tugas dari masing-masing VM.
Terminal atau konsole diperlukan untuk bermain-main dengan jaringan di Virtual Machine. Tidak mutlak, tapi banyak membantu. Jangan kuatir, tiap distro linux pasti mempunyai konsole atau terminal.
Lewat terminal saya melakukan instruksi #ifconfig (root user) pada Host dan setiap VM guest. Saya ambil bagian yang penting saja. Inilah hasilnya :
Host:
Pertama-tama melakukan ifconfig pada Host. Kemudian pada setiap vm guest.
===================================================================
eth1 Inet addr:192.168.1.34 Bcast:192.168.1.255 Mask:255.255.255.0
====================================================================

    vm guest1 Slackware-13.0 NAT
    eth0 inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
    vm guest2 Slackware-13.a NAT
    eth0 inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
    vm guest3 Slackware-13.b NAT
    eth0 inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
Kesimpulan 1 :
    Setiap VM guest yang bermode NAT akan melalui sebuah gate yang sama dan mempunyai IP Address yang sama juga. Hal ini dibuat oleh virtualbox. Lihat guest1-3. Fungsi ping dari Host ke vm guest1-3 tidak bisa. IP Address diberikan oleh virtualbox, bukan oleh dhcp yang terintegrasi pada modem/router saya.

    vm guest4 Slackware-13.x Bridge Adapter
    eth0 inet addr:192.168.1.51 Bcast:192.168.1.255 Mask:255.255.255.0
    vm guest5 Slackware-13.y Bridge Adapter
    eth0 inet addr:192.168.1.52 Bcast:192.168.1.255 Mask:255.255.255.0
    vm guest6 Slackware-13.z Bridge Adapter
    eth0 inet addr:192.168.1.50 Bcast:192.168.1.255 Mask:255.255.255.0
Kesimpulan 2 :
    Setiap VM guest pada mode Bridge Adapter akan mempunyai IP address yang berbeda. IP Address ini diberikan oleh dhcp server yang include pada modem/router. Fungsi ping antar Host ke VM guest4-6 bisa jalan. Antar VM guest4-6 fungsi ping juga jalan.

    Dari Host ping ke google.com
    64 bytes from sin01s01-in-f104.1e100.net (216.239.61.104): icmp_seq=5 ttl=247 time=65.1 ms
    64 bytes from sin01s01-in-f104.1e100.net (216.239.61.104): icmp_seq=6 ttl=247 time=64.1 ms
    64 bytes from sin01s01-in-f104.1e100.net (216.239.61.104): icmp_seq=7 ttl=247 time=62.5 ms
    64 bytes from sin01s01-in-f104.1e100.net (216.239.61.104): icmp_seq=8 ttl=247 time=63.2 ms
    64 bytes from sin01s01-in-f104.1e100.net (216.239.61.104): icmp_seq=9 ttl=247 time=63.0 ms

    Dari vm guest1 NAT ping ke google.com
    64 bytes from sin01s01-in-f104.1e100.net (216.239.61.104): icmp_seq=5 ttl=247 time=500.0 ms
    64 bytes from sin01s01-in-f104.1e100.net (216.239.61.104): icmp_seq=6 ttl=247 time=500.1 ms
    64 bytes from sin01s01-in-f104.1e100.net (216.239.61.104): icmp_seq=7 ttl=247 time=500.1 ms
    64 bytes from sin01s01-in-f104.1e100.net (216.239.61.104): icmp_seq=8 ttl=247 time=500.1 ms
    64 bytes from sin01s01-in-f104.1e100.net (216.239.61.104): icmp_seq=9 ttl=247 time=500.1 ms

    Dari vm guest4 Bridge Adapter ping ke google.com
    64 bytes from sin01s01-in-f104.1e100.net (216.239.61.104): icmp_seq=5 ttl=247 time=64.2 ms
    64 bytes from sin01s01-in-f104.1e100.net (216.239.61.104): icmp_seq=6 ttl=247 time=62.9 ms
    64 bytes from sin01s01-in-f104.1e100.net (216.239.61.104): icmp_seq=7 ttl=247 time=62.9 ms
    64 bytes from sin01s01-in-f104.1e100.net (216.239.61.104): icmp_seq=8 ttl=247 time=67.6 ms
    64 bytes from sin01s01-in-f104.1e100.net (216.239.61.104): icmp_seq=9 ttl=247 time=63.0 ms

    Dari vm guest4 Bridge Adapter ping ke vm guest5 Bridge Adapter
    64 bytes from 192.168.1.52: icmp_seq=1 ttl=64 time=4.01 ms
    64 bytes from 192.168.1.52: icmp_seq=2 ttl=64 time=0.494 ms
    64 bytes from 192.168.1.52: icmp_seq=3 ttl=64 time=0.590 ms
    64 bytes from 192.168.1.52: icmp_seq=4 ttl=64 time=0.497 ms
    64 bytes from 192.168.1.52: icmp_seq=5 ttl=64 time=1.21 ms
    64 bytes from 192.168.1.52: icmp_seq=6 ttl=64 time=1.34 ms
Kesimpulan 3:
    VM guest pada mode NAT punya time ping lebih besar dibanding mode Bridge. Hal ini disebabkan pada fungsi NAT vm guest akan melewati gate pada virtualbox baru ke target. Sedang pada mode Bridge, seolah-olah vm guest langsung ke target. Saya katakan seolah-olah karena tetap ada layer pada virtualbox yang mengatur hal ini (melakukan intercept pada card ethernet).Pada mode Bridge, program intercept data seperti wireshark dapat melakukan gigitannya dengan baik :) Fungsi ping berjalan baik antar vm guest mode Bridge. Tapi tidak untuk NAT.
=========================================================
Menjalankan servis webserver di vm guest5 mode Bridge.
=========================================================

    #cd /etc/rc.d
    #chmod 755 rc.httpd
    #apachectl -k start
    ada peringatan...abaikan
    #nmap localhost
    semestinya servis httpd muncul :)
Saya browse lewat host, maka pesan It works ! muncul .
itsworkitswork
===========================================================================================
nmap ke vm guest5 mode Bridge dari Host
===========================================================================================

    bash-3.1$ nmap 192.168.1.52
    Starting Nmap 5.00 ( http://nmap.org ) at 2010-03-26 17:04 WIT
    Interesting ports on 192.168.1.52:
    Not shown: 996 closed ports
    PORT STATE SERVICE
    22/tcp open ssh
    37/tcp open time
    80/tcp open http
    113/tcp open auth
    Nmap done: 1 IP address (1 host up) scanned in 0.38 seconds
Kesimpulan akhir : yach.... lebih baik mencoba sendiri lebih lanjut.