Showing posts with label network. Show all posts
Showing posts with label network. Show all posts

Monday, April 1, 2013

Internet Cepat Wifi id

yuzank.blogspot.com

internet cepat wifi id
Sebagai pemburu internet gratis, sekarang yuzank mau share mainan baru yaitu internet cepat dari wifi.id. Wifi.id dengan slogan semua bisa online merupakan layanan wifi gratis yang disediakan oeh perusahaan jasa telekomunikasi di Indonesia yaitu telkom. Target wifi.id yang sudah lebih dari dua bulan ini yuzank gunakan adalah layanan wifi.id milik kampus sebelah kos. Awal kemunculan wifi id dikampus sebelah ini sempat membuat kesal karena kekuatan sinyalnya yang luar biasa sehingga sinyal wifi yang biasa digunakan menjadi turun drastis. 

Beberapa hari berpanas-panasan dengan laptop yang panas mencoba pointing (mengarahkan antena ke arah yang pas) serta modifikasi antena omni kecil-kecilan untuk mendapatkan kekuatan sinyal wifi yang dulu, namun semua dengan berakhir dengan kegagalan. Sejak saat itu yuzank mencoba beradaptasi dengan wifi.id yang menurut kabar dari temen-temen kos speed internetnya bisa sampe 2MB ('M' besar dan 'B' besar). Mendengar speednya bisa sampe 2MB membuat yuzank makin semangat untuk berhijrah dari sinyal wifi yang dulu ke hotspot wifi.id.

Mula-mula menggunakan wifi id yuzank hanya menggunkan trial satu jam dengan mendaftarkan nomor phonsel dari telkom. Semua teman yang menggunakan nomor dari telkom dihubungi untuk diminta bantuan mengirimkan passwordnya. Karena dirasa terlalu merepotkan karena paswordnya yang berubah-ubah dan hanya berlaku selama satu jam  sehingga tidak bisa di remember di browser, akhirnya saya mencari cara lain dan caranya didapat dari teman waktu menyeting router miliknya. Katanya kalo memakai username dan password speedy atu modem flexi kita dapat menggunakan wifi.id tanpa merugikan si pemilik modem maupun speedy. Sejak saat itu internet selama 24 jam  daat dinikmati dengan speed dowload yang super cepat menurut saya dan pesaing yang tidak begitu berarti membuat saya semakin cinta dengan wifi id. 

download internet cepat wifi id
Download siang hari wifi id
Sebagai seorang pengguna internet yang baik saya tidak serakah dan menikmatinya sendiri. Bermodalkan dua buah tp link wr543g , (yang satunya warisan teman alumni kos) dan sebuah mikrotik rb 750 pinjaman dari kampus FKIP UNLAM bandwidth internet dari wifi.id yang didapat disebarkan luaskan lagi untuk penghuni kos yang lain dengan limit speed suka-suka saya. Pada saat saya lagi perlu speed mereka tercekek dan kalau saya lagi tidak online ya sesuka mereka. . Jadi walaupun kos kami murahan tapi koneksi internetnya yang cepat tidak murahan. hehe

Sebagai seorang pengguna internet gratisan yuzank berharap semoga koneksi internet wifi id yang dinikmati bisa seperti ini terus sampe ada penggantinya yang lebih baik lagi. amin

write by: Arif Rahman Hakim

Tuesday, May 29, 2012

Pemprosesan Paket pada IPTables

"Diterjemahkan seadanya oleh yuzank.blogspot.com dari www.linuxhomenetworking.com"

Semua paket diperiksa oleh iptables melewati urutan built-in tabel (queue) untuk diproses. Masing-masing queue didedikasikan untuk menentukan nasib suatu paket.   Masing-masing queue tersebut dikontrol oleh suatu penyesuaian transformasi paket  / filtering chain,
Secara keseluruhan ada tiga jenis tabel.
Pertama, Tabel mangle yang bertanggung jawab atas perubahan kualitas pelayanan bit pada header TCP.Hal ini jarang digunakan di rumah atau lingkungan SOHO.

Kedua, Table filter queue yang bertanggung jawab untuk packet filtering. Ia memiliki tiga jenis built-in chain di mana kita dapat menempatkan pengaturan firewall. Ketiga jenis tersebut yaitu:
  • Forward chain: filter paket menuju server yang dilindungi oleh firewall.
  • Input chain: filter paket yang menuju ke firewall.
  • Output chain: Filter paket yang keluar dari firewall.
Ketiga, Tabel NAT queue yang berfungsi untuk melakukan Network Address Translation. Terdapat dua jenis NAt yaitu:
  • Pre-routing chain: penterjemahan paket jika alamat tujuan dari paket perlu diubah.
  • Post-routing chain: penterjemahan paket jika alamat asal/sumber dari paket perlu diubah.

Table: Processing For Packets Routed By The Firewall

Queue TypeQueue FunctionPacket Transformation Chain in QueueChain Function
FilterPacket filtering
FORWARD
Filters paket ke server yang dapat di akses oleh NIC(network interface controller) lain pada firewall.
INPUT
Filters paket menuju firewall.
OUTPUT
Filters paket keluar dari firewall
NatNetwork Address Translation
PREROUTING
Terjadi penterjemahan alamat sebelum routing. Pengubahan alamat IP tujuan sehingga sesuai dengan routing tabel firewall. Digunakan NAT pada alamat IP tujuan (Destination IP address) sering disebut sebagai destination NAT atau DNAT.
POSTROUTING 
Terjadi penterjemahan alamat setelah routing. Ini berarti tidak perlu melakukan modifikasi alamat IP tujuan paket pada pre-routing. Digunakan NAT pada alamat IP sumber/asal (source IP address) menggunakan salah satu dari one-to-one atau many-to-one NAT. Sering disebut source NAT, atau SNAT.
OUTPUT
Network Address Translation (NAT) untuk paket yang di hasilkan oleh firewall. (jarang digunakan pada lingkungan SOHO)
MangleTCP header modification
PREROUTING
POSTROUTING
OUTPUT
INPUT
FORWARD
Modifikasi pada kualitas paket TCP sbelum routing terjadi. ( jarang digunakan pada lingkungan SOHO)

Kita memerlukan tabel spesifik dan terurut/berantai(chain) untuk stiap aturan(rule) firewall yang dibuat. Pengecualian: Sebagian aturan(rule) yang berkaitan dengan filtering, jadi IPTables mengasumsikan bahwa setiap rantai(chain) yang didefinisikan tanpa suatu tabel terkait akan menjadi bagian dari tabel filter. Ada tabel filter terdapat secara default.
Untuk memperjelas, lihat alur paket yang ditangani oleh iptables. Pada gambar, paket TCP dari internet diterima oleh firewall interface pada network A untuk membuat sebuah koneksi data.
Pertam-tam paket si periksa oleh aturan/rule PREROUTING chain pada table mangle untuk di ketahui apakah paket cocok dengan DNAT. Jika iya maka roting paket diteruskan.
jika paket menuju jaringan yang diproteksi, maka paket tersebut akan disaring/filter oleh aturan/rule  FORWARD chain pada tabel filter dan, jika diperlukan, paket menglami SNAT pada POSTROUTING chain sebelum sampai ke Network B. Ketika server tujuan memutuskan untuk membalas (reply), paket akan mengalami urutan langkah yang sama. FORWARD and POSTROUTING chains, keduanya dapat diseting untuk penerapan fitur quality of service (QoS) pada tabel mangle, tapi ini tidak biasa digunakan pada lingkungan SOHO.
Jika paket ditujukan ke firewall itu sendiri maka akan melewati INPUT chain pada tabel mangle, jika diseting(configured), sebelum disaring/filter oleh rule pada INPUT chain pada tabel filter terlebih dahulu. Jika berhasil melewati tes ini kemudian diproses oleh aplikasi yang dimaksud pada firewall.
Pada poin tertentu, firewall perlu untuk membalas (reply). reply ini dilewatkan dan diperiksa oleh rule pada OUTPUT chain pda tabel mangle, jika ada. Kemudian, rule pada OUTPUT chain pada tabel NAT menentukan apakah DNAT  dijinkan dan  rule pada OUTPUT chain pada tabel filter  memeriksa  untuk membatasi paket yang tidak sah. Akhirnya, sebelum paket dikrim kembali ke internet, SNAT dan QoS telah dilakukan oleh POSTROUTING chain.

Figure: Diagram Aliran Paket Iptables

Iptables.gif

Tutorial IPTables

oleh: Lukman HDP/s3trum (lukman_hdp@yahoo.com) August 5, 2003


Tulisan ini ditujukan untuk memberikan pengetahuan dasar mengenai pemfilteran paket menggunakan IPTables pada Linux. Tulisan ini bersifat general yang menjelaskan secara umum bagaimana sintaks IPTables dibuat. Beberapa (banyak?) bagian dari tulisan diambil dari official site IPTables. Tidak ada copyright apapun dalam dokumen ini, anda bebas menyalin, mencetak, maupun memodifikasi (dengan menyertakan nama penulis asli). Kritik, koreksi, saran dan lain-lain silahkan dialamatkan ke email tersebut di atas. Semoga bermanfaat.

1. Persiapan

Sebelum mulai, diharapkan pembaca sudah memiliki pengetahuan dasar mengenai TCP/IP karena hal ini merupakan dasar dari penggunaan IPTables. Ada (sangat) banyak resource yang mendokumentasikan konsep dasar tentang TCP/IP, baik itu secara online maupun cetak. Silahkan googling untuk mendapatkannya.
Hal berikutnya yang harus anda persiapkan adalah sebuah komputer yang terinstall Linux. Akan lebih baik jika komputer anda memiliki 2 buah network interface card, sebab bisa menjalankan fungsi packet forwarding. Disarankan anda menggunakan linux dengan kernel 2.4 ke atas, karena (setahu saya) linux dengan kernel 2.4 ke atas sudah memiliki dukungan IPTables secara default, sehingga anda tidak perlu mengkompilasi ulang kernel anda. Bagi anda yang menggunakan kernel 2.2 atau sebelumnya, anda harus melakukan kompilasi kernel untuk memasukkan dukungan IPTables. Silahkan lihat tutorial Kompilasi kernel 2.4.x di Linux oleh mas Asfik.

2. Pendahuluan

IPTables memiliki tiga macam daftar aturan bawaan dalam tabel penyaringan, daftar tersebut dinamakan rantai firewall (firewall chain) atau sering disebut chainsaja. Ketiga chain tersebut adalah INPUT, OUTPUT dan FORWARD.
Pada diagram tersebut, lingkaran menggambarkan ketiga rantai atau chain. Pada saat sebuah paket sampai pada sebuah lingkaran, maka disitulah terjadi proses penyaringan. Rantai akan memutuskan nasib paket tersebut. Apabila keputusannnya adalah DROP, maka paket tersebut akan di-drop. Tetapi jika rantai memutuskan untuk ACCEPT, maka paket akan dilewatkan melalui diagram tersebut.
Sebuah rantai adalah aturan-aturan yang telah ditentukan. Setiap aturan menyatakan “jika paket memiliki informasi awal (header) seperti ini, maka inilah yang harus dilakukan terhadap paket”. Jika aturan tersebut tidak sesuai dengan paket, maka aturan berikutnya akan memproses paket tersebut. Apabila sampai aturan terakhir yang ada, paket tersebut belum memenuhi salah satu aturan, maka kernel akan melihat kebijakan bawaan (default) untuk memutuskan apa yang harus dilakukan kepada paket tersebut. Ada dua kebijakan bawaan yaitu default DROP dan default ACCEPT.
Jalannya sebuah paket melalui diagram tersebut bisa dicontohkan sebagai berikut:
Perjalanan paket yang diforward ke host yang lain
1. Paket berada pada jaringan fisik, contoh internet.
2. Paket masuk ke interface jaringan, contoh eth0.
3. Paket masuk ke chain PREROUTING pada table Mangle. Chain ini berfungsi untuk me-mangle (menghaluskan) paket, seperti merubah TOS, TTL dan lain-lain.
4. Paket masuk ke chain PREROUTING pada tabel nat. Chain ini berfungsi utamanya untuk melakukan DNAT (Destination Network Address Translation).
5. Paket mengalami keputusan routing, apakah akan diproses oleh host lokal atau diteruskan ke host lain.
6. Paket masuk ke chain FORWARD pada tabel filter. Disinlah proses pemfilteran yang utama terjadi.
7. Paket masuk ke chain POSTROUTING pada tabel nat. Chain ini berfungsi utamanya untuk melakukan SNAT (Source Network Address Translation).
8. Paket keluar menuju interface jaringan, contoh eth1.
9. Paket kembali berada pada jaringan fisik, contoh LAN.
Perjalanan paket yang ditujukan bagi host lokal
1. Paket berada dalam jaringan fisik, contoh internet.
2. Paket masuk ke interface jaringan, contoh eth0.
3. Paket masuk ke chain PREROUTING pada tabel mangle.
4. Paket masuk ke chain PREROUTING pada tabel nat.
5. Paket mengalami keputusan routing.
6. Paket masuk ke chain INPUT pada tabel filter untuk mengalami proses penyaringan.
7. Paket akan diterima oleh aplikasi lokal.
Perjalanan paket yang berasal dari host lokal
1. Aplikasi lokal menghasilkan paket data yang akan dikirimkan melalui jaringan.
2. Paket memasuki chain OUTPUT pada tabel mangle.
3. Paket memasuki chain OUTPUT pada tabel nat.
4. Paket memasuki chain OUTPUT pada tabel filter.
5. Paket mengalami keputusan routing, seperti ke mana paket harus pergi dan melalui interface mana.
6. Paket masuk ke chain POSTROUTING pada tabel NAT.
7. Paket masuk ke interface jaringan, contoh eth0.
8. Paket berada pada jaringan fisik, contoh internet.

3. Sintaks IPTables

iptables [-t table] command [match] [target/jump]

1. Table
IPTables memiliki 3 buah tabel, yaitu NAT, MANGLE dan FILTER. Penggunannya disesuaikan dengan sifat dan karakteristik masing-masing. Fungsi dari masing-masing tabel tersebut sebagai berikut :
  1. NAT : Secara umum digunakan untuk melakukan Network Address Translation. NAT adalah penggantian field alamat asal atau alamat tujuan dari sebuah paket.
  2. MANGLE : Digunakan untuk melakukan penghalusan (mangle) paket, seperti TTL, TOS dan MARK.
  3. FILTER : Secara umum, inilah pemfilteran paket yang sesungguhnya.. Di sini bisa dintukan apakah paket akan di-DROP, LOG, ACCEPT atau REJECT
2. Command
Command pada baris perintah IPTables akan memberitahu apa yang harus dilakukan terhadap lanjutan sintaks perintah. Umumnya dilakukan penambahan atau penghapusan sesuatu dari tabel atau yang lain.
Command
Keterangan
-A 
--append
Perintah ini menambahkan aturan pada akhir chain. Aturan akan ditambahkan di akhir baris pada chain yang bersangkutan, sehingga akan dieksekusi terakhir
-D          
--delete
Perintah ini menghapus suatu aturan pada chain. Dilakukan dengan cara menyebutkan secara lengkap perintah yang ingin dihapus atau dengan menyebutkan nomor baris dimana perintah akan dihapus.
-R          
--replace
Penggunaannya sama seperti --delete, tetapi command ini menggantinya dengan entry yang baru.
-I          
--insert
Memasukkan aturan pada suatu baris di chain. Aturan akan dimasukkan pada baris yang disebutkan, dan aturan awal yang menempati baris tersebut akan digeser ke bawah.Demikian pula baris-baris selanjutnya.
-L          
--list
Perintah ini menampilkan semua aturan pada sebuah tabel. Apabila tabel tidak disebutkan, maka seluruh aturan pada semua tabel akan ditampilkan, walaupun tidak ada aturan sama sekali pada sebuah tabel. Command ini bisa dikombinasikan dengan option –v (verbose), -n (numeric) dan –x (exact).
-F          
--flush
Perintah ini mengosongkan aturan pada sebuah chain. Apabila chain tidak disebutkan, maka semua chain akan di-flush.
-N          
--new-chain
Perintah tersebut akan membuat chain baru.
-X          
--delete-chain
Perintah ini akan menghapus chain yang disebutkan. Agar perintah di atas berhasil, tidak boleh ada aturan lain yang mengacu kepada chain tersebut.
-P          
--policy
Perintah ini membuat kebijakan default pada sebuah chain. Sehingga jika ada sebuah paket yang tidak memenuhi aturan pada baris-baris yang telah didefinisikan, maka paket akan diperlakukan sesuai dengan kebijakan default ini.
-E          
--rename-chain
Perintah ini akan merubah nama suatu chain.
3. Option
Option digunakan dikombinasikan dengan command tertentu yang akan menghasilkan suatu variasi perintah.
Option
Command          Pemakai
Keterangan
-v          
--verbose
--list          
--append 
--insert 
--delete
--replace
Memberikan output yang lebih detail, utamanya digunakan dengan --list. Jika digunakan dengan --list, akan menampilkam K (x1.000),
M (1.000.000) dan G (1.000.000.000).
-x          
--exact
--list
Memberikan output yang lebih tepat.
-n          
--numeric
--list
Memberikan output yang berbentuk angka. Alamat IP dan nomor port akan ditampilkan dalam bentuk angka dan bukan hostname ataupun nama aplikasi/servis.
--line-number
--list
Akan menampilkan nomor dari daftar aturan. Hal ni akan mempermudah bagi kita untuk melakukan modifikasi aturan, jika kita mau meyisipkan atau menghapus aturan dengan nomor tertentu.
--modprobe
All
Memerintahkan IPTables untuk memanggil modul tertentu. Bisa digunakan bersamaan dengan semua command.
4. Generic Matches
Generic Matches artinya pendefinisian kriteria yang berlaku secara umum. Dengan kata lain, sintaks generic matches akan sama untuk semua protokol. Setelah protokol didefinisikan, maka baru didefinisikan aturan yang lebih spesifik yang dimiliki oleh protokol tersebut. Hal ini dilakukan karena tiap-tiap protokol memiliki karakteristik yang berbeda, sehingga memerlukan perlakuan khusus.
Match
Keterangan
-p          
--protocol

Digunakan untuk mengecek tipe protokol tertentu. Contoh protokol yang umum adalah TCP, UDP, ICMP dan ALL. Daftar protokol bisa dilihat pada /etc/protocols.

Tanda inversi juga bisa diberlakukan di sini, misal kita menghendaki semua protokol kecuali icmp, maka kita bisa menuliskan --protokol ! icmp yang berarti semua kecuali icmp.
-s          
--src 
--source

Kriteria ini digunakan untuk mencocokkan paket berdasarkan alamat IP asal. Alamat di sini bisa berberntuk alamat tunggal seperti 192.168.1.1, atau suatu alamat network menggunakan netmask misal 192.168.1.0/255.255.255.0, atau bisa juga ditulis 192.168.1.0/24 yang artinya semua alamat 192.168.1.x. Kita juga bisa menggunakan inversi.

-d          
--dst
--destination

Digunakan untuk mecocokkan paket berdasarkan alamat tujuan. Penggunaannya sama dengan match –src

-i          
--in-interface

Match ini berguna untuk mencocokkan paket berdasarkan interface di mana paket datang. Match ini hanya berlaku pada chain INPUT, FORWARD dan PREROUTING

-o          
--out-interface

Berfungsi untuk mencocokkan paket berdasarkan interface di mana paket keluar.Penggunannya sama dengan --in-interface. Berlaku untuk chain OUTPUT, FORWARD dan POSTROUTING

