Kamis, Februari 15, 2007

Trik mengakses Guess VMware yang ada dibelakang NAT

Sudah empat hari ini gw berkutat dengan setting VMware. Linux Debian yang jalan diatas VMware hanya bisa berkomunikasi dengan hostnya. Setting ethernet VMware sudah diset menjadi bridge. Tetap saja komputer lain yang terhubung ke host tidak bisa menghubungi Debian, dan Debiannya juga ga bisa menghubungi komputer lainnya.

Hari selasa lalu, gw test jalankan Knoppix pada VMware ini, dan hasilnya Knoppix juga ga bisa akses komputer lain. Gw lakukan test ini, untuk meyakinkan diri bahwa kesalahan bukan di sistem Debiannya. Linux Debian sebelumnya jalan baik di kantor. Sekarang ini di kantor yang lain, mesti diganti IP Addressnya. Mulanya gw kira pergantian IP Address ini yang kurang sempurna sehingga sistem tidak bisa mengakses gateway jaringan.

Oh ya, pesan kesalahan yang tampil di Linuxnya yang bikin gw curiga ini bukan kesalahan biasa. Kalau ping ko jaringan sendiri, harusnya bisa tanpa gateway kan. Nah pada kasus ini, ping ke gateway aja menghasilkan pesan error Destination Host Unreachable. Aneh banget kan ya. Ping ke komputer local lain juga pesannya sama. Hanya ke host VMware saja ping dan komunikasi jaringan lain bisa berlangsung dengan baik.

Setelah berputar-putar di internet melalui google sebagai penunjuk jalannya, akhirnya ada secercah cahaya terang :D
Dari link ini, gw menemukan perasalahan serupa yang dialami orang lain, yang sama2 menggunakan hardware ethernet Marvell Yukon. Ada pendapat bahwa permasalahan ini kemungkinan disebabkan oleh adanya firewall hardware yang harus dimatikan lesat driver. Gw coba download driver dari situs marvell-nya, tapi ga nemu setting firewall hardware. Di akhir pembahasan pada link diatas, ada trik yang akhirnya gw coba.
Trik yang gw maksud adalah dengan menjadikan guest VMware terhubung ke jaringan dengan metode NAT. Lho, kalo NAT, gimana bisa diakses dari komputer lainnya??? Nah, ini dia solusinya.

Keadaan jaringan :
Jaringan komputer memiliki IP Address 10.2.25.96 s/d 10.2.25.127 dengan netmask 255.255.255.224, gateway 10.2.25.97
Host VMware memiliki IP Address 10.2.25.110
Gw set IP Address untuk Guest VMware dengan IP Address 192.168.10.3 netmask 255.255.255.0, gateway 192.168.10.2
Untuk memudahkan, IP Address ini diberikan oleh DHCP-nya VMware, sehingga di linux ga perlu susah2 ngeset IP lagi, tinggal diset aja untuk mendapatkan IP Address dari DHCP server. Untuk Debian, edit file /etc/network/interfaces, isikan baris berikut ini:
auto eth0
iface eth0 inet dhcp

Catatan: jika entri ini telah ada di file /etc/network/interfaces edit saja sesuai dengan kebutuhan, misal : baris
auto eth0
cukup hanya muncul sekali.

OK, sekarang kita mulai setting komputer di jaringan dan Debiannya agar bisa saling berkomunikasi.

  1. Pada komputer host, set agar komputer dapat bertindak sebagai router.
    Pada host Windows, edit registry HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
    Services\Tcpip\Parameters\IPEnableRouter
    lalu ubah nilainya menjadi '1'
    Pada host Linux, jalankan perintah:
    # echo 1 > /proc/sys/net/ipv4/ip_forward

  2. Pada system guest, tambahkan routing ke jaringan lokal, menggunakan IP-nya VMnet8.
    Untuk Linux, perintahnya:
    # route add -net 10.2.25.96 netmask 255.255.255.224 gw 192.168.10.1 eth0
    Untuk guest Windows, perintahnya:
    route -p add 10.2.25.96 mask 255.255.255.224 192.168.10.1

  3. Pada komputer lain di jaringan yang ingin mengakses sistem guest VMware diatas, tambahkan routing sebagai berikut:
    Untuk Windows, perintahnya:
    route -p add 192.168.10.0 mask 255.255.255.0 10.2.25.110
    Untuk Linux, perintahnya:
    # route add -net 192.168.10.0 netmask 255.255.255.0 gw 10.2.25.110 eth0



Voila! Sekarang antara Guest VMware dan komputer lain di jaringan host telah bisa saling berkomunikasi ;)

Tambahan:
Untuk sistem windows, penambahan routing dengan perintah route -p akan membuat routing tersebut permanen. Untuk membuat routing yang permanen di sistem Linux, gw menemukan jawabannya di sini.
Caranya:

  1. Edit file /etc/network/interfaces

  2. Tambahkan baris berikut ini:
    up route add -net 10.2.25.96 netmask 255.255.255.224 gw 192.168.10.1
    down route del -net 10.2.25.96 netmask 255.255.255.224 gw 192.168.10.1


Sekarang tabel routing akan otomatis ditambahkan saat sistem Linux booting, atau saat DHCP client memperbaharui IP Address.

5 komentar:

dina mengatakan...
Komentar ini telah dihapus oleh administrator blog.
tuti mengatakan...
Komentar ini telah dihapus oleh administrator blog.
alter_zero mengatakan...

wah... makasih mas..
saya juga lagi bingung masalah ini...
tapi saya pake fedora...
smoga aja berhasil,, thanks ya...

Anonim mengatakan...

Kalau host-nya linux juga bagaimana caranya, great artikel sayang link source koq putus ya

Erik mengatakan...

kebetulan banget tipsnya nih...