Lingkage program

Traffic Shaping dengan FreeBSD

Posted on: December 16, 2006

==============================
Sebelum saya menerang mengenai traffic shaping dengan FreeBSD dengan lebih lanjut, saya syorkan anda membaca
man page ‘ipfw(‘ dan ‘dummynet(4)’.

Soalan
======

Ngapa butuh traffic shaping?
——————————

Traffic shaping adalah untuk menghad sesuatu bandwidth mengikut konfigurasi anda. Contohnya, anda mempunyai
10 buah PC di kantor anda dan anda mahu semua PC itu mendapat bandwidth sebanyak 256Kbps. Anda bisa
lakukannya dengan cara ini. Selain itu, anda bisa pastikan sesuatu IP atau port mendapat ‘priority’ dengan
menggunakan WFQ (Weight Fair Queueing)

Bolehkan benda ni handle banyak connection?
——————————————-

Mungkin bisa, mungkin tidak juga. Saya udah mencoba cara ini dengan 40 client, dan enggak menghadapi apa-apa masalah.
Pentium II 300 dan 64MB RAM udah cukup bagus untuk menjanakannya. Pastikan anda menggunakan network
card yang berkualiti.

Langkah 1: Kernel
=================

Pastikan kernel anda dicompile konfigurasi ini:

options IPFIREWALL
options DUMMYNET
options HZ=1000

‘IPFIREWALL’ adalah untuk filtering, ‘DUMMYNET’ adalah untuk traffic shaping dan ‘HZ=1000’ yang bermaksud operasi
kernel akan dijalankan pada 1ms.

Langkah 2: IPFW
===============

IPFW merupakan interface kepada IPFIREWALL dan DUMMYNET. Ianya sudah ada dalam mana-mana OS FreeBSD.
Anda mesti menambah konfigurasi ini dalam /etc/rc.conf supaya IPFW diexecute secara automatik ketika bootup.

firewall_enable=”YES”
firewall_script=”/etc/ipfw.conf”

‘firewall_enable=”YES”‘ bermaksud bahawa rc.conf akan execute ipfw pada bootup dengan rules yang diset oleh
‘firewall_script=”/etc/ipfw.conf”‘. Anda boleh menukar nama fail script anda.

Saya tidak akan menerang tentang ipfirewall dan NAT dalam artikel ini, anda perlu rujuk kepada artikel lain berkenaan
perkara tersebut.

Langkah 3: Konfigurasi IPFW
===========================

Menghad Bandwidth (Bandwidth Limit)
———————————–

Anda boleh menghad bandwidth dengan contoh-contoh dibawah:

contoh 1:

$ipfw pipe 1 config bw 128Kbit/s
$ipfw pipe 2 config bw 128Kbit/s
$ipfw add pipe 1 all from any to 192.168.1.1 in
$ipfw add pipe 2 all from 192.168.1.1 to any out

Konfigurasi ini akan menghad bandwidth download dan upload dari IP 192.168.1.1 kepada 128Kbps

contoh 2:

$ipfw pipe 1 config mask dst-ip 0x000000ff bw 128Kbit/s
$ipfw pipe 2 config mask src-ip 0x000000ff bw 128Kbit/s
$ipfw add pipe 1 all from any to 192.168.1.0/24 in
$ipfw add pipe 2 all from 192.168.1.0/24 to any out

Konfigurasi ini akan menghad bandwidth download dan upload dari network 192.168.1.0/24 kepada 128Kbps

WFQ (Weight Fair Queueing)
————————–

Anda boleh mengkofigurasikan mana-mana IP atau port yang akan mendapat ‘priority’ mengikut contoh-contoh dibawah:

contoh 1:

$ipfw pipe 1 config bw 128Kbit/s
$ipfw pipe 2 config bw 128Kbit/s
$ipfw queue 100 config pipe 2 weight 90
$ipfw queue 101 config pipe 2 weight 60
$ipfw add pipe 1 all from any to 192.168.1.1 in
$ipfw add queue 100 tcp from 192.168.1.1 to any 22 out
$ipfw add queue 100 tcp from 192.168.1.1 to any 80 out
$ipfw add queue 100 udp from 192.168.1.1 to any 53 out
$ipfw add queue 101 all from 192.168.1.1 to any out

Konfigurasi ini akan menghad bandwidth download dan upload dari IP 192.168.1.1 kepada 128Kbps dan memberi
‘priority’ kepada port SSH(22), HTTP(80), dan DNS(53) yang menuju ke luar (pada client).

contoh 2:

$ipfw pipe 1 config bw 128Kbit/s
$ipfw pipe 2 config bw 128Kbit/s
$ipfw queue 100 config pipe 1 weight 90
$ipfw queue 101 config pipe 1 weight 60
$ipfw add queue 100 tcp from any to 192.168.1.1 22 in
$ipfw add queue 100 tcp from any to 192.168.1.1 80 in
$ipfw add queue 101 tcp from any to 192.168.1.1 in
$ipfw add pipe 2 all from 192.168.1.1 to any out

Konfigurasi ini akan menghad bandwidth download dan upload dari IP 192.168.1.1 kepada 128Kbps dan memberi
‘priority’ kepada port SSH(22), HTTP(80), dan DNS(53) yang menuju ke dalam (pada server).

SIAP! Semua konfigurasi DUMMYNET sudah lengkap, dan tibalah masa untuk menguji benda ini. Enjoy!

1 Response to "Traffic Shaping dengan FreeBSD"

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


  • Order Xtrasize: Hi there, all is going well here and ofcourse every one is sharing facts, that's in fact fine, keep up writing.
  • chatroulette: I am curious to find out what blog system you're using? I'm experiencing some small security issues with my latest site and I would like to find s
  • 3:00 AM: Hello! Do you know if they make any plugins to protect against hackers? I'm kinda paranoid about losing everything I've worked hard on. Any suggest

Categories

%d bloggers like this: