Mungkin sudah banyak artikel yang membahas tc dan iptables di linux,
jadi disini saya hanya akan melakukan sedikit review, Sebelumnya apa itu
tc ?
tc adalah aplikasi yang berfungsi sebagai traffic control atau
bandwidth management pada sebuah PC router untuk mengatur bandwidth yang
keluar masuk lewat PC router tersebut, tc sendiri dikonfigurasi dengan
berbagai macam tipe seperti sfq, tbf, htb dan lain-lain sesuai dengan
kebutuhan. Sebagai catatan, tc dan iptables telah terinstall secara
default setelah anda menginstalasi linux box anda. Tc dapat
dikombinasikan dengan berbagai aplikasi seperti iptables. Iptables itu
apa? iptables adalah sebuah aplikasi yang umumnya digunakan sebagai
firewall, iptables memiliki 3 tabel (filter, nat, mangle) yang tiap
tabelnya berbeda fungsi. Disini iptables di table mangle digunakan
sebagai penanda paket yang lewat yang kemudian akan diproses oleh tc
sesuai dengan tandanya. Nha ini contoh penggunaanya …
Dimisalkan PC router menggunakan eth0 untuk menuju ke internet dan eth1 untuk ke jaringan lokal internet — [eth0]PC Router[eth1] —- Local Network
Pertama kita bikin aturannya dengan tc:
#Delete konfigurasi sebelumnya
/sbin/tc qdisc del dev eth1 root
#Bikin aturan antrian dengan HTB pada pusat cabang
/sbin/tc qdisc add dev eth1 root handle 1:0 htb
#Bikin parent class untuk antrian dengan total bandwidth 512 kilobit
/sbin/tc class add dev eth1 parent 1:0 classid 1:1 htb rate 512Kbit ceil 512Kbit
#Bikin anak kelas dengan pemakaian dijamin mendapat bandwidth 128Kbit
dan dapat meminjam maksimum bandwidth yang tak terpakai sampai 512Kbit
/sbin/tc class add dev eth1 parent 1:1 classid 1:2 htb rate 128Kbit ceil 512Kbit
#Bikin anak kelas dengan pemakaian dijamin mendapat bandwidth 256Kbit
dan dapat meminjam maksimum bandwidth yang tak terpakai sampai 512Kbit
/sbin/tc class add dev eth1 parent 1:1 classid 1:3 htb rate 256Kbit ceil 512Kbit
#Bikin filternya untuk menggunakan anak kelas 1:2 untuk paket yang ditandai dengan tanda 2 di iptables
/sbin/tc filter add dev eth1 parent 1:0 protocol ip handle 2 fw flowid 1:2
#Bikin filternya untuk menggunakan anak kelas 1:3 untuk paket yang ditandai dengan tanda 3 di iptables
/sbin/tc filter add dev eth1 parent 1:0 protocol ip handle 3 fw flowid 1:3
Sekarang kita pilih paket mana yang akan ditandai di iptables, misal:
#Kita tandai untuk network 192.168.0.0/24 yang sekedar surfing web dengan tanda 2 agar mengikuti aturan tc di anak antrian 1:2
/sbin/iptables -t mangle -A POSTROUTING -o eth1 -p tcp -d 192.168.0.0/24 – -sport 80 -j MARK – -set-mark 2
#Kita tandai untuk network 192.168.0.0/24 untuk mengakses email via
email klien dengan tanda 3 agar mengikuti aturan tc di anak antrian 1:3
/sbin/iptables -t mangle -A POSTROUTING -o eth1 -p tcp -d 192.168.0.0/16 – -sport 25 -j MARK – -set-mark 3
Dengan bantuan iptables kita bisa lebih menspesifikan aturan menjadi
sangat detil dari yang kita bayangkan … seperti penggunaan MAC Address,
port-port yang digunakan dan lain lain.
Selamat Mencoba dan Semoga berhasil.
Traffic Control “tc” with iptables marking
Please Enable JavaScript!
Mohon Aktifkan Javascript![ Enable JavaScript ]
Mohon Aktifkan Javascript![ Enable JavaScript ]
0 comments:
Post a Comment