31 March 2012

cara redirect poxy ke mikrotik

cara redirect poxy ke mikrotik

Adapun detailnya sbb :

Mikrotik : 192.168.0.1

Internet : eth1 =ip speedy

Lan : eth2      =ip mikrotik  (192.168.0.1/24)

Proxy : 192.168.0.254

port : 3128

———–

di asumsikan bahwa transparent proxy sudah berjalan normal pada Proxy Server

1. Table NAT ( IP > Firewall > NAT )

dst-nat, src-address = !192.168.0.254 protocol=tcp dst-port=80 in-interface=ether2 action=dstnat to-addresses=192.168.0.254 to-port=3128

src-nat, src-address=192.168.0.0/24 out-interface=ether2 action=srcnat to-addresses=192.168.0.1 to-port=0-65535

2. Table Filter Rules

chain=forward src-address=192.168.0.0/24 dst-address=192.168.0.254 dst-port=3128 in-interface=ether2 out-interface=ether1 action=accept

dengan script ini akhirnya transparent proxy tanpa menggunakan fitur proxy Mikrotik dapat berjalan dengan sempurna.

Walao di browser di set no proxy tapi tetep juga lewat proxy hehehe...

28 March 2012

25 March 2012

cara memblokir user selain dhcp client di mikrotik

Sekarang kita belajar bagaimana kita memblok user kita selain DHCP Client memakai winbox, artinya user yang menggunakan ip statik tidak dapat menggunakan koneksi ke mikrotik itu berarti Hanya yang mendapatkan IP address melalui DHCP Serverlah  yang bisa menggunakan koneksi internet, kata lain  ipnya di dapat secara otomatis.
Saya anggap saja DHCP Server dalam mikrotik router sobat sudah berjalan baik.  Dan ikuti langkah berikut :
Langkah Pertama, kita hanya merubah settingan yang sudah ada. Masuk menu IP > DHCP Server klik 2x pada DHCP server Sobat. Centang “Add ARP For Lease
Berikut gambarnya: 
mikrotik gressnet
Arahkan Cursor untuk memperbesar!!! 
Langkah kedua, kita masuk ke menu “Interfaces” klik 2x pada interface lokal sobat atau interface yang di aplikasikan DHCP Server. Ganti option “ARP” menjadi “reply-only
Berikut Gambarnya :
gambar gressnet2
Arahkan Cursor untuk memperbesar!!!
Langkah ketiga, Tahap Pengujian.
Sekarang Sobat coba menggunakan IPStatik pada komputer atau laptop Client, koneksi kan ke router Mikrotik sobat,.. bagaimana hasilnya??? Tidak jalan kan!! Dan coba otomatiskan lagi !! tuh kan masuk atau replay. Nah Sekian dulu Selamat Mencoba smoga berhasil dan bermanfaat.. amiiin!!!!

Sumber:http://gressnet-hotspot.blogspot.com/2012/02/cara-memblokir-user-selain-dhcp-client.html
Cara Setting Mangle Mikrotik Untuk Proxy Hit Loss External Proxy

Cara Setting Mangle Mikrotik Untuk Proxy Hit Loss External Proxy

Kali ini ada sedikit info mengenai squid proxy saya sangat tertarik dengan artikel yang di postkan oleh uburcumi di forummikrotik.com Soal tehnik lain proxy hit menggunakan external proxy dan soal trik lain untuk mendapatkan proxy hit yang mantap dan koneksi game tetap lancar.
Studi kasus yang dilakukan uburcumi seperti berikut :
Silahkan perhatikan secara seksama !!




  • Semua aktifitas user port 80, 81, 8080 dan 3128 di belokkan ke proxy, jika proxy belum mengcache maka si proxy akan mengambil dari Modem(internet), menyimpan di cache sekaligus menjawab request dari user.
  • Aktivitas user selain port 80, 81, 8080 dan 3128 akan melewati jalur menuju arah modem [download dari FTP ata dari P2P => jika akses P2P tidak di blok]
Nah dari kasus di atas muncullah pemikiran, bahwa :
  • Semua akses ke arah Modem harus di limit agar ada BW dapat tersisa yg bisa di gunakan untuk GAME online mengingat port game tidak di belokkan ke proxy squid.
  • Sedangkan akses antara Proxy Squid dan User di LOSS agar terjadi HIT atau transfer packet yg ada di cache proxy dapat di nikmati LOSS oleh user.
Mari berlanjut kesettingan mikrotik kita (Cara Setting Mangle Mikrotik Untuk Proxy Hit Loss External Proxy):
Scriptnya seperti di bawah ini

1. PROXY HIT LOSS
/ip firewall mangle add action=mark-packet chain=prerouting disabled=no dscp=12 new-packet-mark=Proxy Hit passthrough=no comment="PROXY HIT DSCP"

/ip firewall mangle
add action=mark-connection chain=forward comment=Proxy_HIT \
disabled=no in-interface=Proxy new-connection-mark=Hit\
out-interface=Lokal passthrough=yes protocol=tcp

add action=mark-packet chain=forward comment="" connection-mark=Hit\
disabled=no in-interface=Proxy new-packet-mark=Proxy Hit\
out-interface=Lokal passthrough=no protocol=tcp

/queue tree
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no\
limit-at=0 max-limit=0 name=.:Proxy Hit:. packet-mark=Hit\
parent=global-out priority=1 queue=default
Nah itu dia proxy hit untuk meloloskan paket agar tidak terlimit oleh mikrotik.


2. Koneksi ke modem dari user atau dari user ke modem harus juga di batasi.(Limit Aktifitas modem - user)
Scriptnya seperti berikut :
/ip firewall mangle
add action=mark-connection chain=forward \
comment=DownloadfromLan connection-bytes=256000-4294967295\
disabled=no in-interface=Modem new-connection-mark=DownLan\
out-interface=Lokal passthrough=yes protocol=tcp

add action=mark-packet chain=forward comment="" \
connection-mark=Down Lan disabled=no \
in-interface=Modem new-packet-mark=DownloadLan\
out-interface=Lokal passthrough=no protocol=tcp

/que ty
add kind=pcq name=Download pcq-classifier=dst-address \
pcq-limit=50 pcq-rate=128000 pcq-total-limit=2000

/que tr
add burst-limit=0 burst-threshold=0 burst-time=0s \
disabled=no limit-at=0 max-limit=256000 name=LimitDownloadformLan\
packet-mark=DownloadLan parent=global-out priority=8 queue=Download
3. Aktifitas modem ke proxy juga harus dibatasi,
Berikut Scriptnya :
/ip firewall mangle
add action=mark-connection chain=forward comment=DownloadfromProxy\
connection-bytes=256000-4294967295 disabled=no in-interface=Modem \
new-connection-mark=Down Proxy out-interface=Proxy\
passthrough=yes protocol=tcp

add action=mark-packet chain=forward comment=""\
connection-mark=Down Proxy\ disabled=no in-interface=Modem \
new-packet-mark=DownloadProxy out-interface=Proxy \
passthrough=no protocol=tcp

/que ty
add kind=pcq name=Download pcq-classifier=dst-address pcq-limit=50\
pcq-rate=128000 pcq-total-limit=2000

/que tr
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=256000 name=Limit DownloadfromProxy\
packet-mark=DownloadProxy parent=global-out priority=8 queue=Download
Sedikit tambahan agar lebih ma'nyos Ng-limitnya coba paste di  layer 7.
http/(0\.9|1\.0|1\.1)[\x09-\x0d ][1-5][0-9][0-9][\x09-\x0d -~]*(x-cache: hit)
Semoga bermanfaat dan salam Blogger!!
Setting Mikrotik dan Squid Proxy External Full Versi

Setting Mikrotik dan Squid Proxy External Full Versi

Salam Blogger!!
Asa Bucat Bisul!!! orang sunda bilang ehehe, 2 hari saya tidak posting karena masih meneliti kinerja settingan mikrotik yang saya gunakan dan alhasil banyak penemuan penemuan baru ahahaha,. posting kali ini mungkin agak panjang nich masalah Setting Mikrotik dan Squid Proxy External Full Versi.
Settingan ini cocok untuk warnet atau penyedia hotspot menurut saya, tau menurut sobatmah ahahhaha. Settingan ini yang saya pake sekarang, Sudah siap untuk melihat dan menelitinya?
Ok Lanjuuuuuuuut.......!!!

Alat Yang di Gunakan :
- Modem Speedy
- RB750 ROS 4.6 atau Mikrotik v5.xx
- Squid proxy yang berjalan transparant pada port 3128 + zph

Topologi :
- Speedy 2M down dan 512 up
- 1M untuk jatah download semua client dengan batasan maksimal 256kbps/client
- Akses tanpa dibatasi limit untuk beberapa IP tertentu (dalam hal ini IP 192.168.2.16 dan 192.168.2.17)
- Browsing tidak dibatasi
- Aplikasi QOS pada outbound/paket yang keluar dari modem speedy

Manifest IP address yang digunakan :
[MODEM]
Public IP Address = 192.168.1.2/24
[CLIENTS]
Client IP Address = 192.168.2.2-192.168.2.17 (ip selain itu tidak konek internet)
[SQUID BOX]
Proxy Ip Address = 192.168.3.2
squid.conf dengan zph
http_port 3128 transparent
zph_mode tos
zph_local 0x30
zph_parent 0
zph_option 136
================Basic Configuration================
/interface ethernet
set 0 comment="Public Interface" name=Public
set 1 comment="Local Interface" name=Local
set 2 comment="Proxy Interface" name=Proxy

/ip address
add address=192.168.2.1/24 broadcast=192.168.2.2 comment="" disabled=no \
interface=Local network=192.168.2.0
add address=192.168.3.1/24 broadcast=192.168.3.2 comment="" disabled=no \
interface=Proxy network=192.168.3.0
add address=192.168.1.2/24 broadcast=192.168.1.3 comment="" disabled=no \
interface=Public network=192.168.1.0

/ip dns
set allow-remote-requests=yes cache-max-ttl=1w cache-size=4096KiB \
max-udp-packet-size=512 servers="125.160.4.82,203.130.196.155"
(sesuaikan dengan DNS ISP sobat)

/ip route
add gateway=192.168.1.1 comment="" disabled=no

/ip service
set telnet address=0.0.0.0/0 disabled=yes port=23
set ftp address=0.0.0.0/0 disabled=yes port=21
set www address=0.0.0.0/0 disabled=no port=80
set ssh address=0.0.0.0/0 disabled=yes port=22
set www-ssl address=0.0.0.0/0 certificate=none disabled=yes port=443
set api address=0.0.0.0/0 disabled=yes port=8728
set winbox address=0.0.0.0/0 disabled=no port=8291

/system ntp client
set enabled=yes mode=unicast primary-ntp=152.118.24.8 secondary-ntp=\
202.169.224.16

