Implementasi Penggunaan PCQ Bagi ISP Untuk Mendapatkan Hasil Yang Maksimal
Melihat banyaknya pertanyaan mengenai pembagian sharing bandwith yang adil dan yang pasti bisa membatasi semua jenis trafik baik IDM maupun P2P sehingga gak perlu takut kecolongan, saya coba untuk mensharing CMIIW 
Konfigurasi Jaringan :
Public — (10.0.0.1/24) MT (192.168.1.1/24)— Local
Skenarionya kaya gini :
Client 192.168.1.10 — Bandwidth 512kbps 1:1 (corporate)
(512k up / 512 down)
Client 192.168.1.20, 21, 22, 23 — Bandwidth 384kbps 1:4 (personal)
(64k up / 384 down)
Pertama-tama lakukan mangle :
Untuk trafik upload corporate
/ip firewall mangle add chain=prerouting src-address=192.168.1.10 in-interface=Local action=mark-packet new-packet-mark=corporate-up passthrough=no
Untuk trafik download corporate
/ip firewall mangle add chain=forward src-address=192.168.1.10 action=mark-connection new-connection-mark=corporate-conn passthrough=yes
/ip firewall mangle add chain=forward connection-mark=corporate-conn in-interface=Public action=mark-packet new-packet-mark=corporate-down passthrough=no
Untuk trafik upload personal
/ip firewall mangle add chain=prerouting src-address=192.168.1.20 in-interface=Local action=mark-packet new-packet-mark=personal-up passthrough=no
/ip firewall mangle add chain=prerouting src-address=192.168.1.21 in-interface=Local action=mark-packet new-packet-mark=personal-up passthrough=no
/ip firewall mangle add chain=prerouting src-address=192.168.1.22 in-interface=Local action=mark-packet new-packet-mark=personal-up passthrough=no
/ip firewall mangle add chain=prerouting src-address=192.168.1.23 in-interface=Local action=mark-packet new-packet-mark=personal-up passthrough=no
Untuk trafik download personal
/ip firewall mangle add chain=forward src-address=192.168.1.20 action=mark-connection new-connection-mark=personal-conn passthrough=yes
/ip firewall mangle add chain=forward src-address=192.168.1.21 action=mark-connection new-connection-mark=personal-conn passthrough=yes
/ip firewall mangle add chain=forward src-address=192.168.1.22 action=mark-connection new-connection-mark=personal-conn passthrough=yes
/ip firewall mangle add chain=forward src-address=192.168.1.23 action=mark-connection new-connection-mark=personal-conn passthrough=yes
/ip firewall mangle add chain=forward connection-mark=personal-conn in-interface=Public action=mark-packet new-packet-mark=personal-down passthrough=no
Harpa diperhatikan untuk mark-packet maka passthrough=no sedangkan untuk mark-connection passthrough=yes
Nah setelah beres urusan mangling ini, kita lanjut ke pembuatan queue tree :
/queue tree add name=down parent=Local queue=default
/queue tree add name=up parent=global-in queue=default
untuk download kita menggunakan in-interface kita dalam hal ini Local, sedangkan untuk upload kita menggunakan global-in
selanjutnya kita tambahkan type baru di queue kita :
yang harus kita tambahkan melihat skenario diatas adalah PCQ untuk paket corporate 512kbps (1:1) dan paket personal 384kbps (1:4).
Untuk paket corporate kita langsung menetapkan angka 512kbps, sedangkan untuk personal kita tidak dapat menetapkan angka disini karena bandiwdth yang akan diterima oleh paket personal tergantung seberapa banyak user yang online, jadi jika hanya 1 orang online akan mendapatkan bw penuh 384kbps, kalau 2 orang online maka masing-masing akan mendapatkan 192kbps dan seterusnya.
/queue type add name=512-down kind=pcq pcq-rate=512k pcq-classifier=dst-address pcq-total-limit=2000
/queue type add name=512-up kind=pcq rate=512k pcq-classifier=src-address pcq-total-limit=2000
/queue type add name=auto-down kind=pcq pcq-rate=0 pcq-classifier=dst-address pcq-total-limit=2000
/queue type add name=auto-up kind=pcq rate=0 pcq-classifier=src-address pcq-total-limit=2000
kita menggunakan 0 pada paket personal karena MT akan menghitung berapa besar bw yang tersedia pada saat client melakukan koneksi.
Nah setelah itu kita kembali ke queue tree dan menambahkan :
Paket corporate
/queue tree add name=corp-down packet-mark=corporate-down parent=down queue=512-down
/queue tree add name=corp-up parent=up packet-mark=corporate-up queue=512-up
Paket personal
/queue tree add name=per-down packet-mark=personal-down parent=down queue=auto-down max-limit=384k
/queue tree add name=per-up parent=up packet-mark=personal-up queue=auto-up max-limit=64k
Done.
Setelah melakukan semua hal ini silahkan dociba gunakan aplikasi P2P ataupun downloader, seharusnya semuanya sudah dapat ter-shaping dengan baik 
Settingan diatas cocok diterapkan buat konfigurasi seperti diterangkan diatas, tanpa menggunakan proxy internal MT dan hanya 2 interface, untuk penggunakan proxy internal dan lebih banyak interface diperlukan sedikit perubahan dan penambahan pada script diatas 
Btw, otw… kok ini kepotong yah pas dipindahin, ini jadinya ditambahin lagih CMIIW 
Mikrotik dengan Squid Proxy
I. PERSIAPAN DAN DEFINISI DELAY POOLS
Gambaran Umum Delay Pools:
Delay Pools adalah untuk mengkonfigurasikan squid dengan pengaturan bandwidth berdasarkan kriteria tertentu.
Siapkan PC dengan kemampuan lebih, seperti :
1. P4 @ 2 Ghz cukup
2. harddisk cukup kecil saja sekitar 40 Gb 7200 rpm
2. Memory 512 (semakin besar semakin bagus, cachenya agar tidak “tumpah” ke harddisk)
3. Linux Distro (Ubuntu, Fedora Core, Slackware)
4. Squid-cache bisa download lewat: http://www.squid-cache.org/ downloadlah versi terbaru paling stabil (squid2.6 stable 12,saat diketik tulisan ini)
5. Konfigurasi network yang akan digunakan adalah:
….INET—-SWITCH—-MIKROTIK—CLIENT
…………………..|
…………………..——–SQUIDBOX
II. INSTALASI SQUID
A.DOWNLOAD SQUID
Untuk memudahkan instalasi maka, LinuxBox harus sudah bisa terhubung ke internet untuk mendownload langsung sourcenya dengan perintah:
PS: Menggunakan distro Ubuntu
untuk check directory aktif
admin@squidbox:~$ pwd/home/admin
untuk download langsung dari web squidcache
admin@squidbox:~$ wget http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE12.tar.gz
untuk menginstall package squid
admin@squidbox:~$ tar -zxvf squid-2.6.STABLE12.tar.gzadmin@squidbox:~$ cd squid-2.6.STABLE12/admin@squidbox:~/squid-2.6.STABLE12$ pwd/home/admin/squid-2.6.STABLE12
B.KONFIGURASI SQUID
sampai sini instalasi squid sudah beres, sekarang memberikan hak akses untuk normal user agar untuk menjalankan squid jika perlu di reboot atau maintenace tidak perlu dari user root.
admin@squidbox:~/squid-2.6.STABLE12$ sudo useradd -d /usr/local/squid/ -r -s /dev/null squid > /dev/null 2>&1
sekarang kita mengkonfigurasi agar squid kita bisa memanfaatkan delay-pools dan juga mengaktifkan SNMP untuk MRTG dan ICMP
admin@squidbox:~/squid-2.6.STABLE12$ ./configure –prefix=/home/admin/squid-2.6.STABLE12 \ –exec-prefix=/home/admin/squid-2.6.STABLE12 –enable-gnuregex \ –enable-icmp –enable-snmp \ –enable-delay-pools –enable-cache-diggest \ –enable-removal-policies=heap –enable-default-err-languages=English \ –enable-err-languages=English –enable-async-io=24 \ –with-aufs-threads=24 –with-pthreads \ –with-aio –with-dl \ –enable-storeio=aufs,diskd –enable-epoll \ –enable-kill-parent-hack –disable-ident-lookups \ –disable-wccp –disable-wccpv2 \ –enable-htcp
untuk informasi lebih jelas konfigurasi dan compile squid bisa lihat kesini:
http://wiki.squid-cache.org/SquidFaq/CompilingSquid
http://wiki.squid-cache.org/SquidFaq/ConfiguringSquid
untuk prefix dan exec-prefix disesuaikan dengan directory squidnya.
C.MENGKOMPILE DAN INSTALASI SQUID
setelah konfigurasi awal di atas selesai maka kita bisa mengkompile nya dengan perintah:
admin@squidbox:~/squid-2.6.STABLE12$ makeadmin@squidbox:~/squid-2.6.STABLE12$ sudo make install
III.Konfigurasi squid.conf
A.Penjelasan Delay Pools dan parameternya
Untuk Penjelasan Mengenai Delay Pools bisa ke thread ini, karena kalau terlalu panjang Tutsnya nanti malah jadi Boring dan Pusing. ^^
http://www.forummikrotik.com/showthr…ted=1#post1608
B. Mengedit Squid.conf
Untuk mengedit konfigurasi squid.conf dapat memberikan perintah sebagai berikut:
admin@squidbox:~/squid-2.6.STABLE12$ sudo nano /home/admin/squid-2.6.STABLE12/etc/squid.conf
Konfigurasi default dan optimalisasi squid.conf:
http_port 3128hierarchy_stoplist cgi-bin ?acl QUERY urlpath_regex cgi-bin \? # LOGFILE PATHNAMES AND CACHE DIRECTORIES# —————————————————————————–cache_dir diskd /home/admin/squid-2.6.STABLE12/var/cache 1000 8 256 # << Sesuaikan dengan kebutuhan andaaccess_log /home/admin/squid-2.6.STABLE12/var/logs/access.log squidcache_log /home/admin/squid-2.6.STABLE12/var/logs/cache.loglog_fqdn offbuffered_logs off # OPTIONS FOR TUNING THE CACHE# —————————————————————————–refresh_pattern /.gif 4320 50% 43200refresh_pattern /.jpg 4320 50% 43200refresh_pattern /.jpeg 4320 50% 43200refresh_pattern /.png 4320 50% 43200refresh_pattern ^http://www.friendster.com/.* 720 100% 10080refresh_pattern ^http://mail.yahoo.com/.* 720 100% 10080refresh_pattern ^http://*.yahoo.*/.* 720 100% 7200refresh_pattern ^http://*.google.com/.* 720 100% 10080refresh_pattern ^http://www.telkomspeedy.com/.* 720 100% 28800refresh_pattern ^http://*.blogsome.com/.* 720 80% 10080refresh_pattern ^http://*.wordpress.com/.* 720 80% 10080refresh-pattern ^http://detik.com/.* 720 90% 2880refresh_pattern ^ftp: 14400 90% 43200 reload-into-imsrefresh_pattern ^gopher: 1440 0% 1440refresh_pattern . 0 20% 4320 reload-into-ims quick_abort_min 0 KBquick_abort_max 0 KBquick_abort_pct 95 # ACCESS CONTROLS# —————————————————————————–acl my_network src 192.168.1.0/24acl SSL_ports port 443 563#acl Safe_ports port 280 # http-mgmtacl Safe_ports port 443 563 # https#acl Safe_ports port 488 # gss-http#acl Safe_ports port 591 # filemaker#acl Safe_ports port 777 # multiling httphttp_access allow manager localhost my_networkhttp_access allow my_network acl download url_regex -i \.mp3acl download url_regex -i \.3gpacl download url_regex -i \.aviacl download url_regex -i \.mpgacl download url_regex -i \.mpegacl download url_regex -i \.wavacl download url_regex -i \.flvacl download url_regex -i \.swf # DELAY POOL PARAMETERS (all require DELAY_POOLS compilation option)# —————————————————————————–delay_pools 2delay_class 1 3delay_parameters 1 -1/-1 -1/-1 8000/8000delay_access 1 allow my_network downloaddelay_access 1 deny alldelay_class 2 2delay_parameters 2 -1/-1 -1/-1delay_access 2 allow my_networkdelay_access 2 deny all # ADMINISTRATIVE PARAMETERS# —————————————————————————–cache_effective_user squid # MISCELLANEOUS# —————————————————————————–logfile_rotate 5reload_into_ims onstore_dir_select_algorithm round-robin # ADMINISTRATIVE PARAMETERS# —————————————————————————–cache_mgr youremail@host.comvisible_hostname localhost
IV. Menjalankan Squid-cache
A. Membuat swap cache
[root@squidbox]#/usr/local/squid/sbin/squid -z
B. Mengaktifkan Squid di Foreground task
ghoz@ghoz-desktop:~/squid-2.6.STABLE12$ home/ghoz/squid-2.6.STABLE12/sbin/squid -SNDghoz@ghoz-desktop:~/squid-2.6.STABLE12$ home/ghoz/squid-2.6.STABLE12/sbin/squid start
C. Monitoring TCP squidBox
admin@squidbox:~/squid-2.6.STABLE12$ sudo netstat -pln | grep squid
Bila tampilan ada yang persis seperti dibawah ini, berarti squid telah berjalan.
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 18047/(squid) udp 0 0 0.0.0.0:3130 0.0.0.0:* 18047/(squid) udp 0 0 0.0.0.0:3401 0.0.0.0:* 18047/(squid) udp 0 0 0.0.0.0:4827 0.0.0.0:* 18047/(squid) udp 0 0 0.0.0.0:32992 0.0.0.0:* 18047/(squid)
Untuk pengecekan, maka client dicoba untuk browsing, jika ada data in/out maka proses pembuatan transparant proxy sudah berhasil.
Mikrotik dan Squid Proxy
Instalasi Jaringan untuk Warnet dengan Mikrotik dan Proxy .
Intro
Instalasi Mikrotik sebagai bandwidth management dengan Squid Proxy Server
Bisa dipergunakan untuk Warnet, Laboratorium Perguruan tinggi atau Sekolah
Persiapan
Percobaan saat dilakukan dengan menggunakan PC, uraian spesifikasinya sbb:
o Spesifikasi Mesin Proxy pake CentOs 4.4
- Prosesor Pentium 4 Cpu Clock 2.4 Ghz
- RAM 512 MB
- Harddisk 40 GB
- satu buah Card LAN Dlink
o Spesifikasi Mesin Mikrotik
- Prosesor Pentium III Cpu Clock 1,3 Ghz
- RAM 256 MB
- Harddisk 40 GB
- 2 Card LAN Dlink + 1 prolink
Mesin silahkan disesuaikan sesuai kondisi yang ada.
(a) Skema/topologi jaringan
Asumsi:
Koneksi Internet dengan menggunakan xDSL menggunakan modem, bisa lewat
infrastuktur telkom atau provider lainnya. Untuk koneksi melalui provider
wireless bisa disesuaikan.
_(o--+ ____| | / | Telpon | _/ -( +--[_] Splitter | | +----+ +---| | Modem xDSL +--*-+ (1)| +---+ | | | (3) | | +|---------+ | +-----+ | |. . . . . | | a| | | +--|-|-|-|-+ +---|=====| | | | | | | | | | | | | | |---+ +-|-|-|--[client 1] +----| |b +-|-|------------[client 2] | c| | +-|----------------------[client 3] | L-----J +--------[client n] | (2) d| +-----+ | | (4) |=====| | | | | | | | | L-----J
Keterangan skema
(1) = Modem xDSL (Ip Address : 192.168.1.1/24)
(2) = Mikrotik Box dengan 3 ethernet card yaitu a (publik), b (local) dan c (Proxy)
(3) = Switch
Untuk sambungan ke Client. Asumsi Client Jumlahnya 20 Client
Range Ip Address : 192.168.0.0/27
Alokasi Ip Client = 192.168.0.1-192.168.0.30
Ip Net ID : 192.168.0.0/27
Ip Broadcast : 192.168.0.31/27
(4) = Proxy Server Box
(b) Alokasi IP Address
[*] Mikrotik Box
Keterangan Skema
a = ethernet card 1 (Publik) -> Ip Address : 192.168.1.2/24
b = ethernet card 2 (Local) -> Ip Address : 192.168.0.30/27
c = ethernet card 3 (Proxy) -> Ip Address : 192.168.2.1/30
Gateway : 192.168.1.1 (ke Modem)
[*] Client
Client 1 – Client n, Ip Address : 192.168.0.n …. n (1-30)
Contoh:
Client 6
Ip Address : 192.168.0.6/27
Gateway : 192.168.0.30 (ke Mikrotik Box)
[*] Linux untuk Proxy
d = ethernet card 4 (Linux) -> Ip Address : 192.168.2.2/30
Gateway : 192.168.2.1/30 (ke ethernet 3 di Mikrotik)
CATATAN :
- Angka dibelakang Ip address ( /27) sama dengan nilai netmasknya
untuk angka (/27) nilainya sama dengan 255.255.255.224.
Untuk Sub Netmask blok ip address Local kelas C, dapat diuraikan
sebagai berikut :
Subnetmask kelas C
——————-
255.255.255.0 = 24 -> 254 mesin
.. .128 = 25 -> 128 mesin
.. .192 = 26 -> 64 mesin
.. .224 = 27 -> 32 mesin
.. .240 = 28 -> 16 mesin
.. .248 = 29 -> 8 mesin
.. .252 = 30 -> 4 mesin
.. .254 = 31 -> 2 mesin
.. .255 = 32 -> 1 mesin
!! Perlu dikurangin juga untuk 2 Ip adress yang tidak digunakan pada mesin.
Yaitu 1 ip address untuk Network ID dan 1 ip address untuk broadcast
- Susunan kabel UTP antara (2)-Mikrotik Box dengan (4)-Linux Box adalah Cross,
Konfigurasi Dasar
Sebagaimana di gambarkan pada skema jaringan diatas, jenis sistem operasi yang perlu disiapkan ada Sistem Operasi untuk Router yaitu Mikrotik RouterOS versi 2.9.27 level 6 dan Sistem Operasi Gnu/Linux distro CentOs versi 4.4 yang dipakai nantinya untuk mesin Proxy.
Informasi untuk mikrotik ini dapat dilihat pada official websitenya di http://www.mikrotik.com dan http://www.mikrotik.co.id untuk Indonesia.
Silahkan siapkan dulu ISOnya, andaikata pembaca belum mempunyainya, untuk ISO sample silahkan download di SINI.
Begitu juga untuk Linux CentOsnya, silahkan download dahulu ISOnya di http://mirror.nsc.liu.se/CentOS/4.4/isos/i386/. CentOS ini versi 4.4.
Sesuaikan saja Sistem Operasinya jika pembaca ingin memamakai Sistem Operasi yang berbeda dari percobaan yang dilakukan. Misalnya untuk mikrotik memakai MT Versi 2.8.x atau diatasnya lagi, begitu juga dengan Linux, silahkan dipilih sendiri Distrobusi yang disukai. Secara konsep konfigurasinya sama.
Nah, di anggap kedua mesin telah siap beroperasi tentu telah di installkan pada kedua mesin, Untuk Mikrotik silahkan lihat metode instalasinya di SINI juga di SINI. Sedangkan untuk CentOs, jika pembaca ingin membuat partisi khusus untuk /cache/ silahkan saja, Memang percobaan kali ini partisinya dibuat khusus.
Konfigurasi dasar.
(a) Mikrotik
- Instalasi paket SYSTEM, SECURITY, DHCP (optional)
- Set Ip addressnya sesuai dengan Skema, karena memeliki 3 card lan, maka
di set IP address untuk ketiga card tersebut. Sesuaikan nama interfacenya
berdasarkan skema diatas, berarti ada nama interface yaitu:
1. interface Public
2. interface Local
3. interface Proxy
#Interface
——————————————————————————-
[admin@MikroTik] interface> print
Flags: X – disabled, D – dynamic, R – running
# NAME TYPE RX-RATE TX-RATE MTU
0 R public ether 0 0 1500
1 R proxy ether 0 0 1500
2 R local ether 0 0 1500
[admin@MikroTik] interface>
——————————————————————————-
Tentu saja nama interface boleh tidak sesuai dengan nama diatas, terserah
pembaca. Yang jelas ketiga interface diatas memiliki Subnet Ip address ber
beda, perhatikan skema.
# IP Address
——————————————————————————
[admin@MikroTik] > ip address print
Flags: X – disabled, I – invalid, D – dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 192.168.1.2/24 192.168.1.0 192.168.1.255 public
1 192.168.0.30/27 192.168.0.0 192.168.0.31 local
2 192.168.2.1/30 192.168.2.0 192.168.2.3 proxy
[admin@MikroTik] >
——————————————————————————
- Set Ip Gateway atau routing. Untuk mikrotik gatewaynya ke Modem yaitu 192.168.1.1
# Ip Gateway
————————————————————————————
[admin@MikroTik] > ip route print
Flags: X – disabled, A – active, D – dynamic,
C – connect, S – static, r – rip, b – bgp, o – ospf
# DST-ADDRESS PREFSRC G GATEWAY DISTANCE INTERFACE
0 ADC 192.168.2.0/30 192.168.2.1 proxy
1 ADC 192.168.0.0/27 192.168.0.30 local
2 ADC 192.168.1.0/24 192.168.1.2 public
3 A S 0.0.0.0/0 r 192.168.1.1 public
[admin@MikroTik] >
————————————————————————————
- Set DNS
#Ip DNS
————————————————————————————
[admin@MikroTik] > [admin@MikroTik] >
invalid command name
[admin@MikroTik] > ip dns print
primary-dns: 203.130.193.74
secondary-dns: 202.134.0.155
allow-remote-requests: yes
cache-size: 10240KiB
cache-max-ttl: 1w
cache-used: 271KiB
[admin@MikroTik] >
————————————————————————————
- Tambahkan rule di /ip firewall nat nya, untuk masquarade.
#Rule Firewall NAT, Redirect ke Web Proxy
————————————————————————————-
[admin@MikroTik] ip firewall nat> pr
Flags: X – disabled, I – invalid, D – dynamic
0 chain=srcnat out-interface=public action=masquerade
1 chain=dstnat src-address=192.168.0.0/27 protocol=tcp dst-port=80
action=redirect to-ports=8080
2 chain=dstnat src-address=192.168.0.0/27 protocol=tcp dst-port=8000
action=redirect to-ports=3128
3 chain=dstnat src-address=192.168.0.0/27 protocol=tcp dst-port=3128
action=redirect to-ports=8080
————————————————————————————-
# Bandwidth management dengan PCQ
### Set Trafik lewat Proxy dan Trafik Langsung
/ ip firewall mangle
add chain=prerouting src-address=192.168.n.n/27 action=mark-packet \
new-packet-mark=test-up passthrough=no comment=”UP TRAFFIC” disabled=no
add chain=forward src-address=192.168.14.n.n/27 action=mark-connection \
new-connection-mark=test-conn passthrough=yes comment=”CONN-MARK” \
disabled=no
add chain=forward in-interface=Public connection-mark=test-conn \
action=mark-packet new-packet-mark=test-down passthrough=no comment=” \
DOWN-DIRECT CONNECTION” disabled=no
add chain=output out-interface=Local dst-address=192.168.n.n/27 \
action=mark-packet new-packet-mark=test-down passthrough=no \
comment=”DOWN-VIA PROXY” disabled=no
##### Set PCQ type
/ queue type
add name=”pcq-download” kind=pcq pcq-rate=0 pcq-limit=50 \
pcq-classifier=dst-address pcq-total-limit=2000
add name=”pcq-upload” kind=pcq pcq-rate=0 pcq-limit=50 \
pcq-classifier=src-address pcq-total-limit=2000
####### ini Queue Treenya Simple Amat
/ queue tree
add name=”downstream” parent=Local packet-mark=test-down limit-at=0 \
queue=pcq-download priority=8 max-limit=0 burst-limit=0 burst-threshold=0 \
burst-time=0s disabled=no
add name=”upstream” parent=global-in packet-mark=test-up limit-at=0 \
queue=pcq-upload priority=8 max-limit=0 burst-limit=0 burst-threshold=0 \
burst-time=0s disabled=no
Evaluasi
Troubleshooting
- Subnetmask antara interface Public dengan interface Proxy Sama, ping dari mikrotik ke mesin linux tidak reply
Referensi
Dikutib dari HarryChanPutra
-
Arsip
- Oktober 2007 (17)
- September 2007 (11)
- Agustus 2007 (14)
- Juli 2007 (8)
- Juni 2007 (16)
- Maret 2007 (6)
-
Kategori
-
RSS
RSS Entri
Komentar RSS
