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.

Senin, Februari 12, 2007

Hari pertama ngantor di telkom japati

Mulai hari ini gw ngantornya di telkom japati. Kantor gw (Swamedia) lagi ngerjain proyek ama telkom, dan gw termasuk tim yang ikut ngerjain proyek itu.

Kalo masuk ke ruangan sih udah hari jumat lalu. Waktu itu ngangkutin komputer yang akan digunakan. Tapi abis itu langsung balik lagi ke kantor.

Hari pertama ini belum bener2 mulai kerja, coz jaringan belum nyambung semua. Linux Debian tempat repository svn-nya disimpan juga masih belum connect ke komputer lain, padahal hostnya udah bisa. Debian ini jalan di atas VMware, dan ethernetnya udah diset Bridges. Sementara gw set jadi NAT dulu aja, buat update debiannya via internet.

Internetan di sini, ga bisa YM dan Meebo. Jadi terputus lah koneksi ke dunia luar, hanya bisa menikmati layanan internet via halaman web doang.

Minggu, Februari 11, 2007

Ethernet tak dikenali pada Debian Sarge yang jalan di VMware

Gw baru saja mengalami masalah yang cukup membuat pusing kepala. Debian Sarge diinstall di atas VMware tidak mengenali virtual ethernet card yang sudah diset. Selama ini Debian itu jalan baik-baik saja. Gw mulai kluar keringat dingin nih, soalnya hari senin besok bakal dipake seperti biasa. Udah ada 2 proyek kantor yang filenya ada disana. Dalam putus asa, sempat kepikir buat install ulang aja.

Hasil googling yang gw dapatkan ga ada satupun yang berhasil. Permasalahan yang dihadapi juga beda ama masalah gw. Hasil googling memiliki permasalahan mesin virtual yang dicopy, dipindahkan, atau di-clone. Sedangkan pada masalah gw, gw ga ngapa-ngapain tu mesin. Mesin ini hanya dimatikan selama seharian lebih, karena perlu gw salin ke harddisk lain. Setelah dihidupkan lagi, tau2 aja ga bisa diremote pake ssh. Gw cek langsung di VMwarenya, ternyata eth0 memang ga dikenali oleh sistem.

Setelah setengah hari lebih me-reboot mesin, mencoba ilangin semua ethrernet, start, matikan, add new ethernet, start lagi, dan masih ga bisa2 juga, ada satu tulisan kecil diantara pembahasan permasalahan ini dari hasil google. Coba lakukan modprobe pcnet32.

Ketika gw ketik :
# modprobe pcnet32
Voila! eth0 dikenali oleh sistem.
# ifup eth0
Weitz, eth0 up and running......

Fiuh.......... untung ga perlu install ulang. Biar ga perlu ngelakuin ini tiap kali mesin reboot, tinggal tambahin aja entri nya ke file /etc/rc.local:
modprobe pcnet32
ifup eth0

Ingat, tambahkan entri ini sebelum baris yang berisi:
exit 0

Gw test reboot, dan eth0 hidup dengan normal. Sekarang yang masih gw bingung adalah kenapa tiba2 hal seperti ini terjadi. Selama seminggu lebih mesin Debian ini baik2 saja. Baru dimatikan 1 hari lebih, trus diidupin lagi, masalah ini muncul. Kenapa module pcnet32 harus diload manual?? Yang tau atau pernah mengalami masalah kayak gini, tolong kasi tau yah ;)

Sabtu, Februari 10, 2007

Salut dengan pelayanan Gramedia Jl Merdeka Bandung

Hari senin yang lalu gw beli majalan CHIP di penjual majalah deket kantor. Gw emang biasa beli majalan CHIP bulan ganjil, karena untuk edisi bulan lalunya ada di dalam DVD-nya, dalam format PDF.
Setelah dibuka, ternyata ada halaman yang berulang. Halaman 33 sampai 49 ada dobel, sedangkan halaman 50 dan seterusnya yang seharusnya ada malah ga ada.
Tadi siang, gw ke Gramedia Jl Merdeka. Karena di tas gw ada laptop, gw dibolehin tetep bawa tas menuju lantai 2. Di sana, sempat binggung juga nyari bagian informasinya. Gw terus aja jalan ke belakang, dan ternyata bagian informasi sudah lebih bagus sekarang. Ada label 'Informasi' yang bisa terlihat dengan jelas dari kejauhan. Mbak yang duduk di meja itu juga ramah. Gw langsung aja keluarkan majalah yang gw bawa, dan perlihatkan halaman majalah yang berulang. Si mbaknya langsung memproses keluhan gw, meminta rekannya mengambilkan majalah yang baru sebagai gantinya. Setelah dibuka plastiknya, si Mbak kasi majalahnya ke gw, nyuruh gw ngecek ulang lagi. Setelah gw cek dan halamannya lengkap, ya gw pergi.