/ip firewall address-list
add address=192.168.3.1/24 comment="" disabled=no list=ProxyNET
add address=192.168.2.2-192.168.2.17 comment="" disabled=no list=localNet
(saya hanya menjalankan client konek internet 2-17 client)
=================end of basic configuration=================
Untuk firewall filternya saya terapkan yang terpentingnya saja.
/ip firewall filter
add action=drop chain=input comment="Drop Invalid connections" \
connection-state=invalid disabled=no
add action=add-src-to-address-list address-list="port scanners" \
address-list-timeout=2w chain=input comment="Port scanners to list " \
disabled=no protocol=tcp psd=21,3s,3,1
add action=add-src-to-address-list address-list="port scanners" \
address-list-timeout=2w chain=input comment="NMAP FIN Stealth scan" \
disabled=no protocol=tcp tcp-flags=fin,!syn,!rst,!psh,!ack,!urg
add action=add-src-to-address-list address-list="port scanners" \
address-list-timeout=2w chain=input comment="SYN/FIN scan" disabled=no \
protocol=tcp tcp-flags=fin,syn
add action=add-src-to-address-list address-list="port scanners" \
address-list-timeout=2w chain=input comment="SYN/RST scan" disabled=no \
protocol=tcp tcp-flags=syn,rst
add action=add-src-to-address-list address-list="port scanners" \
address-list-timeout=2w chain=input comment="FIN/PSH/URG scan" disabled=\
no protocol=tcp tcp-flags=fin,psh,urg,!syn,!rst,!ack
add action=add-src-to-address-list address-list="port scanners" \
address-list-timeout=2w chain=input comment="ALL/ALL scan" disabled=no \
protocol=tcp tcp-flags=fin,syn,rst,psh,ack,urg
add action=add-src-to-address-list address-list="port scanners" \
address-list-timeout=2w chain=input comment="NMAP NULL scan" disabled=no \
protocol=tcp tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg
add action=drop chain=input comment="Dropping port scanners" disabled=no \
src-address-list="port scanners"
add action=accept chain=input comment="Allow Established connections" \
connection-state=established disabled=no
add action=accept chain=input comment="Allow Related connections" \
connection-state=related disabled=no
add action=accept chain=input comment="Allow ICMP from LOCAL Network" \
disabled=no protocol=icmp src-address-list=localNet
add action=accept chain=input comment="Allow ICMP from PROXY Network" \
disabled=no protocol=icmp src-address-list=ProxyNET
add action=accept chain=input comment="Allow Input from LOCAL Network" \
disabled=no src-address-list=localNet
add action=accept chain=input comment="Allow Input from PROXY Network" \
disabled=no src-address-list=ProxyNET
add action=drop chain=input comment="Drop everything else" disabled=no
add action=drop chain=forward comment="Drop Invalid connections" \
connection-state=invalid disabled=no
add action=jump chain=forward comment="Bad packets filtering" disabled=no \
jump-target=tcp protocol=tcp
add action=jump chain=forward comment="" disabled=no jump-target=udp \
protocol=udp
add action=jump chain=forward comment="" disabled=no jump-target=icmp \
protocol=icmp
add action=drop chain=tcp comment="deny SMTP" disabled=no dst-port=25 \
protocol=tcp
add action=drop chain=tcp comment="deny TFTP" disabled=no dst-port=69 \
protocol=tcp
add action=drop chain=tcp comment="deny RPC portmapper" disabled=no dst-port=\
111 protocol=tcp
add action=drop chain=tcp comment="deny RPC portmapper" disabled=no dst-port=\
135 protocol=tcp
add action=drop chain=tcp comment="deny NBT" disabled=no dst-port=137-139 \
protocol=tcp
add action=drop chain=tcp comment="deny cifs" disabled=no dst-port=445 \
protocol=tcp
add action=drop chain=tcp comment="deny NFS" disabled=no dst-port=2049 \
protocol=tcp
add action=drop chain=tcp comment="deny NetBus" disabled=no dst-port=\
12345-12346 protocol=tcp
add action=drop chain=tcp comment="deny NetBus" disabled=no dst-port=20034 \
protocol=tcp
add action=drop chain=tcp comment="deny BackOriffice" disabled=no dst-port=\
3133 protocol=tcp
add action=drop chain=tcp comment="deny DHCP" disabled=no dst-port=67-68 \
protocol=tcp
add action=drop chain=tcp comment="deny P2P" disabled=no p2p=all-p2p
add action=drop chain=udp comment="deny TFTP" disabled=no dst-port=69 \
protocol=udp
add action=drop chain=udp comment="deny PRC portmapper" disabled=no dst-port=\
111 protocol=udp
add action=drop chain=udp comment="deny PRC portmapper" disabled=no dst-port=\
135 protocol=udp
add action=drop chain=udp comment="deny NBT" disabled=no dst-port=137-139 \
protocol=udp
add action=drop chain=udp comment="deny NFS" disabled=no dst-port=2049 \
protocol=udp
add action=drop chain=udp comment="deny BackOriffice" disabled=no dst-port=\
3133 protocol=udp
add action=accept chain=icmp comment="limit packets 5/secs" disabled=no \
icmp-options=0:0-255 limit=5,5 protocol=icmp
add action=accept chain=icmp comment="limit packets 5/secs" disabled=no \
icmp-options=3:0 protocol=icmp
add action=accept chain=icmp comment="limit packets 5/secs" disabled=no \
icmp-options=3:3 limit=5,5 protocol=icmp
add action=accept chain=icmp comment="limit packets 5/secs" disabled=no \
icmp-options=3:4 limit=5,5 protocol=icmp
add action=accept chain=icmp comment="limit packets 5/secs" disabled=no \
icmp-options=8:0-255 limit=5,5 protocol=icmp
add action=accept chain=icmp comment="limit packets 5/secs" disabled=no \
icmp-options=11:0-255 limit=5,5 protocol=icmp
add action=drop chain=icmp comment="Drop other icmp packets" disabled=no
add action=accept chain=forward comment="Allow Established connections" \
connection-state=established disabled=no
add action=accept chain=forward comment="Allow Forward from LOCAL Network" \
disabled=no src-address-list=localNet
add action=accept chain=forward comment="Allow Forward from PROXY Network" \
disabled=no src-address-list=ProxyNET
add action=drop chain=forward comment="Drop everything else" disabled=no
Untuk NAT nya sebagai berikut :
/ip firewall nat
add action=masquerade src-address-list=localNet chain=srcnat comment="NAT-LOCAL" disabled=no \
out-interface=Public
add action=masquerade src-address-list=ProxyNet chain=srcnat comment="NAT-PROXY" disabled=no \
out-interface=Public
add action=dst-nat chain=dstnat comment="TRANSPARENT PROXY" disabled=no \
dst-address-list=!ProxyNET dst-port=80,8080,3128 in-interface=Local \
protocol=tcp to-addresses=192.168.3.2 to-ports=3128
(atau yang saya punya redirect proxy seperti ini :)
add action=dst-nat chain=dstnat comment="TRANSPARENT PROXY" disabled=no \
src-address=192.168.2.2-192.168.2.17 dst-port=80,8080,3128 in-interface=Local \
protocol=tcp to-addresses=192.168.3.2 to-ports=3128
add action=dst-nat chain=dstnat comment="TRANSPARENT DNS" disabled=no \
dst-port=53 in-interface=Local protocol=udp to-ports=53
add action=dst-nat chain=dstnat comment="" disabled=no dst-port=53 \
in-interface=Local protocol=tcp to-ports=53
add action=dst-nat chain=dstnat comment="" disabled=no dst-port=53 \
in-interface=Proxy protocol=udp to-ports=53
add action=dst-nat chain=dstnat comment="" disabled=no dst-port=53 \
in-interface=Proxy protocol=tcp to-ports=53

Penjelasan :
- Transparent DNS agar client tidak bisa menggunakan NS selain yang terpasang di mikrotik
  (bisa sobat gunakan atau tidak, tergantung keinginan)
- Mengarahkan request dari client tujuan port 80,8080,3128 ke squid external
  saya beri contoh 2 untuk redirect terserah sobat mo pilih yang mana pastinya keduanya jalan
  jika ada interface lain misalkan hotspot sobat tingal tambahkan tanda ! pada src.address atau   dst.address list
Untuk manglenya biar saya jelaskan satu-persatu biar tidak bingung :
/ip firewall mangle
add action=mark-packet chain=forward comment="PROXY-HIT-DSCP 12" disabled=no \
dscp=12 new-packet-mark=proxy-hit passthrough=no

Menandai paket proxy-hit dari external proxy yang nantinya pada rule queue diberikan kebebasan tanpa proses limitasi
add action=change-dscp chain=postrouting comment=CRITICAL disabled=no \
new-dscp=1 protocol=icmp
add action=change-dscp chain=postrouting comment="" disabled=no dst-port=53 \
new-dscp=1 protocol=udp
add action=change-dscp chain=postrouting comment="" disabled=no dst-port=53 \
new-dscp=1 protocol=tcp
add action=mark-connection chain=postrouting comment="" disabled=no dscp=1 \
new-connection-mark=critical_conn passthrough=yes
add action=mark-packet chain=postrouting comment="" connection-mark=\
critical_conn disabled=no new-packet-mark=critical_pkt passthrough=no