5. Implicit Matches
Implicit Matches adalah match yang spesifik untuk tipe protokol tertentu. Implicit Match merupakan sekumpulan rule yang akan diload setelah tipe protokol disebutkan. Ada 3 Implicit Match berlaku untuk tiga jenis protokol, yaitu TCP matches, UDP matches dan ICMP matches.
a. TCP matches
Match
Keterangan
--sport          
--source-port
Match ini berguna untuk mecocokkan paket berdasarkan port asal. Dalam hal ini kia bisa mendefinisikan nomor port atau nama service-nya. Daftar nama service dan nomor port yang bersesuaian dapat dilihat di /etc/services.
--sport juga bisa dituliskan untuk range port tertentu. Misalkan kita ingin mendefinisikan range antara port 22 sampai dengan 80, maka kita bisa menuliskan --sport 22:80.
Jika bagian salah satu bagian pada range tersebut kita hilangkan maka hal itu bisa kita artikan dari port 0, jika bagian kiri yang kita hilangkan, atau 65535 jika bagian kanan yang kita hilangkan. Contohnya --sport :80 artinya paket dengan port asal nol sampai dengan 80, atau --sport 1024: artinya paket dengan port asal 1024 sampai dengan 65535.Match ini juga mengenal inversi.
--dport          
--destination-port
Penggunaan match ini sama dengan match --source-port.
--tcp-flags
Digunakan untuk mencocokkan paket berdasarkan TCP flags yang ada pada paket tersebut. Pertama, pengecekan akan mengambil daftar flag yang akan diperbandingkan, dan kedua, akan memeriksa paket yang di-set 1, atau on.
Pada kedua list, masing-masing entry-nya harus dipisahkan oleh koma dan tidak boleh ada spasi antar entry, kecuali spasi antar kedua list. Match ini  mengenaliSYN,ACK,FIN,RST,URG, PSH. Selain itu kita juga menuliskan ALL dan NONE.Match ini juga bisa menggunakan inversi.
--syn
Match ini akan memeriksa apakah flag SYN di-set dan ACK dan FIN tidak di-set. Perintah ini sama artinya jika kita menggunakan match --tcp-flags SYN,ACK,FIN SYN
Paket dengan match di atas digunakan untuk melakukan request koneksi TCP yang baru terhadap server
b. UDP Matches
Karena bahwa protokol UDP bersifat connectionless, maka tidak ada flags yang mendeskripsikan status paket untuk untuk membuka atau menutup koneksi. Paket UDP juga tidak memerlukan acknowledgement. Sehingga Implicit Match untuk protokol UDP lebih sedikit daripada TCP.
Ada dua macam match untuk UDP:
--sport atau --source-port
--dport atau --destination-port
c. ICMP Matches
Paket ICMP digunakan untuk mengirimkan pesan-pesan kesalahan dan kondisi-kondisi jaringan yang lain. Hanya ada satu implicit match untuk tipe protokol ICMP, yaitu :
--icmp-type
6. Explicit Matches
a. MAC Address
Match jenis ini berguna untuk melakukan pencocokan paket berdasarkan MAC source address. Perlu diingat bahwa MAC hanya berfungsi untuk jaringan yang menggunakan teknologi ethernet.
iptables –A INPUT –m mac –mac-source 00:00:00:00:00:01
b. Multiport Matches
Ekstensi Multiport Matches digunakan untuk mendefinisikan port atau port range lebih dari satu, yang berfungsi jika ingin didefinisikan aturan yang sama untuk beberapa port. Tapi hal yang perlu diingat bahwa kita tidak bisa menggunakan port matching standard dan multiport matching dalam waktu yang bersamaan.
iptables –A INPUT –p tcp –m multiport --source-port 22,53,80,110
c. Owner Matches
Penggunaan match ini untuk mencocokkan paket berdasarkan pembuat atau pemilik/owner paket tersebut. Match ini bekerja dalam chain OUTPUT, akan tetapi penggunaan match ini tidak terlalu luas, sebab ada beberapa proses tidak memiliki owner (??).
iptables –A OUTPUT –m owner --uid-owner 500
Kita juga bisa memfilter berdasarkan group ID dengan sintaks --gid-owner. Salah satu penggunannya adalah bisa mencegah user selain yang dikehendaki untuk mengakses internet misalnya.
d. State Matches
Match ini mendefinisikan state apa saja yang cocok. Ada 4 state yang berlaku, yaitu NEW, ESTABLISHED, RELATED dan INVALID. NEW digunakan untuk paket yang akan memulai koneksi baru. ESTABLISHED digunakan jika koneksi telah tersambung dan paket-paketnya merupakan bagian dari koneki tersebut. RELATED digunakan untuk paket-paket yang bukan bagian dari koneksi tetapi masih berhubungan dengan koneksi tersebut, contohnya adalah FTP data transfer yang menyertai sebuah koneksi TCP atau UDP. INVALID adalah paket yang tidak bisa diidentifikasi, bukan merupakan bagian dari koneksi yang ada.
iptables –A INPUT –m state --state RELATED,ESTABLISHED
7. Target/Jump
Target atau jump adalah perlakuan yang diberikan terhadap paket-paket yang memenuhi kriteria atau match. Jump memerlukan sebuah chain yang lain dalam tabel yang sama. Chain tersebut nantinya akan dimasuki oleh paket yang memenuhi kriteria. Analoginya ialah chain baru nanti berlaku sebagai prosedur/fungsi dari program utama. Sebagai contoh dibuat sebuah chain yang bernama tcp_packets. Setelah ditambahkan aturan-aturan ke dalam chain tersebut, kemudian chain tersebut akan direferensi dari chain input.
iptables –A INPUT –p tcp –j tcp_packets
Target
Keterangan
-j ACCEPT 
--jump ACCEPT
Ketika paket cocok dengan daftar match dan target ini diberlakukan, maka paket tidak akan melalui baris-baris aturan yang lain dalam chain tersebut atau chain yang lain yang mereferensi chain tersebut. Akan tetapi paket masih akan memasuki chain-chain pada tabel yang lain seperti biasa.
-j DROP 
--jump DROP
Target ini men-drop paket dan menolak untuk memproses lebih jauh. Dalam beberapa kasus mungkin hal ini kurang baik, karena akan meninggalkan dead socket antara client danserver.
Paket yang menerima target DROP benar-benar mati dan target tidak akan mengirim informasi tambahan dalam bentuk apapun kepada client atau server.
-j RETURN 
--jump RETURN
Target ini akan membuat paket berhenti melintasi aturan-aturan pada chain dimana paket tersebut menemui target RETURN. Jika chain merupakan subchain dari chain yang lain, maka paket akan kembali ke superset chain di atasnya dan masuk ke baris aturan berikutnya. Apabila chain adalah chain utama misalnya INPUT, maka paket akan dikembalikan kepada kebijakan default dari chain tersebut.
-j MIRROR
Apabila kompuuter A menjalankan target seperti contoh di atas, kemudian komputer B melakukan koneksi http ke komputer A, maka yang akan muncul pada browser adalah website komputer B itu sendiri. Karena fungsi utama target ini adalah membalik source address dan destination address.
Target ini bekerja pada chain INPUT, FORWARD dan PREROUTING atau chain buatan yang dipanggil melalui chain tersebut.
Beberapa target yang lain biasanya memerlukan parameter tambahan:
a. LOG Target
Ada beberapa option yang bisa digunakan bersamaan dengan target ini. Yang pertama adalah yang digunakan untuk menentukan tingkat log. Tingkatan log yang bisa digunakan adalah debug, info, notice, warning, err, crit, alert dan emerg.Yang kedua adalah -j LOG --log-prefix yang digunakan untuk memberikan string yang tertulis pada awalan log, sehingga memudahkan pembacaan log tersebut.
iptables –A FORWARD –p tcp –j LOG --log-level debug
iptables –A INPUT –p tcp –j LOG --log-prefix “INPUT Packets”
b. REJECT Target
Secara umum, REJECT bekerja seperti DROP, yaitu memblok paket dan menolak untuk memproses lebih lanjut paket tersebut. Tetapi, REJECT akan mengirimkan error message ke host pengirim paket tersebut. REJECT bekerja pada chain INPUT, OUTPUT dan FORWARD atau pada chain tambahan yang dipanggil dari ketiga chain tersebut.
iptables –A FORWARD –p tcp –dport 22 –j REJECT --reject-with icmp-host-unreachable
Ada beberapa tipe pesan yang bisa dikirimkan yaitu icmp-net-unreachable, icmp-host-unreachable, icmp-port-unreachable, icmp-proto-unrachable, icmp-net-prohibited dan icmp-host-prohibited.