Salut dengan pelayanan yang diberikan Gramedia Jl Merdeka. Semoga pelayanan ini dapat dipertahankan dan kalo bisa ditingkatkan. Toko lain semoga juga dapat mengikuti jejak Gramedia yang satu ini.

Senin, Februari 05, 2007

Kompilasi ulang PHP5 untuk mendukung OCI8

Langkah-langkah kompilasi PHP5 di Debian 3.1:


  1. Install paket-paket yang dibutukan dengan perintah berikut ini:
    # apt-get install php5-dev
    # apt-get install librecode-dev apache-dev apache2-prefork-dev chrpath debhelper freetds-dev po-debconf libbz2-dev libc-client-dev libcurl3-dev libdb4.4-dev libexpat1-dev libfreetype6-dev libgcrypt11-dev libgd2-xpm-dev libjpeg62-dev libkrb5-dev libldap2-dev libmcal0-dev libmhash-dev libmysqlclient15-dev libncurses5-dev libpam0g-dev libpcre3-dev libpng12-dev libsablot0-dev libsnmp9-dev libt1-dev libtool libwrap0-dev libxmltok1-dev libxml2-dev libxslt1-dev libzzip-dev re2c unixodbc-dev firebird2-dev libmcrypt-dev libpspell-dev libsqlite0-dev libtidy-dev

    Catatan: beberapa paket dev diatas mungkin telah obselete, atau merupakan paket virtual. Perhatikan pesan kesalahan yang ditampilkan oleh apt, untuk mengatasi conflict atau paket yang kurang. Saya menggunakan distribusi testing untuk melakukan kompilasi php5 ini.

  2. Install Oracle client, jika pada sistem belum ada Oracle, maupun Oracle client. Untuk memudahkan, oracle telah menyediakan repository debian untuk menginstall paket oracle-xe. Cukup tambahkan baris ini:
    deb http://oss.oracle.com/debian/ unstable main non-free

    di file /etc/apt-source.list lalu jalankan perintah
    # apt-get update
    Lalu install oracle-xe-client dengan perintah:
    # apt-get install libaio oracle-xe-client
    Setelah terinstall oracle-xe, jalankan perintah ini:
    # . /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/bin/oracle_env.sh (PS: jangan lupa titik di awal).
    Jika Anda menginstall oracle client lain, atau oracle server, set ORACLE_HOME dan LD_LIBRARY_PATH sesuai dengan dokumentasi oracle itu.
    Set juga variabel berikut ini:
    # export LD_PRELOAD=libclntsh.so
    Lalu edit file /etc/ld.so.conf, tambahkan baris berikut ini:
    /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib
    Selanjutnya jalankan perintah # ldconfig agar library oracle client diload ke sistem.

  3. Download source code php5 dengan perintah
    # apt-get source php5
    Source code akan didownload ke current direktory saat command dieksekusi.

  4. Pindahlah ke direktory hasil ekstract source php5, lalu edit file debian/rules

  5. Tambahkan opsi --with-oci8 pada bagian akhir dari COMMON_CONFIG = […].

  6. Tambah change log dengan perintah:
    $ debchange -i
    Isi dengan keterangan yang informatif, misal: kompilasi ulang PHP5 dengan menambahkan --with-oci8.

  7. Jalankan
    $ dpkg-buildpackage
    untuk mengkompile php5

  8. Proses kompilasi akan berjalan, tunggu hingga proses ini selesai. Jika masih ada paket dev yang kurang, maka proses kompilasi akan terhenti dan tampil nama paket dev yang dibutuhkan, tapi belun diinstall. Install paket ini, lalu ulangi lagi perintah $ dpkg-buildpackage.

  9. Proses kompilasi yang sukses akan menghasilkan file .deb di direktori diatas direktori tempat php5 source berada. Install file deb yang diperlukan dengan perintah seperti biasa:
    # dpkg -i namafile.deb
    Reload apache setelah selesai melakukan instalasi.
Sekarang pada sistem debian Anda telah terinstall PHP5 dengan dukungan OCI8. Cek melalui perintah <?php phpinfo(); ?> pada sebuah halaman php. Temukan bagian OCI8.

Update ley-out

Setelah sekian lama tertunda akibat koneksi internet kantor yang pas-pasan, akhirnya sekarang blog ini make leyout yang baru. Isi dari blog lama, seperti shoutbox, prayer time, dll baru aja gw pindahin, jadinya masih kacau gitu, blm nyambung ama leyout dari template. Nanti dibenerin lagi deh.

Oh iya, kalo dulu comment post pake haloscan, sekarang make bawaannya blogger. comment yang lama masih ada kok di haloscan, tapi mungkin ga bakal dipake lagi. Ribet sih ngaturnya. Kalo pake bawaan blogger, kan ngaturnya sekalian di dashboard :D

Kalo shoutbox, akan dipertahankan. ID gw di shoutbox itu unik, palindrom (93039), dan merupakan hal yang membuat gw ngelanjutin nge-blog waktu awal ngeblog dulu :D