Menandai paket ICMP dan DNS request untuk diberikan prioritas tertinggi
add action=mark-connection chain=prerouting comment=MARK-ALL-CONN disabled=no \
dst-address-list=!localNet in-interface=Local new-connection-mark=\
all.pre_conn passthrough=yes
add action=mark-connection chain=forward comment="" disabled=no \
new-connection-mark=all.post_conn out-interface=Local passthrough=yes \
src-address-list=!localNet
add action=mark-packet chain=prerouting comment="" connection-mark=\
all.pre_conn disabled=no new-packet-mark=all.pre_pkt passthrough=yes
add action=mark-packet chain=forward comment="" connection-mark=all.post_conn \
disabled=no new-packet-mark=all.post_pkt passthrough=yes

Menandai SEMUA paket keluar masuk dari Local interface SELAIN ke Local Address
add action=mark-connection chain=prerouting comment=GAMES connection-mark=\
all.pre_conn disabled=no dst-port=9339,843 new-connection-mark=games_conn \
passthrough=yes protocol=tcp
add action=mark-connection chain=prerouting comment="" connection-mark=\
all.pre_conn disabled=no dst-port=40000-40010 new-connection-mark=\
games_conn passthrough=yes protocol=udp
add action=mark-packet chain=forward comment="" connection-mark=games_conn \
disabled=no new-packet-mark=games_pkt passthrough=no

Menandai Paket GAMES untuk diberikan prioritas KEDUA
add action=mark-connection chain=prerouting comment=HTTP-CLIENT \
connection-mark=all.pre_conn disabled=no new-connection-mark=\
browsing_conn packet-size=0-64 passthrough=yes protocol=tcp tcp-flags=ack
add action=mark-connection chain=prerouting comment="" connection-mark=\
all.pre_conn disabled=no dst-port=80,443 new-connection-mark=\
browsing_conn passthrough=yes protocol=tcp
add action=mark-packet chain=forward comment="" connection-bytes=0-131072 \
connection-mark=browsing_conn disabled=no new-packet-mark=browsing_pkt \
passthrough=no protocol=tcp
add action=mark-connection chain=prerouting comment=HTTP-PROXY disabled=no \
dst-address-list=!localNet dst-port=80,443 new-connection-mark=proxy_conn \
passthrough=yes protocol=tcp src-address-list=ProxyNET
add action=mark-packet chain=forward comment="" connection-mark=proxy_conn \
disabled=no new-packet-mark=proxy_pkt passthrough=no

Menandai paket untuk browsing TERMASUK http req dari external proxy dengan conn-byte=0-131072 serta paket-paket protocol tcp yang berukuran kecil (packet-size=0-64 tcp-flags=ack) untuk diberikan prioritas KETIGA
add action=mark-connection chain=prerouting comment=REALTIME connection-mark=\
all.pre_conn disabled=no dst-port=22,179,110,161,8291 \
new-connection-mark=realtime_conn passthrough=yes protocol=tcp
add action=mark-connection chain=prerouting comment="" connection-mark=\
all.pre_conn disabled=no dst-port=123 new-connection-mark=realtime_conn \
passthrough=yes protocol=udp
add action=mark-packet chain=forward comment="" connection-mark=realtime_conn \
disabled=no new-packet-mark=realtime_pkt passthrough=no

Menandai paket-paket REALTIME ACCESS untuk diberikan prioritas KEEMPAT
add action=mark-connection chain=prerouting comment=FILETRANSER \
connection-mark=all.pre_conn disabled=no dst-port=20,21,23 \
new-connection-mark=communication_conn passthrough=yes protocol=tcp
add action=mark-packet chain=forward comment="" connection-mark=\
communication_conn disabled=no new-packet-mark=communication_pkt \
passthrough=no

Menandai paket-paket FILETRANSFER untuk diberikan prioritas KELIMA
add action=mark-connection chain=prerouting comment=NORMAL connection-mark=\
all.pre_conn disabled=no dst-address-list=!ProxyNET new-connection-mark=\
normal_conn passthrough=yes
add action=mark-packet chain=forward comment="" connection-mark=normal_conn \
disabled=no new-packet-mark=normal_pkt passthrough=no

Menandai semua paket yang tersisa SELAIN tujuan Proxy untuk diberikan prioritas KEENAM
add action=mark-packet chain=forward comment=DOWNLOAD connection-bytes=\
131072-4294967295 connection-mark=all.post_conn disabled=no dst-address=\
192.168.2.2 new-packet-mark=client1 passthrough=no protocol=tcp
add action=mark-packet chain=forward comment="" connection-bytes=\
131072-4294967295 connection-mark=all.post_conn disabled=no dst-address=\
192.168.2.3 new-packet-mark=client2 passthrough=no protocol=tcp
………………..dst sampai jumlah client yang di perlukanterpenuhi
add action=mark-packet chain=forward comment=DOWNLOAD-NO-LIMIT connection-bytes=\
131072-4294967295 connection-mark=all.post_conn disabled=no dst-address=\
192.168.2.16 new-packet-mark=client16 passthrough=no protocol=tcp
add action=mark-packet chain=forward comment="" connection-bytes=\
131072-4294967295 connection-mark=all.post_conn disabled=no dst-address=\
192.168.2.17 new-packet-mark=client17 passthrough=no protocol=tcp
Menandai paket protocol tcp yang diteruskan ke client untuk memberikan batasan download pada masing-masing client dengan conn-byte=131072-4294967295
Setelah itu buat queue type nya
/queue type
add kind=pcq name=pcq_up pcq-classifier=src-address pcq-limit=200 pcq-rate=0 \
pcq-total-limit=8000
add kind=pcq name=pcq_down pcq-classifier=dst-address pcq-limit=200 pcq-rate=\
0 pcq-total-limit=8000
add kind=pfifo name=pfifo-critical pfifo-limit=10
add kind=pcq name=pcq_critical.up pcq-classifier=src-address,src-port \
pcq-limit=20 pcq-rate=0 pcq-total-limit=500
add kind=pcq name=pcq_critical.down pcq-classifier=dst-address,dst-port \
pcq-limit=20 pcq-rate=0 pcq-total-limit=500
di lanjut menambahkan queue tree nya…..
/queue tree
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="A. PROXY HIT" packet-mark=proxy-hit parent=Local \
priority=1 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="B. CRITICAL" packet-mark=critical_pkt parent=Public \
priority=1 queue=pfifo-critical

Tanpa limit dengan prioritas pertama untuk proxy hit dan critical

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="C. INBOUND" packet-mark=all.post_pkt parent=global-out \
priority=8
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="D. OUTBOUND" packet-mark=all.pre_pkt parent=Public \
priority=8

