Membuat Image Olive

dheche July 25, 2012 0

Yang pasti ini bukan Olive gebetannya gefcu-austin.org Popeye si pelaut.

Kalo di dunia cisco ada dynamips unt mengemulasikan IOS, maka di dunia juniper ada Olive.
Kita bisa memasang olive di atas mesin native atau pun di atas virtualisasi. Yang perlu diperhatikan kalau dipasang di mesin native (tanpa virtualisasi), maka kita pun harus menyiapkan kartu jaringan tertentu (hanya sedikit kartu jaringan yang dikenali oleh olive). Maka supaya tak merepotkan, kita coba saja si olive dipasang di atas virtualisasi (vmware atau qemu). Dan kalau ingin mencoba-coba multicast di olive, sebaiknya instal di atas qemu saja. (ya saya tau ada patch unt vmware agar bisa mendukung multicast)

Karena saya termasuk kere, dengan sumber daya perangkat yang sangat terbatas, akhirnya konfigurasi yang saya pakai untuk membuat lab network kurang lebih seperti ini:
Satu buah komputer saya instal Xen (supaya bisa dipake unt keperluan lain), kemudian di atas xen ini saya instal distro centos5 sebagai domU-nya. Di domU ini saya instal qemu agar saya bisa menginstal beberapa olive (kan gak seru kalo mau nyoba router cuma satu biji). Padahal si junos sendiri mendukung fitur virtual router di dalamnya, buset dah, virtualisasi (virtual router di junos) di atas virtualisasi (qemu) di atas virtualisasi (xen). Halah, ribet!!.

Santai men, gak seribet keliatannya kok (walaupun panduan ini keliatannya ribet, dijamin Anda hanya butuh waktu tidak lebih dari 10 menit untuk menyelesaikannya).

Netlabs, virtualisasi di atas virtualisasi di atas virtualisasi

Bahan baku yang harus dipersiapkan antara lain:
- qemu
- FreeBSD 4.4 mini
- JunOS < 7.4

Instalasi xen (dom0 dan domU) saya lewati saja lah, standar kalo ini mah.
Langsung ke proses pembuatan image olive. Kita hanya perlu membuat image ini satu kali saja, nanti untuk router lainnya bisa langsung disalin biasa.

Instalasi FreeBSD dalam qemu
Pertama-tama, kita buat disk image yang akan kita pakai sebagai harddisknya si olive (saya bikin image berukuran 3G)

[dheche@netlabs ~]$ qemu-img create olive.img -f qcow2 3G
Formatting 'olive.img', fmt=qcow2, size=3145728 kB

Instal FreeBSD 4.10 di atas qemu. Perhatikan besarnya memory yang diperlukan selama proses instalasi supaya tidak terjadi kesalahan, kita butuh 256M, nanti setelah imagenya selesai dibuat, kita bisa turunkan memorynya menjadi 64M saja untuk setiap router.

[dheche@netlabs ~]$ qemu -L /usr/share/qemu -m 256 \
-hda olive.img \
-cdrom 4.10-RELEASE-i386-miniinst.iso -boot d -localtime \
-net nic,macaddr=00:aa:00:00:01:01,model=i82559er \
-net user

perintah di atas membutuhkan lingkungan grafis, kalau tak tersedia, silakan tambahkan opsi -vnc :1, nanti kita bisa akses mempergunakan vnc client dari komputer lain.

Skip kernel configuration

Pilih “Skip kernel configuration

Express Install

Pada menu instalasi, pilih Express

fdisk partition editor

Di menu fdisk ketik A untuk memakai seluruh disk, kemudian ketik Q untuk selesai

Boot Manager

Pada menu “Boot Manager” pilih “Standard – Install a standard MBR (no boot manager)”.
Kemudian kita akan mulai membuat partisi, berikut ini layout partisi FreeBSD yang akan kita buat:

ad0s1a / 512M
ad0s1b swap 512M
ad0s1e /config 12M
ad0s1f /var sisanya

Disk Label Editor