c. SNAT Target
Target ini berguna untuk melakukan perubahan alamat asal dari paket (Source Network Address Translation). Target ini berlaku untuk tabel nat pada chain POSTROUTING, dan hanya di sinilah SNAT bisa dilakukan. Jika paket pertama dari sebuah koneksi mengalami SNAT, maka paket-paket berikutnya dalam koneksi tersebut juga akan mengalami hal yang sama.
iptables –t nat –A POSTROUTING –o eth0 –j SNAT --to-source 194.236.50.155-194.236.50.160:1024-32000
d. DNAT Target
Berkebalikan dengan SNAT, DNAT digunakan untuk melakukan translasi field alamat tujuan (Destination Network Address Translation) pada header dari paket-paket yang memenuhi kriteria match. DNAT hanya bekerja untuk tabel nat pada chain PREROUTING dan OUTPUT atau chain buatan yang dipanggil oleh kedua chain tersebut.
iptables –t nat –A PREROUTING –p tcp –d 15.45.23.67 --dport 80 –j DNAT --to-destination 192.168.0.2
e. MASQUERADE Target
Secara umum, target MASQUERADE bekerja dengan cara yang hampir sama seperti target SNAT, tetapi target ini tidak memerlukan option --to-source. MASQUERADE memang didesain untuk bekerja pada komputer dengan koneksi yang tidak tetap seperti dial-up atau DHCP yang akan memberi pada kita nomor IP yang berubah-ubah.
Seperti halnya pada SNAT, target ini hanya bekerja untuk tabel nat pada chain POSTROUTING.
iptables –t nat –A POSTROUTING –o ppp0 –j MASQUERADE
f. REDIRECT Target
Target REDIRECT digunakan untuk mengalihkan jurusan (redirect) paket ke mesin itu sendiri. Target ini umumnya digunakan untuk mengarahkan paket yang menuju suatu port tertentu untuk memasuki suatu aplikasi proxy, lebih jauh lagi hal ini sangat berguna untuk membangun sebuah sistem jaringan yang menggunakan transparent proxy. Contohnya kita ingin mengalihkan semua koneksi yang menuju port http untuk memasuki aplikasi http proxy misalnya squid. Target ini hanya bekerja untuk tabel nat pada chain PREROUTING dan OUTPUT atau pada chain buatan yang dipanggil dari kedua chain tersebut.
iptables –t nat –A PREROUTING –i eth1 –p tcp --dport 80 –j REDIRECT --to-port 3128
Tutuorial Squid bisa dilihat di Instalasi Squid, Banner Filter, Porn Filter, Limit Bandwith, Transparan Proxy bikinan mas Hanny.

4. Penutup

Demikian dasar-dasar dari IPTables beserta komponen-komponennya. Mungkin anda masih agak bingung tentang implementasi dari apa yang telah dijelaskan di atas. Insya Allah dalam tulisan yang akan datang, saya akan memberikan beberapa contoh kasus jaringan yang menggunakan IPTables. Yea.. may I have enough power to do it :)

5. Change Log

5 Agustus 2003
  • Penulisan pertama dokumen ini

6. Referensi

  1. www.netfilter.org
  2. Manual page iptables
  3. Beberapa sumber yang lain, tapi saya lupa :)

Wednesday, May 23, 2012

Tutorial Penggunaan iptables di Linux Ubuntu

Untuk mengetahui dasar iptable silakan buka postingan Tutorial Iptables
Bingung soal iptables, nyoba ngetik iptables -h malah tambah muyek. Akhirnya coba ngumpulin bahan dari berbagai sumber. berikut contoh-contoh penggunaan iptables:

/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -d 0/0 -j MASQUERADE
keterangannya adalah :
-t nat = adalah pembuatan table nat pada iptable
-A POSTROUTING = ini akan menambah satu aturan baru pada bagian postrouting
-s 192.168.0.0/255.255.255.0 = bagian ip address client yang akan di routing antara 0 – 255. bisa juga sich ditulis 192.168.0.0/24
-d 0/0 = bagian ini akan mencari sumber paket keluar. perintah 0/0 artinya akan mencari dalam bentuk global.
-j MASQUERADE = perintah ini akan mengarahkan rantai paket kebagian tertentu tapi tanpa source.

 iptables –t nat –A POSTROUTING –o eth0 –j MASQUERADE
Maksud dari script yakni paket-paket yang berasal dari kartu jaringan lokal (eth1, eth2, dst) akan  diteruskan ke kartu jaringan yang mengarah ke WAN/internet (eth0).

iptables –t nat –A PREROUTING –p tcp –s 10.10.1.0/24 – -dport 80 –j REDIRECT – -to-port 3128
Dengan skrip iptables diatas, maka semua paket yang berasal dari port 80 akan dibelokkan ke port 3128 (port Squid). Sehingga paket akan dipaksa melewati Squid, sehingga bisa tersaring.

Catatan:
Setelah selesai, jangan lupa masukkan script tersebut di file /etc/rc.local, agar saat komputer hidup scriptnya dijalankan secara otomatis, ketik saja:
 nano /etc/rc.local
sisipkan script-cript di atas sebelum baris exit 0.
"Hasil browsing dipandu mbah google"

Squd dan web proxy, Squid Sebagai Proxy Server Di Ubuntu Server 10.10