Membuat parent untuk inbound (traffic masuk ke client) dan outbound (traffic keluar dari public)
Untuk child INBOUND nya saya bagi menjadi beberapa prioritas seperti berikut :

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="A. GAMES" packet-mark=games_pkt parent="C. INBOUND" \
priority=2 queue=pcq_critical.down
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="B. HTTP" packet-mark=browsing_pkt parent="C. INBOUND" \
priority=3 queue=pcq_down
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=64k \
max-limit=128k name="C. REALTIME" packet-mark=realtime_pkt parent=\
"C. INBOUND" priority=4 queue=pcq_critical.down
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=64k \
max-limit=128k name="D. FILETRANS" packet-mark=communication_pkt parent=\
"C. INBOUND" priority=5 queue=pcq_down
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=64k \
max-limit=128k name="E. NORMAL" packet-mark=normal_pkt parent=\
"C. INBOUND" priority=6 queue=pcq_down

selanjutnya parent untuk download per client nya :

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=1024k name="F. DOWN 1M" parent="C. INBOUND" priority=8
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="G. DOWN 2M" parent="C. INBOUND" priority=8

membuat 2 parent untuk 1M dan 2M (atau tanpa limit)
Setelah itu buat child nya, untuk memberikan batasan download per clientnya

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=256k name=Client1 packet-mark=client1 parent=\
"F. DOWN 1M" priority=8 queue=pcq_down
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=256k name=Client2 packet-mark=client2 parent=\
"F. DOWN 1M" priority=8 queue=pcq_down

…………………..dst sampai semua paket ke client yang di perlukan terpenuhi
Batasan download sebesar 1M untuk semua client dan maksimum 256k per client

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name=Client16 packet-mark=client16 parent=\
"G. DOWN 2M" priority=8 queue=pcq_down
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name=Client17 packet-mark=client17 parent=\
"G. DOWN 2M" priority=8 queue=pcq_down

Tanpa batasan download untuk IP 192.168.2.16 dan 192.168.2.17
Kemudiam membuat limit untuk uploadnya

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="A. GAMES UP" packet-mark=games_pkt parent="D. OUTBOUND" \
priority=2 queue=pcq_critical.up
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=64k \
max-limit=256k name="B. HTTP UP" packet-mark=proxy_pkt parent=\
"D. OUTBOUND" priority=3 queue=pcq_up
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=32k \
max-limit=64k name="C. REALTIME UP" packet-mark=realtime_pkt parent=\
"D. OUTBOUND" priority=4 queue=pcq_critical.up
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=64k \
max-limit=128k name="D. FILETRANS UP" packet-mark=communication_pkt \
parent="D. OUTBOUND" priority=5 queue=pcq_up
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=64k \
max-limit=128k name="E. NORMAL UP" packet-mark=normal_pkt parent=\
"D. OUTBOUND" priority=6 queue=pcq_up

C a t a t a n
- Silahkan sobat sesuaikan Untuk IP ADDRESS, Nama Ethernet. dll
- Tanda Hijau Biru dan Merah sengaja saya tandai agar sobat tidak tertukar jika sobat sudah memberi nama lain (maksudnya harus di sesuaikan)
- Tanda Jingga da Ping harus sama dengan yang ada di address list (jika sobat mengganti dengan nama lain)
- Silahkan sobat Kopi script yang saya buat dan pastekan dahulu di notepad (maksudnya di di hilangkan keterangan-keteranganya, buat satu block satu block biar tidak pusing eheheh)
Diurutkan berdasarkan prioritas paket keluar, mulai dari games, http request, realtime connection, filetransfer dan normal request
Hasil akhir yang saya capai, masing-masing client tidak terganggu oleh aktifitas download ketika mereka browsing atau main games, baik pada saat user sedang upload pun tidak mengganggu/memperbesar latency games…. sependek pengetahuan saya soal mikrotik setelah beberapa kali uji coba, mungkin ini settingan terbaik yang pernah saya buat.
Semoga bermanfaat dan selamat mereset Mikrotiknya, succes!!!!

Cara Install Monitoring Proxy Squid dan lusca dengan Squidstat di ubuntu server




Kali ini kita melanjutkan masih di bab Proxy Lusca FMI Ubuntu server setelah kita selesai menginstal di Cara Install DNS Unbound High Performance Squid Lusca FMI di Ubuntu sekarang kita lanjut ke Cara Install Monitoring Proxy Squid dan lusca dengan Squidstat di ubuntu server, karena sobat pun perlu untuk melihat kinerja ataupun aktivitas squid proxy yang baru saja selesai di instal, nah untuk itu mari kita lanjutkan kelangkah Monitoring proxy kita.
Warning : Proses install ini saya lakukan melalui PuTTY (tested OK)
Pertama : Buka Program PuTTY login dengan root.
copas perinta - perintah di bawah dan pastekan di terminal PuTTY sobat.
Untuk Menghitung memory yang sedang digunakan oleh aplikasi di Linux :
# wget http://www.pixelbeat.org/scripts/ps_mem.py
# chmod +x ps_mem.py
# ./ps_mem.py
Install Squidmon :
# wget http://squidmon.googlecode.com/svn/trunk/squidmon.py
# chmod +x squidmon.py
Untuk monitor squid :
# cat /var/log/squid/access.log | ./squidmon.py
# cat /var/log/squid/access.log | python squidmon.py
1. apt-get install librrds-perl libsnmp-session-perl snmpd rrdtool snmp apache2 -y
2. perl -MCPAN -e ‘install Config::IniFiles’
3. wget http://jaringanwarnet.com/downloads/squidstats-r54.tar
4. tar -xvf squidstats-r54.tar
5. cd squidstats-r54
5. cp mib.txt /etc/squid/
6. cp snmpd.conf /etc/snmp/
8. untuk squid.conf tambahkan berikut ini : (kalau download dari blog saya ini sudah dipasang)
snmp_port 3401
acl snmppublic snmp_community public
snmp_access allow snmppublic all
9. make && make install
10. snmpwalk -v 1 -c public localhost
11. squidstats.pl createdb
12. squidstats.pl gather
13. crontab -e (kemudian copy rule dibawah ini)
*/5 * * * * /usr/local/bin/squidstats.pl gather >/dev/null
14. cp squidstats.conf /etc/apache2/conf.d
15. reboot
16. cek hasilnya ke http://isi dg ipproxy/squidstats/graph-summary.cgi
Agar bias di akses dari luar silahkan tambahkan di firewall mikrotik sobat
/ip firewall nat
add action=dst-nat chain=dstnat comment=redir-squidtasq disabled=no \
dst-address=xxx.xxx.xxx.xxx dst-port=8080 protocol=tcp to-addresses=192.168.2.2 to-ports=80
Untuk memonitor SQUID :
sudo /etc/init.d/squid stop
sudo /etc/init.d/squid restart
/etc/init.d/unbound restart
unbound-control stats
sudo unbound-control stats | tail -16
squidclient mgr:info
squidclient mgr:client_list
tail -f /var/log/squid/access.log
tail -f /var/log/squid/cache.log
tail -n 80 /var/log/squid/cache.log
squidclient mgr:storedir
cat /var/log/squid/access.log | ./squidmon.py
cat /var/log/squid/access.log | python squidmon.py
./ps_mem.py 
Semoga bermanfaat bagi yang membutuhkan salam blogger.!!!

