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