Apa itu squid dan web proxy bagi anda mencari tau segala sesuatu tentang squid kayaknya sumber wikipedia ini (23 Mei 2012) saya rasa cukup memberi pencerahan.
"Squid adalah sebuah daemon yang digunakan sebagai proxy server dan web cache. Squid memiliki banyak jenis penggunaan, mulai dari mempercepat server web dengan melakukan caching permintaan yang berulang-ulang, caching DNS, caching situs web, dan caching pencarian komputer di dalam jaringan untuk sekelompok komputer yang menggunakan sumber daya jaringan yang sama, hingga pada membantu keamanan dengan cara melakukan penyaringan (filter) lalu lintas. Meskipun seringnya digunakan untuk protokol HTTP dan FTP, Squid juga menawarkan dukungan terbatas untuk beberapa protokol lainnya termasuk Transport Layer Security (TLS), Secure Socket Layer (SSL), Internet Gopher, dan HTTPS. Versi Squid 3.1 mencakup dukungan protokol IPv6 dan Internet Content Adaptation Protocol (ICAP).
Squid pada awalnya dikembangkan oleh Duane Wessels sebagai "Harvest object cache", yang merupakan bagian dari proyek Harvest yang dikembangkan di University of Colorado at Boulder. Pekerjaan selanjutnya dilakukan hingga selesai di University of California, San Diego dan didanai melalui National Science Foundation. Squid kini hampir secara eksklusif dikembangkan dengan cara usaha sukarela.
Squid umumnya didesain untuk berjalan di atas sistem operasi mirip UNIX, meski Squid juga bisa berjalan di atas sistem operasi Windows. Karena dirilis di bawah lisensi GNU General Public License, maka Squid merupakan perangkat lunak bebas.
Web proxy
Caching merupakan sebuah cara untuk menyimpan objek-objek Internet yang diminta (seperti halnya data halaman web) yang bisa diakses melalui HTTP, FTP dan Gopher di dalam sebuah sistem yang lebih dekat dengan situs yang memintanya. Beberapa penjelajah web dapat menggunakan cache Squid lokal untuk sebagai server proxy HTTP, sehingga dapat mengurangi waktu akses dan juga tentu saja konsumsi bandwidth. Hal ini sering berguna bagi para penyedia layanan Internet untuk meningkatkan kecepatan kepada para pelanggannya, dan LAN yang membagi saluran Internet. Karena memang bentuknya sebagai proxy (ia berlaku sebagaimana layaknya klien, sesuai dengan permintaan klien), web cache bisa menyediakan anonimitas dan keamanan. Tapi, web cache juga bisa menjadi masalah yang signifikan bila melihat masalah privasi, karena memang ia dapat mencatat banyak data, termasuk URL yang diminta oleh klien, kapan hal itu terjadi, nama dan versi penjelajah web yang digunakan klien serta sistem operasinya, dan dari mana ia mengakses situs itu.
Selanjutnya, sebuah program klien (sebagai contoh adalah penjelajah web) bisa menentukan secara ekplisit proxy server yang digunakan bila memang hendak menggunakan proxy (umumnya bagi para pelanggan ISP) atau bisa juga menggunakan proxy tanpa konfigurasi ekstra, yang sering disebut sebagai "Transparent Caching", di mana semua permintaan HTTP ke jaringan luar akan diolah oleh proxy server dan semua respons disimpan di dalam cache. Kasus kedua umumnya dilakukan di dalam perusahaan dan korporasi (semua klien berada di dalam LAN yang sama) dan sering memiliki masalah privasi yang disebutkan di atas.
Squid memiliki banyak fitur yang bisa membantu melakukan koneksi secara anonim, seperti memodifikasi atau mematikan beberapa field header tertentu dalam sebuah permintaan HTTP yang diajukan oleh klien. Saat itu terpenuhi, apa yang akan dilakukan oleh Squid adalah tergantung orang yang menangani komputer yang menjalankan Squid. Orang yang meminta halaman web melalui sebuah jaringan yang secara transparan yang menggunakan biasanya tidak mengetahui bahwa informasi semua permintaan HTTP yang mereka ajukan dicatat oleh Squid."

Selanjutnya artikel yang bersumber dari: kurniawanadam.wordpress.com ini membahas tentang bagaimana mengimplementsikan Ubuntu server sebagai Proxy server.  Disana dijelaskan tentang:
  1. Pengertian squid.
  2. Instalasi
  3. Konfigurasi
Kalau mau tau lebih jelasnya silahkan kunjungi sebdiri blognya.

Share Tutorial pfSense