Cara Install DNS Unbound High Performance Squid Lusca FMI di Ubuntu



"Salam blogger!!" Setelah sobat menyelesaikan tugas di Cara Install Proxy Lusca FMI di Ubuntu 10.10 64 Bit "wakakak kaya guru ni pake tugas segala" mari Kita melanjutkan artikel yang tertunda yaitu Cara Install DNS Unbound High Performance Squid Lusca FMI  di Ubuntu
Fungsinya agar Squid Lusca FMI kita lebih optimal menerima request dari user yang masuk ke squid langsung saja ke langkah-langkahnya :
Warning : Install DNS unbound Proxy ini saya lakukan Via PuTTY
Sebelum menginstall DNS Unbound ini sebaiknya di OPTIMALKAN dahulu Squid ubuntu kita dengan Cara :
OPTIMALKAN partisi btrfs nya :

# lsmod |grep -i btrfs

# nano /etc/fstab

/cache btrfs noatime,compress,noacl 0 2

OPTIMALKAN juga kernelnya :

default FD 1024
cek di console

# ulimit -n

cara merubah :
# ulimit -HSn 65536

# echo “root soft nofile 65536″ >> /etc/security/limits.conf
# echo “root hard nofile 65536″ >> /etc/security/limits.conf

# nano /etc/pam.d/common-session
tambahkan :
session required pam_limits.so

# modprobe ip_conntrack

kemudian tambahkan ip_contrack di /etc/modules

# nano /etc/modules

Tambahkan kalimat berikut :

ip_conntrack
Selanjutnya >>>>>>>>>
1. Install DNS Unbound
Silah copas kode dibawah ini dan pastekan di terminal PuTTY sobat (alangkah baiknya di copy dulu di notepad setelah itu baru di paste di terminal putty)

apt-get install unbound -y && cd /etc/unbound && wget  ftp://FTP.INTERNIC.NET/domain/named.cache && unbound-control-setup && chown unbound:root unbound_* && chmod 440 unbound_*

