Rekompilasi Kernel Linux Dukungan Differentiated Services di Linux Rekompilasi Kernel dengan Kemampuan Diffserv

42 multiport --dport 5000:32000 -j DNAT --to –destination 10.4.12.249 sbiniptables –A FORWARD –p udp –s 10.4.12.249 -j ACCEPT sbiniptables –A FORWARD –p udp –m multiport --dport 5000:32000 -d 10.4.12.249 –j ACCEPT exit 0

3.2.6 Rekompilasi Kernel Linux

Kernel merupakan bagian fundamental dari sistem operasi Linux. Kernel Linux berisi driver dan dukungan untuk perangkat-perangkat keras baru sehingga harus selalu diperbaharui. Di dalam tugas akhir ini, spesifikasi sistem operasi dan kernel mesin router adalah sebagai berikut: a. Sistem Operasi : Linux Ubuntu 10.04 b. Kernel : 2.6.32-21 c. Kapasitas link : 64 Kbps

3.2.7 Dukungan Differentiated Services di Linux

Dukungan diffserv di Linux telah tercakup pada kernel 2.6.32-21 untuk dapat menngunakannya, maka modul-modul tersebut perlu diaktifkan. Caranya adalah dengan mengkofigurasikan kernel linux dan mengkompilasi ulang recompiling kernel. Berikut ini adalah yang perlu diaktifkan agar kernel mendukung diffserv: 1. Bagian Networking Options a. KernelUser netlink socket CONFIG_NETLINK b. Network packet filtering CONFIG_NETFILTER c. QoS andor fair queueing CONFIG_NET_SCHED Universitas Sumatera Utara 43 2. Bagian Network Options, QoS andor fair queueing a. CBQ packet scheduler CONFIG_NET_SCH_CBQ b. The simplest PRIO pseudoscheduler CONFIG_NET_SCH_PRIO c. RED queue CONFIG_NET_SCH_RED d. GRED queue CONFIG_NET_SCH_GRED e. Diffserv field marker CONFIG_NET_SCH_DSMARK f. Ingress Qdisc CONFIG_NET_SCH_INGGRESS g. QoS Support CONFIG_NET_QOS h. Packet classifier API CONFIG_NET_CLS i. TC index classifier CONFIG_NET_CLS_TCINDEX j. U32 classifier CONFIG_NET_CLS_U32 k. Traffic policing CONFIG_NET_CLS_POLICE

3.2.8 Rekompilasi Kernel dengan Kemampuan Diffserv

Langkah awal yang harus dipenuhi untuk rekompilasi kernel adalah tersedianya kernel yang baru dan menggunakan system operasi Ubuntu 10.04. Untuk mengaktifkan diffserv, dilakukan kompilasi kernel yang baru dari kernel bawaan sistem operasi Ubuntu 10.04. Tujuannya agar komputer router berfungsi sebagai diffserv router. Langkah-langkah yang dilakukan sebagai berikut: 1. Melihat status kernel sekarang yang digunakan. uname –a 2. Download kernel versi terbaru. Di dalam tugas akhir ini kernel standar versi : 2.6.32-21. Universitas Sumatera Utara 44 cd usr.src apt-get install linux-source- 2.6.32-21 ls –l tar jxvf linux-source- : 2.6.32-21 .tar.bz2 3. Membuat symbolic link berjalan dengan nama “linux” yang mengarah ke versi kernel terbaru. cd usrsrc rm linux ln –s linux-source- : 2.6.32-21 linux 4. Memeriksa opsi-opsi kernel baru secara terpisah tanpa menimpa konfigurasi kernel standar menggunakan editor teks. ls -1 5. Konfigurasi opsi-opsi kernel baru secara terpisah tanpa menimpa konfigurasi kernel standar menggunkan editor teks. vim usrsrclinux-source- : 2.6.32-21 Makefile Contoh file konfigurasi yang diedit sebagai berikut: VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 22 EXTRAVERTION = .coreroutera Keterangan : EXTRAVERTION merupakan nama untuk membedakan kernel yang telah dikompilasi. Dapat diisi secara bebas sesuai keinginan. Di dalam tugas akhir ini, Universitas Sumatera Utara 45 nama .coreroutera diberikan sesuai dengan nama domain diffserv yang digunakan. 6. Agar mudah dikompilasi, diperlukan beberapa program untuk konfigurasi kernel. apt-get install fakeroot build-essential kernel-package libqt3-mt-dev modutils module-init-tools libncurses-dev 7. Membuat salinan dari konfigurasi file dan modifikasi itu. File konfigurasi sekarang diletakkan di boot dan sering disebut bootconfig-:2.6.32-21- generic. Gunakan symbolic link jika di boot terdapat beberapa file config. ls –l boot cp bootconfig- -generic usrsrclinux- cd linux-source- ls –l 8. Di dalam direktoriusrsrclinux-source- , harus ada file dengan nama .config. cp config- -generic .config 9. Menjalankan utility konfigurasi. make menuconfig Setelah itu, akan muncul window. Di dalam window, aktifkan opsi-opsi yang mendukung diffserv. Contoh sebagai berikut: In the section Networking option : KernelUser netlink socket CONFIG_NETLINK Network packet filtering CONFIG_NETFILTER QoS andor fair queueing CONFIG_NET_SCHED Universitas Sumatera Utara 46 In the subsection, QoS andor fair queueing : and aspecially : CBO packet scheduler CONFIG_NET_SCH_CBQ the simplest PRIO pseudoscheduler CONFIG_NET_SCH_PRIO RED queue CONFIG_NET_SCH_RED GRED queue CONFIG_NET_SCH_GRED Diffserv field marker CONFIG_NET_SCH_INGRESS QoS support CONFIG_NET_QoS Packet classifier API CONFIG_NET_CLS TC index classifier CONFIG_NET_CLS_TCINDEX Firewall based classifier CONFIG_NET_CLS_FW U32 classifier CONFIG_NET_CLS_U32 Traffic policing CONFIG_NET_CLS_POLICE IP : advance router CONFIG_IP_ADVANCE_ROUTER IP : policy routing CONFIG_IP_MULTIPLE_TABLES CONFIG_IP_ROUTE_FWMARK 10. Melakukan kompilasi kernel. Waktu yang dibutuhkan bergantung kepada spesifikasi computer. cd usrsrclinux-source- 2.6.32-21 make make modules_install make install 11. Memeriksa apakah sudah terinstall di boot dan symbolic link terbarui juga. cd boot ls -1 12. Membuat direktori baru untuk kernel baru cd libfirmwire mkdir 2.6.32-21 coreroutera 13. Membuat RAMdisk awal yang bertanggungjawab terhadap kernel yang baru 2.6.32-21.net Universitas Sumatera Utara 47 update-intiaramfs –c –k 2.6.32-21 coreroutera 14. Memeriksa kembali apakah file initrd.img-2.6.32-21.net.corerouter sudah berada di boot. cd boot ls -1 15. Kernel baru selesesai dibuat. Lakukan konfigurasi boot loader untuk melihat efeknya. Lakukan perbaruan jika menggunakan grub. update-grub 16. Memeriksa semua apakah sudah berjalan lancar. vim bootgrubmenu.list 17. Reboot komputer. reboot now 18. Jika sudah masuk grub, pilih kernel “ 2.6.32-21.coreroutera” untuk mencoba kernel yang sudah dikompilasi. Universitas Sumatera Utara 48

3.3 Implementasi Differentiated Service