* Ketik C untuk membuat partisi baru, kemudian hapus nilai yang ditawarkan oleh sistem dan gantikan dengan mengisikan 512M kemudian tekan enter, kemudian pilih FS (File System), kemudian ketik / dan tekan enter
* Ketik C, hapus nilai yang ditawarkan, isikan nilai 512M, tekan enter, hapus nilai yang ditawarkan, kemudian pilih Swap
* Ketik C, isikan nilai 12M, tekan enter, kemudian pilih FS, ketik /config, kemudian tekan enter
* Ketik C, terima saja nilai yang ditawarkan oleh sistem dengan cara menekan enter, pilih FS, ketik /var kemudian tekan enter
Ketik Q untuk menyelesaikan proses pembuatan partisi ini.

Choose Distribution

Pilih “Exit” (tidak perlu menginstal paket tambahan apapun) pada menu “Choose Distributions

Choose Installation Media

Pada menu “Choose Installation Media” pilih “CD/DVD

User Confirmation

Pada dialog “User Confirmation Requested“, pilih “Yes” – setelah ini maka proses instalasi mulai berjalan, tunggu sampai proses tsb selesai.

Last Options

Ketika tampil dialog “Visit the general config menu for a chance to set any last options“, pilih “Yes
Pilih “Root Password“, kemudian tekan enter dan masukkan kata sandi root yang baru sebanyak dua kali.
Kemudian pilih “Exit“, pada menu utama sysinstall pilih “Exit install
Anda akan dimintai konfirmasi akhir yang akan menanyakan apakah ingin reboot, pilih “Yes

Sampai sini, proses instalasi FreeBSD sudah selesai. Selanjutnya kita akan mulai menginstal paket junos.
Matikan qemu dan jalankan kembali tapi kali ini booting langsung dari image yg telah kita buat tadi (hilangkan opsi boot from cd). Dan tambahkan opsi -redir untuk membuat port forwarding (ini kita butuhkan untuk mentransfer junos ke dalam freebsd).

[dheche@netlabs ~]$ qemu -L /usr/share/qemu -m 256 \
-hda olive.img -boot c -localtime \
-net nic,macaddr=00:aa:00:00:01:01,model=i82559er \
-net user -redir tcp:2022:10.0.2.15:22

dhclient at freebsd

Dari console FreeBSD, kita seting IP. Karena qemu kita jalankan dengan opsi -net user, maka kita bisa memanfaatkan fitur dhcp milik qemu.

# dhclient fxp0

Salin berkas jinstall ke FreeBSD yg baru saja kita instal tadi (letakkan saja di direktori /var/tmp).

[dheche@netlabs ~]$ scp -P2022 \
jinstall-7.4R1.7-export-signed.tgz \
localhost:/var/tmp
Password:
jinstall-7.4R1.7-export-signed.tgz  100%   66MB   1.7MB/s   00:39
[dheche@netlabs ~]$

Kemudian lakukan langkah berikut ini di FreeBSD:

# rm /dev/wd0c
# ln -s /dev/ad0c /dev/wd0c
# mkdir /var/etc
# touch /var/etc/master.passwd
# touch /var/etc/inetd.conf
# touch /var/etc/group

Instal paket junos ini dan silakan langsung direstart ketika sudah selesai:

pkg_add

 

# pkg_add  /var/tmp/jinstall-7.4R1.7-export-signed.tgz
# shutdown -h now

Karena router juniper tak memiliki output vga, maka semua tampilan akan dilempar ke console serial (tapi lebih enak kalo kita lempar aja outputnya ke port telnet)

[dheche@netlabs ~]$ qemu -L /usr/share/qemu -m 256 \
-hda olive.img \
-localtime -serial telnet::4001,server,nowait \
-net nic,macaddr=00:aa:00:00:01:01,model=i82559er \
-net user -vnc none

JunOS akan mulai diinstal, apabila ingin melihat proses instalasinya, kita dapat mengintip melalui console, yang dalam hal ini langsung aja telnet ke port 4001

[dheche@netlabs ~]$ telnet localhost 4001

Harap bersabar, sistem akan mulai melakukan proses instalasi dan akan reboot satu kali. Tunggu sampai keluar login prompt.

Amnesiac (ttyd0)

login:

Selesai, image olive sudah berhasil kita buat. Sekarang kita bisa menjalankan olive dengan memory 64M.

ps.
1. Jangan tanya ke saya gimana caranya dapat junos ya, silakan dicari sendiri.
2. Mudah-mudahan nanti sempat bikin lanjutannya untuk ngebahas qemu networking

Leave A Response »