Masih seperti biasa yuzank lagi jalan-jalan alias mengembara, ketika sampai di suatu kampung yuzank mampir dulu. ternyata hidangan di kampung itu sangat bermanfaat, Supaya ga cuma saya yang menikmatinya akan saya share sama temen-temen sekalian. Seputar pfSense yang di bahas di imroninfo.blogspot.com yaitu:
  1. Install Samba di Pfsense 2.0.1
  2. Create user in pfSense and samba user, Create user in pfSense OpenBSD
  3. Mengatasi Error Youtube dgn Squid - storeurl.pl
  4. Original squid.conf pfsense
  5. PfSense 2 Harddisk atau Lebih
  6. Install Lusca Cache di pfsense 2.0 AMD64 error "pfsense squid_radius_auth-1.10 failed!"
  7. Menambah Harddisk Baru di Pfsense
  8. File ekstension untuk squid delay pool (throttle_exts.acl
  9. Custom Option ku pd pfsense
  10. Memperlambat Laju Video pada PfSense
  11. Akses WebConfigurator/Server dari Internet dengan PF 2.0 RC1
  12. pfSense : Tuning Squid from loader
  13. pfsense : Lusca cacheboy
  14. pfSense : Tuning Squid from loader
  15. How to configure squid to use a separate hard drive as its cache
  16. pfSense : Remove F1 Boot Prompt
  17. squid untuk menggunakan hard drive yang terpisah sebagai cache
  18. Throttle other extensions (acl)
  19. pfSense snapshot server
  20. pfSense 2.0 Untuk Hotspot, Warnet, Game nline

                                      Tuesday, May 22, 2012

                                      Seputar Squid

                                      yuzank.blogspot.com

                                      Tertarik mempelajari tentang squid, saya sering browsing tentang konfigurasi squid tapi ya belum mudeng-mudeng juga sampe sekarang <geblek/>.
                                      Tapi bagi anda yang sedang mempelajari squid mungkin link ini bisa jadi bahan referensi. disana dibahas tentang:

                                      1. SQUID – Delay POOLS
                                      2. Pembatasan badwith dengan Squid
                                      3. squid remove hackshield PointBlank
                                      4. Squid.conf di pfSense agar tak berubah setelah reboot
                                      5. Lusca -> Custom Options
                                      6. Squid Delay Pool
                                      7. Manajemen Bandwidth Di Squid Menggunakan Delay Pools
                                      8. Pembagian Bandwidth untuk Game Online
                                      9. How can I make Squid NOT cache some servers or URLs?
                                      Semoga bermanfaat.

                                      Monday, May 7, 2012

                                      squid-2.6.STABLE12 (Installasi dan konfigurasi sebagai proxy filtering, cache server, dan bandwidth limiter)


                                      Dalam artikel ini menggunakan squid 2.6 STABLE 12. Berikut adalah cara installasi squid paket tarball. Selalu menggunakan root user dalam meng-install.

                                      root# tar xfvz squid-2.6.STABLE12.tar.gz -C /usr/local/share
                                      root# cd /usr/local/share
                                      root# ./configure --prefix=/usr/local/squid --sysconfdir=/etc/ --sbindir=/usr/local/squid/sbin --bindir=/usr/local/squid/sbin --enable-linux-netfilter --enable-delay-pools --enable-snmp --enable-cache-digest --enable-useragent-log --enable-arp-acl --enable -gnuregex --enable-icmp --enable-htcp --enable-ssl --enable-large-cache-files --enable-carp --with-pthreads --enable-removal-policies=heap --enable-arp-acl --with-large-files --enable-forw-via-db --enable-leakfinder --enable-storeio=diskd,ufs --enable-truncate --enable-err-languages=English --enable-default-err-languages=English
                                      root# make
                                      root# make install

                                      Apabila sudah diinstall maka yang perlu diperhatikan adalah letak dari file squid.conf yang ada di /etc/squid.conf dan letak file-file yang dibutuhkan squid di /usr/local/squid/.

                                      Buat direktori cache:
                                      root# mkdir --mode=777 /usr/local/squid/var/cache/
                                      root# chown -Rf squid:squid /usr/local/squid/var/cache/

                                      Buat user squid:
                                      root# useradd –d /usr/local/squid/var/cache/ -r –s /dev/null squid >/dev/null 2>&1

                                      Buat file kosong access.log dan cache.log:
                                      root# touch /usr/local/squid/var/logs/access.log
                                      root# touch /usr/local/squid/var/logs/cache.log
                                      root# chown -Rf squid:squid /usr/local/squid/var/logs/
                                      root# chmod -Rf 777 /usr/local/squid/var/cache/

                                      Download file squid.conf.tar.gz di sini. Lalu ekstrak file tersebut di /etc/.
                                      root# tar xfvz squid.conf.tar.gz -C /etc/

                                      Setelah meng-ekstrak file squid.conf.tar.gz di /etc/ langkah selanjutnya adalah membuat direktori /usr/local/squid/etc/squid/. Direktori ini akan menjadi tempat rule file manajemen akses untuk browsing dari client.
                                      root# cd /usr/local/squid
                                      root# mkdir etc
                                      root# mkdir squid
                                      root# chown -Rf squid:squid /usr/local/squid/etc/

                                      Langkah selanjutnya adalah membuat rule berupa file-file yang isinya adalah nama-nama domain yang kita ijinkan/tidak untuk di browsing oleh komputer client. Atau untuk lebih gampangnya silahkan download file-file tersebut disini. Kemudian ekstrak file tersebut di /usr/local/squid/etc/squid/. Setelah di ekstrak akan berisi 8 file dengan nama masing-masing: domains_agressif, domains_hacking, domains_warez, noporn, porn, urls_agressif, urls_hacking, dan urls_warez. Ubah kepemilikan file-file tersebut:
                                      root# chown -Rf squid:squid /usr/local/squid/etc/

                                      File-file ini berhubungan dengan blok konfigurasi "Manajemen Akses" di /etc/squid.conf. Penjelasan, dalam blok "Manajemen Akses" ada baris sbb:
                                      acl porn url_regex "/usr/local/squid/etc/squid/porn"
                                      http_access deny porn

                                      Maksudnya adalah kita membuat acl atau rule pada URL address yang dibuka di komputer client yang melewati proxy, dengan rule yang disimpan pada /usr/local/squid/etc/squid/porn. Pada baris kedua, http_access deny [nama_acl] berarti menolak semua list domain yang telah dideklarasikan oleh 'acl [nama_acl]', apabila komputer-komputer client membuka salah satu rule pada file porn (nama_acl), yang terletak di /usr/local/squid/etc/squid/.

                                      Begitu pula sebaliknya, masih dalam blok "Manajemen Akses" sbb:
                                      acl noporn url_regex "/usr/local/squid/etc/squid/noporn"
                                      http_access allow noporn

                                      Berarti kita membuat acl dengan nama 'noporn' dan rule-nya disimpan di /usr/local/squid/etc/squid/noporn. Sedangkan http_access allow [nama_acl] adalah syntax untuk mengijinkan komputer client membuka rule [nama_acl].

                                      Blok "Manajemen Akses" di /etc/squid.conf ini berfungsi sebagai filtering browsing. Hal ini berlaku pada komputer client yang melewati proxy squid. Ini dapat mencegah user pada client membuka alamat situs-situs yang tidak kita inginkan untuk dibuka.

                                      Untuk menjalankan squid untuk pertama kali kita harus membuat cache terlebih dahulu dengan perintah:
                                      root# /usr/local/squid/sbin/squid -z

                                      Apabila pada saat pembentukan cache kita mengalami masalah folder cache tidak bisa ditulis oleh squid, maka cek kembali hak kepemilikan terhadap file tersebut. Atau lakukan perintah dibawah ini, serta ulangi langkah diatas.
                                      root# chown -Rf squid:squid /usr/local/squid/*

                                      Cek apakah service squid sudah berjalan, dengan perintah:
                                      root# /usr/local/squid/sbin/squid -NCdl

                                      atau dengan perintah:

                                      root# /usr/local/squid/sbin/squid -sYD

                                      Jika ditemukan kesalahan konfigurasi akan terlihat dengan perintah ini. Jika konfigurasi sudah fix, silahkan terminate squid dengan menekan Ctrl+C. Kemudian jalankan squid dengan perintah:
                                      root# /usr/local/squid/sbin/squid -D

                                      Apabila kita ingin squid jalan setiap kali kompi restart, ketikan command berikut:
                                      root# echo "/usr/local/sbin/squid -z" >> /etc/rc.local
                                      root# echo "/usr/local/sbin/squid start" >> /etc/rc.local

                                      Bandwidth Limiter dengan Delay Pools (2)

                                      Pada installasi squid di artikel sebelumnya saya membuat satu blok script dengan nama Parameter Delaypool pada file /etc/squid.conf, berikut ini cuplikannya:

                                      #--------------------------------------------------------------------------
                                      # Parameter Delaypool
                                      #--------------------------------------------------------------------------
                                      acl dadhee src 192.168.0.111/255.255.255.255 # Access Control List dengan nama dadhee
                                      acl server src 192.168.0.254/255.255.255.255 # acl dengan nama server
                                      acl umum src 192.168.0.0/255.255.255.0
                                      acl fenti src 192.168.0.11

                                      acl TIME time SMTWHFA 08:00-17:00 # acl dengan nama TIME [nama_hari] [waktu_akses]

                                      acl download url_regex -i ftp \.exe$ \.mp3$ \.mp4$ \.tar.gz$ \.gz$ \.tar.bz2$ \.rpm$ \.zip$ \.rar$
                                      acl download url_regex -i ftp \.mp3$ \.mp4$ \.tar.gz$ \.gz$ \.tar.bz2$ \.rpm$ \.zip$ \.rar$
                                      acl download url_regex -i \.avi$ \.mpg$ \.mpeg$ \.rm$ \.iso$ \.wav$ \.mov$ \.dat$ \.mpe$ \.mid$
                                      acl download url_regex -i \.midi$ \.rmi$ \.wma$ \.wmv$ \.ogg$ \.ogm$ \.m1v$ \.mp2$ \.mpa$ \.wax$
                                      acl download url_regex -i \.m3u$ \.asx$ \.wpl$ \.wmx$ \.dvr-ms$ \.snd$ \.au$ \.aif$ \.asf$ \.m2v$
                                      acl download url_regex -i \.m2p$ \.ts$ \.tp$ \.trp$ \.div$ \.divx$ \.mod$ \.vob$ \.aob$ \.dts$
                                      acl download url_regex -i \.ac3$ \.cda$ \.vro$ \.deb$

                                      delay_pools 4

                                      delay_class 1 1
                                      delay_parameters 1 -1/-1
                                      delay_access 1 allow dadhee
                                      delay_access 1 allow server
                                      delay_access 1 deny all

                                      # bandwidth 8 kbytes/sec, bila file yang diakses melebihi 64Kbte
                                      delay_class 2 2
                                      delay_parameters 2 8000/8000 1000/64000
                                      delay_access 2 allow umum
                                      delay_access 2 allow download TIME
                                      delay_access 2 deny all

                                      # bandwidth unlimited
                                      delay_class 3 1
                                      delay_parameters 3 -1/-1
                                      delay_access 3 allow umum
                                      delay_access 3 allow download !TIME
                                      delay_access 3 deny all

                                      # bandwidth 4 kbytes/sec, bila file yang diakses melebihi 32 Kbyte
                                      delay_class 3 1
                                      delay_parameters 3 4000/32000
                                      delay_access 3 allow fenti
                                      delay_access 3 allow download TIME
                                      delay_access 3 deny all

                                      Penjelasan:
                                      delay_pools [jumlah delay_pools]
                                      Adalah pen-deklarasian berapa delay_pools yang akan kita buat.
                                      delay_class
                                      Adalah pen-deklarasian mengenai class pembagian bandwidth dari setiap pool. Dengan syarat 1 pool hanya boleh memiliki 1 class.
                                      Berikut adalah pembagian class bagaimana cara membagi bandwidth:
                                      Class 1:
                                      Bandwidth yang tersedia akan diberikan sama rata kepada setiap user squid.
                                      Contoh: apabila total bandwidth 256 kbps, maka akan dipakai bersama untuk keperluan browsing.
                                      Class 2:
                                      Bandwidh yang tersedia akan dibatasi untuk keperluan download dan sisanya digunakan untuk keperluan browsing secara bersama oleh user-user squid.
                                      Contoh: apabila total bandwidth 256 kbps, Dipakai 64 kbps untuk keperluan download dan sisanya 192 kbps untuk keperluan browsing.
                                      Class 3:
                                      Bandwidth yang tersedia akan dibatasi menurut jumlah network yang terkoneksi. Dan tiap-tiap user squid dalam wilayah network tersebut akan menerima sama rata sesuai dengan total bandwidth per network.
                                      Contoh: Misal total bandwidth 256 kbps, 64 kbps dipakai untuk browsing dan sisanya dipakai untuk keperluan lain. Dalam jaringan terbagi 3 network, A(192.168.1.0/24), B(192.168.2.0/24) dan C(192.168.3.0/24). Misal oleh admin jatah tiap-tiap network tersebut 64 kbps. Maka,
                                      User-user yang online pada net A akan mendapat bandwidth sama besar dari total 64 kbps.
                                      User-user yang online pada net B akan mendapat bandwidth sama besar dari total 64 kbps.
                                      User-user yang online pada net C akan mendapat bandwidth sama besar dari total 64 kbps.
                                      misal:
                                      delay_class 1 2 # pool 1 menggunakan type class 2
                                      delay_class 2 3 # pool 2 menggunakan type class 3

                                      delay_access [nama_acl]
                                      Memberikan batasan siapa saja yang diperbolehkan menggunakan delay pools ini dengan memanggil nama bagian acl (Access Control List). Dengan catatan setelah menentukan batasan jangan lupa akhiri dengan 'deny all'.
                                      Contoh:
                                      delay_access 1 allow dadhee
                                      delay_access 1 deny all
                                      delay_access 2 allow admin
                                      delay_access 2 deny all

                                      delay_parameters
                                      Ini adalah rule terpenting dari delay_pools, mempunyai format yang disesuaikan dengan class yang dipakai. Di setiap tipe yang dipakai hanya ada satu aturan main yaitu restore/max.
                                      restore adalah indikator maksimum kecepatan data yang dapat dilewatkan bila harga max sudah terlampaui, dalam satuan bytes/second.
                                      max adalah besarnya file yang dapat dilewatkan tanpa melewati proses delay, dalam satuan bytes.
                                      Misalkan:
                                      Class 1:
                                      delay_parameter [pool individual]
                                      Contoh: delay_parameters 1 1000/128000
                                      Berarti semua network akan mendapatkan bandwidth yang sama di pool nomor 1. Sebesar 1 kbytes/second atau setara dengan 8 kbps dengan burstable (maks bandwidth yang dapat diakses) sebesar 128 kb.
                                      Class 2:
                                      Contoh: delay_parameters 1 64000/64000 1000/128000
                                      Berarti squid akan memakai bandwidth maksimum (64000*8) sama dengan 512 kbps dari semua bandwidth. Apabila terdapat network yang berbeda, maka total yang dihabiskan tetap 512 kbps dan tiap user akan mendapat bandwidth maksimum 1 kbytes.second (8 kbps), dengan burstable 64 kb.
                                      Class 3:
                                      Contoh: delay_parameters 1 32000/32000 8000/8000 1000/128000
                                      Berarti squid akan memakai bandwidth maksimum (32000*8) sama dengan 256 kbits dari semua bandwidth. Apabila terdapat lebih dari satu network, maka setiap network akan dipaksa maksimum (8000*8) sama dengan 64 kbps dan tiap user pada satu network akan mendapat bandwidth maksimum 1 kbytes/sec (8 kbps), dengan burstable 64 kb.

                                      CATATAN:
                                      1 byte = 8 bit.

                                      Waktu akses:
                                      Penjelasan pada baris:
                                      acl TIME time SMTWHFA 08:00-17:00
                                      Adalah bentuk acl pewaktuan yang dimana SMTWHFA berarti:
                                      S=Sunday, M=Monday, T=Tuesday, dan seterusnya
                                      Bentuk baris acl TIME time SMTWHFA 08:00-17:00 harus diikuti dengan:
                                      delay_access [delay_pools] allow [nama_acl_download] TIME untuk memperbolehkan menggunakan fasilitas download berlaku selama 7 hari dan dengan batasan waktu dari jam 08:00 sampai 17:00. Atau delay_access [delay_pools] deny [nama_acl_download] TIME untuk menolak menggunakan fasilitas download pada waktu yang sudah ditentukan.