2. Copy file unbound.conf dengan Program WinSCP
Jika sobat belum punya silahkan download dulu disini unbound.conf
jangan lupa di extarct pake winrar terus Sobat pastekan file Unbound.conf yang telah di download ke /etc/unbound/
stelah itu -----------reboot ubuntu---------- sobat. [#reboot]
3. Periksa Status Unbound yang sudah terinstall sobat dengan cara :
---------------------------------
unbound-control status
unbound-control stats
---------------------------------
4. Restart Unbound Service
---------------------------------
/etc/init.d/unbound restart
---------------------------------
jika tulisan sudah [OK] berarti sobat berhasil menngInstall DNS Unbound High Performance di ubuntu dan untuk setting mikrotiknya silahkan download Setting Firewall dan Mangle Mikrotik
Semoga bermanfaat,.. untuk Monitoring Lusca FMI berlanjut ke postingan berikutnya,..! salam sukses.

Cara Install Proxy Lusca FMI di Ubuntu 10.10 64Bitt



Install Prroxy Lusca FMI via Putty.
Setelah selesai instalasi ubuntunya mari kita lanjutkan ke Cara Install Proxy Lusca FMI di Ubuntu 10.10 64Bit bagi yang belum instal silahkan buka di CARA INSTALL UBUNTU SERVER 10.10 64 bit, jika sudah mari kita lanjutkan.
1. Hubungkan PC Proxy dengan Mikrotik memakai kabel RJ45 mode Cross
2. Remote Ubuntu server kita Dengan PuTTY dari PC admin
Jika belum punya silahkan downloada di sini Aplikasi Pendukung Proxy Ubuntu Server.
3. Login ke root cek Ping ke public utuk internetnya jika sudah jalan mari kita lanjutkan,..
4. Update & upgrade repositor Ubuntu
Copas kode dibawah ini dan pastekan di terminal PuTTY ( klik kanan lalu Enter )
apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y && apt-get install squid -y && apt-get install squid squidclient squid-cgi -y && apt-get install gcc -y && apt-get install build-essential -y && apt-get install sharutils -y && apt-get install ccze -y && apt-get install libzip-dev -y && apt-get install automake1.9 -y && wget http://proxy-ku.googlecode.com/files/LUSCA_FMI.tar.gz && tar xzvf LUSCA_FMI.tar.gz && cd LUSCA_FMI/ && make distclean
Tunggu sampai selesai, lama waktu update tergantung koneksi internet kita!!
5. Lakukan perintah compile Untuk Lusca FMI
Copas Kodennya:
./configure --prefix=/usr --exec_prefix=/usr --bindir=/usr/sbin --sbindir=/usr/sbin --libexecdir=/usr/lib/squid --sysconfdir=/etc/squid --localstatedir=/var/spool/squid --datadir=/usr/share/squid --enable-http-gzip --enable-async-io=24 --with-aufs-threads=24 --with-pthreads --enable-storeio=aufs --enable-linux-netfilter --enable-arp-acl --enable-epoll --enable-removal-policies=heap --with-aio --with-dl --enable-snmp --enable-delay-pools --enable-htcp --enable-cache-digests --disable-unlinkd --enable-large-cache-files --with-large-files --enable-err-languages=English --enable-default-err-language=English --with-maxfd=65536 && make && make install
6. Setelah proses selesai lanjutkan pada proses berikut
Copy file-file berikut dengan Program WinSCP
============================================
- File "squid.conf" yang telah disesuaikan ke folder: /etc/squid/
- File "storeurl.pl" ke folder: /etc/squid/
- File "squid" ke folder: /etc/init.d/
Jika belum punya squid.conf dll nya silahkan download disini Perlengkapan Squid Proxy Lusca FMI. (edit dan sesuaikan )
Setelah seleseai di copy mari kita lanjutkan langkah berikutnya :
============================================
7. Memberikan izin akses kepada user squid
Copas Kodennya:
chmod +x /etc/init.d/squid && /etc/init.d/squid stop
8. Memberikan permission pada folder cache
Copas Kodennya:
chown proxy:proxy /cache && chmod 777 /cache chown proxy:proxy /etc/squid/storeurl.pl && chmod 777 /etc/squid/storeurl.pl && chmod +x /etc/init.d/squid
9. Membuat folder swap/cache di dalam folder cache
============================================
/etc/init.d/squid stop
squid -f /etc/squid/squid.conf -z && /etc/init.d/squid restart

10. Agar proses shutdown dapat langsung dijalankan dengan menekan tombol Power gunakan perintah berikut:
Copas Kodennya:
apt-get install acpid
------- reboot -------

buka di winbox kemudian pastekan di terminal mikrotik script di bawah :

/ip firewall address-list add address=192.168.2.0/24 comment="SQUID PROXY EXTERNAL" disabled=no list="ProxyNet"

/ip firewall nat add action=dst-nat \
chain=dstnat comment="TRANSPARENT DNS UDP LOCAL" \
disabled=no dst-port=53 in-interface=local \
protocol=udp to-ports=53

/ip firewall nat add action=dst-nat \
chain=dstnat disabled=no dst-port=53 in-interface=proxy \
protocol=udp to-ports=53 comment="TRANSPARENT DNS UDP PROXY"

/ip firewall nat
add chain=dstnat action=dst-nat to-addresses=192.168.2.2 to-ports=3128 \
protocol=tcp src-address=192.168.11.0/24 src-address-list=!ProxyNet \
comment="REDIRECT KE PROXY" in-interface=Local dst-port=80,3128,8080

C a t a t a n :
Silahkan edit dan sesuaikan dengan jaringan sobat!
12. Langkah Pengujian:
<Silahkan buka>     http://www.whatismyip.com/
<putty>                   tail -f /var/log/squid/access.log | ccze
ini semua hasil test saya sendiri dan hasilnya memuaskan wush...wush,...
Untuk settingan Bandwith dll di tunggu!!!
terakhir semoga bermanfaat Tutorial Lusca FMI ini bagi yang membutuhkan.  "salam blogger"
cara membuat proxy server

cara membuat proxy server

Berikut spesifikasi si PC tua ini :

1.) Processor Intel Pentium 3 800 MHz
2.) Memory (SDRAM) 256 MB (2 slot).
3.) Harddisk 20 GB
4.) LAN Card SMC 10/100 2 buah (untuk eth0 dan eth1).
5.) Sistem operasi CentOS.
Pertama kali, tentu saja instalasi CentOS di PC tua tadi, pilih instalasi mode minimal (tanpa GUI). CentOS sendiri adalah distro turunan Red Hat, masih sodaraan dengan Fedora yang saya pakai di PC :D Kemudian tambahkan paket rpmbuild yang akan digunakan saat mengkompile paket source rpm squid.
Kemudian melakukan setting IP untuk kedua LAN card (eth0 dan eth1) yang terpasang. a.) Pada etho (menghubungkan proxy server dengan modem ADSL Speedy), diberikan settingan sebagai berikut :
IP Address : 192.168.1.2
Netmask : 255.255.255.0
Gateway : 192.168.1.1 (alamat IP modem ADSL)
Primary DNS : 202.134.0.155 (ISP Telkom)
Secondary DNS : 202.134.2.5 (ISP Telkom)
b.) Pada eth1 (terhubung ke switch, menghubungkan proxy server dengan client lainnya), diberikan settingan sebagai berikut :
IP Address : 192.168.50.99
Netmask : 255.255.255.0
Kemudian dilakukan otentikasi MAC Address (access control) di Squid, sehingga hanya MAC Adrress yang terdaftar saja yang bisa menggunakan layanan internet ini.
Langkah-langkahnya sebagai berikut :
1.) Unduh filenya di ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/squid-2.6.STABLE6-5.el5_1.3.src.rpm
2.) Install file rpm tadi dengan cara :
rpm -ivh squid-2.6.STABLE6-5.el5_1.3.src.rpm
3.) Ketik updatedb
4.) Edit file squid.spec (saya menggunakan vim, silahkan gunakan sesuai selera anda, misal nano, kedit, atau lainnya).
vim /usr/src/redhat/SPECS/squid.spec
5.) Tambahkan 2 baris ini di bagian paling bawah dari isi file squid.spec :
enable-arp
enable-arp-acl
6.) Lakukan perintah berikut ini :
rpmbuild -ba /usr/src/redhat/SPECS/squid.spec
Dan tunggu sampai selesai :D
7.) Kemudian lanjutkan dengan meload file rpm :
rpm -ivh /usr/src/redhat/RPMS/i386/squid-2.6.STABLE6-5.3.i386.rpm
Kemudian lakukan konfigurasi pada file squid.conf (vim /etc/squid/squid.conf) :
============= isi file konfigurasi ===============
#SQUID 2.6.STABLE6
#Author by: http://fxekobudi.net
# OPTION JARINGAN
# —————————————————————————–
http_port 3128
icp_port 0
# OPTION UKURAN CACHE
# —————————————————————————–
cache_mem 64 MB
cache_swap_low 94
cache_swap_high 96
maximum_object_size 16384 KB
minimum_object_size 4 KB
maximum_object_size_in_memory 2048 KB
fqdncache_size 1024
cache_replacement_policy heap GDSF
memory_replacement_policy heap GDSF
# DIREKTORI LOG DAN CACHE
# —————————————————————————–
cache_dir aufs /var/spool/squid 9000 16 256
access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log
cache_store_log none
# TUNING CACHE PROXY
# —————————————————————————–
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
negative_ttl 1 minutes
# TIMEOUT
# —————————————————————————–
half_closed_clients off
# ————————————-
# Memblok situs terlarang (blacklist)secara manual
# ————————————-
#acl noblacklist dstdomain “/etc/squid/blacklist/no-blacklist.txt”
#acl katablacklist url_regex -i “/etc/squid/blacklist/kata-blacklist.txt”
#acl domainblacklist dstdomain “/etc/squid/blacklist/domain-blacklist.txt”
#acl ipblacklist dst “/etc/squid/blacklist/ip-blacklist.txt”
# AKSES KONTROL
# —————————————————————————–
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
# ————————————-
# Daftar IP address
# ————————————-
#acl lab1 src 192.168.254.1-192.168.254.40/255.255.255.255
#acl staf-it src 192.168.254.41-192.168.254.42/255.255.255.255
#acl lab2 src 192.168.254.43-192.168.254.44/255.255.255.255
#acl ruang1 src 192.168.1.1-192.168.1.8/255.255.255.255
#acl ruang2 src 192.168.1.11-192.168.1.17/255.255.255.255
# ————————————-
# Daftar MAC address
# ————————————-
acl MACAstina arp 00:C0:4A:02:18:CD 00:11:2F:67:7A:43 00:1B:FC:D8:22:15
# ————————————-
# Memblok situs terlarang secara manual
# ————————————-
#http_access allow noblacklist
#http_access deny katablacklist
#http_access deny domainblacklist
#http_access deny ipblacklist
http_access allow manager localhost
http_access deny manager
# ————————————-
# Rule yang saya terapkan
# ————————————-
http_access allow MACAstina
# ————————————-
# Membatasi download
# ————————————-
acl bebasdownload time 01:00-08:00
acl magic_words2 url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .tar.bz2 .bz2 .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .raw .wav .iso
delay_pools 2
delay_class 1 2
delay_access 1 allow magic_words2 !bebasdownload
delay_access 1 deny all
delay_parameters 1 125000/125000 5000/125000
delay_class 2 2
delay_access 2 allow MACAstina
delay_access 2 deny all
delay_parameters 1 -1/-1 -1/-1
# Cancel download if file is bigger than 2 MB = 2000×1024 byte = 2048000 byte
#reply_body_max_size 2048000 allow magic_words2 tdkbebasdownload
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all
http_reply_access allow all
icp_access allow all
# PARAMETER ADMINISTRATOR
# —————————————————————————–
cache_mgr ptlibra16@gmail.com
cache_effective_user squid
cache_effective_group squid
visible_hostname ASTINA
# PESAN ERROR DALAM BAHASA INDONESIA
# —————————————————————————–
error_directory /usr/share/squid/errors/Indonesian
============= isi file konfigurasi ===============
Kemudian dilanjutkan dengan konfigurasi firewall menggunakan IPTables agar client dapat mengakses internet Speedy via proxy server, dengan port yang digunakan 3128.
Berikut isi shell script yang dinamakan firewall.sh
=========== isi file firewall.sh ==================
#vi firewall.sh
#!/bin/sh
LAN=”eth1″
INTERNET=”eth0″
IPTABLES=”/sbin/iptables”
# Kernel monitoring support
# More information:
# /usr/src/linux-`uname -r`/Documentation/networking/ip-sysctl.txt
# http://www.linuxgazette.com/book/view/1645
# http://www.spirit.com/Network/net0300.html
# Drop ICMP echo-request messages sent to broadcast or multicast addresses
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Drop source routed packets
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
# Enable TCP SYN cookie protection from SYN floods
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# Don’t accept ICMP redirect messages
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
# Don’t send ICMP redirect messages
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
# Enable source address spoofing protection
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
# Log packets with impossible source addresses
echo 1 > /proc/sys/net/ipv4/conf/all/log_martians
# Needed for FTP (specifically, to allow incoming ftp-data connections)
/sbin/modprobe ip_conntrack_ftp
# Flush all chains
$IPTABLES –flush
# Allow unlimited traffic on the loopback interface
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
# Set default policies
$IPTABLES –policy INPUT DROP
$IPTABLES –policy OUTPUT DROP
$IPTABLES –policy FORWARD DROP
# Previously initiated and accepted exchanges bypass rule checking
$IPTABLES -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
# Allow incoming port 22 (ssh) connections on LAN interface
$IPTABLES -A INPUT -i $LAN -p tcp –destination-port 22 -m state \
–state NEW -j ACCEPT
# Allow incoming port 3128 (squid) connections on LAN interface
$IPTABLES -A INPUT -i $LAN -p tcp –destination-port 3128 -m state \
–state NEW -j ACCEPT
# Allow ICMP ECHO REQUESTS on LAN interface
$IPTABLES -A INPUT -i $LAN -p icmp –icmp-type echo-request -j ACCEPT
# Allow DNS resolution
$IPTABLES -A OUTPUT -o $INTERNET -p udp –destination-port 53 -m state \
–state NEW -j ACCEPT
$IPTABLES -A OUTPUT -o $INTERNET -p tcp –destination-port 53 -m state \
–state NEW -j ACCEPT
# Allow ntp synchronization
$IPTABLES -A OUTPUT -o $LAN -p udp –destination-port 123 -m state \
–state NEW -j ACCEPT
# Allow ssh on LAN interface
$IPTABLES -A OUTPUT -o $LAN -p tcp –destination-port 22 -m state \
–state NEW -j ACCEPT
# Allow Squid to proxy ftp, http, https, and AIM traffic
$IPTABLES -A OUTPUT -o $INTERNET -p tcp –destination-port 21 -m state \
–state NEW -j ACCEPT
$IPTABLES -A OUTPUT -o $INTERNET -p tcp –destination-port 80 -m state \
–state NEW -j ACCEPT
$IPTABLES -A OUTPUT -o $INTERNET -p tcp –destination-port 443 -m state \
–state NEW -j ACCEPT
$IPTABLES -A OUTPUT -o $INTERNET -p tcp –destination-port 5190 -m state \
–state NEW -j ACCEPT
# Create a LOGDROP chain to log and drop packets
$IPTABLES -N LOGDROP
$IPTABLES -A LOGDROP -j LOG
$IPTABLES -A LOGDROP -j DROP
# Drop all other traffic
$IPTABLES -A INPUT -j LOGDROP
# Have these rules take effect when iptables is started
/sbin/service iptables save
=========== isi file firewall.sh ==================
Berikan permission pada file firewall.sh tadi agar bisa dieksekusi :
# chmod +x firewall.sh
Lalu jalankan dengan cara ./firewall.sh
Pada kondisi ini, PC telah siap menjadi sebuah proxy server untuk kosan. Permasalahn kemudian muncul, yaitu, mengingat ini adalah sebuah PC biasa yang disetup menjadi server proxy untuk 19 client, keterbatasannya (termasuk juga keterbatasan modem ADSL Speedy) jika dihidupkan terus 24 jam x 7 hari setiap bulan, maka saya dan anak-anak rapat kembali dan memutuskan bahawa dalam seminggu ada 2 kali jadwal “pemadaman” server proxy, masing-masing 6 jam, sehingga kedua benda itu (PC dan modem) bisa istirahat sebentar. nah, agar saat setelah masa istirahat itu squid dapat langsung berjalan otomatis saat PC dihidupkan, maka ditambahkan command berikut :
#echo “/usr/sbin/squid -D” >> /etc/rc.local
Demikian sedikit pengalaman saat mensetup PC biasa menjadi sebuah proxy server untuk internet Speedy di kosan :)
NB :
Berikut beberapa command di Squid :
1.) Menjalankan Squid:
#/sbin/service squid start
2.) Menghentikan Squid
#/sbin/service squid stop
3.) Restart Squid
#/sbin/service squid restart
4.) Monitoring delay pool level via cache manager interface. Request delay page dari CGI interface atau squidclient utility.
# /usr/sbin/squidclient mgr:delay | less