freebsd bandwidth management

1
Standar Instalasi FreeBSD @ Institut Manajemen Telkom ( http://www.imtelkom.ac.id) Instalasi Bandwidth Management System ALTQ Kekurangan dari DUMMYNET di IPFW adalah tidak dapat dilakukannya link sharing, dimana misalnya suatu "pipa" tidak digunakan, maka link pada "pipa" tsb tidak dapat digunakan oleh yg lain. Untuk dapat melakukan ini, dapat digunakan Bandwidth Management System seperti ALTQ. Untuk mengaktifkan ALTQ, kernel harus di-kompilasi ulang dengan cara : # cd /usr/src/sys/i386/conf/ # cp GENERIC NEW_KERNEL Selanjutnya edit file "NEW_KERNEL" dan tambahkan 7 baris berikut : # cat NEW_KERNEL | grep ALTQ options ALTQ options ALTQ_CBQ options ALTQ_RED options ALTQ_RIO options ALTQ_HFSC options ALTQ_CDNR options ALTQ_PRIQ # cd /usr/src # make buildkernel KERNCONF=NEW_KERNEL ……<tunggu sampai selesai>…… # make installkernel KERNCONF=NEW_KERNEL ……<tunggu sampai selesai>…… "NEW_KERNEL" dapat diganti dgn nama lain, sesuai fungsi dari kernel yg baru. Aplikasi untuk mengatur ALTQ adalah PF (Paket Filter) yaitu interface firewall seperti IPFW namun dikembangkan di OpenBSD dan saat ini dapat digunakan di FreeBSD. Untuk mengaktifkan PF, tambahkan baris berikut di /etc/rc.conf # cat /etc/rc.conf | grep pf pf_enable="YES" Untuk dapat bekerja, PF membutuhkan file konfigurasi /etc/pf.conf # cat /etc/pf.conf ext_if = "rl0" altq on $ext_if cbq bandwidth 10Mb queue { deflt, bms } queue deflt bandwidth 10% cbq(default) queue bms bandwidth 90% cbq(borrow red) { pimpinan , biasa } queue pimpinan bandwidth 10% priority 1 cbq(borrow red) queue biasa bandwidth 80% cbq(borrow red) { staf, mahasiswa } queue staf bandwidth 40% priority 2 cbq(borrow red) queue mahasiswa bandwidth 60% priority 3 cbq(borrow red) block return in on $ext_if inet all queue rsets pass in on $ext_if inet proto tcp from 10.1.1.0/24 to any port 8080 keep state queue pimpinan pass in on $ext_if inet proto tcp from 10.1.2.0/24 to any port 8080 keep state queue staf pass in on $ext_if inet proto tcp from 10.1.3.0/24 to any port 8080 keep state queue mahasiswa pass out on $ext_if inet all keep state

Upload: telkom-institute-of-management

Post on 20-Jun-2015

659 views

Category:

Education


1 download

DESCRIPTION

a tutorial guide explaining how to use ipfw in FreeBSD to create traffic shaper, an experience at IMTelkom (http://www.imtelkom.ac.id)

TRANSCRIPT

Page 1: FreeBSD Bandwidth Management

Standar Instalasi FreeBSD @ Institut Manajemen Telkom (http://www.imtelkom.ac.id)

Instalasi Bandwidth Management System ALTQ

Kekurangan dari DUMMYNET di IPFW adalah tidak dapat dilakukannya link sharing, dimana misalnya suatu "pipa" tidak digunakan, maka link pada "pipa" tsb

tidak dapat digunakan oleh yg lain. Untuk dapat melakukan ini, dapat digunakan Bandwidth Management System seperti ALTQ. Untuk mengaktifkan ALTQ, kernel harus di-kompilasi ulang dengan cara : # cd /usr/src/sys/i386/conf/

# cp GENERIC NEW_KERNEL

Selanjutnya edit file "NEW_KERNEL" dan tambahkan 7 baris berikut : # cat NEW_KERNEL | grep ALTQ

options ALTQ

options ALTQ_CBQ

options ALTQ_RED

options ALTQ_RIO

options ALTQ_HFSC

options ALTQ_CDNR

options ALTQ_PRIQ

# cd /usr/src

# make buildkernel KERNCONF=NEW_KERNEL

……<tunggu sampai selesai>……

# make installkernel KERNCONF=NEW_KERNEL

……<tunggu sampai selesai>……

"NEW_KERNEL" dapat diganti dgn nama lain, sesuai fungsi dari kernel yg baru.

Aplikasi untuk mengatur ALTQ adalah PF (Paket Filter) yaitu interface firewall seperti IPFW namun dikembangkan di OpenBSD dan saat ini dapat digunakan di FreeBSD.

Untuk mengaktifkan PF, tambahkan baris berikut di /etc/rc.conf # cat /etc/rc.conf | grep pf

pf_enable="YES"

Untuk dapat bekerja, PF membutuhkan file konfigurasi /etc/pf.conf # cat /etc/pf.conf

ext_if = "rl0"

altq on $ext_if cbq bandwidth 10Mb queue { deflt, bms }

queue deflt bandwidth 10% cbq(default)

queue bms bandwidth 90% cbq(borrow red) { pimpinan , biasa }

queue pimpinan bandwidth 10% priority 1 cbq(borrow red)

queue biasa bandwidth 80% cbq(borrow red) { staf, mahasiswa }

queue staf bandwidth 40% priority 2 cbq(borrow red)

queue mahasiswa bandwidth 60% priority 3 cbq(borrow red)

block return in on $ext_if inet all queue rsets

pass in on $ext_if inet proto tcp from 10.1.1.0/24 to any port 8080 keep

state queue pimpinan

pass in on $ext_if inet proto tcp from 10.1.2.0/24 to any port 8080 keep

state queue staf

pass in on $ext_if inet proto tcp from 10.1.3.0/24 to any port 8080 keep

state queue mahasiswa

pass out on $ext_if inet all keep state