16 November 2011

Mikrotik + Transparent Squid

Mikrotik + Transparent Squid

Akhirnya setelah googling sana – sini dan berani coba – coba, saya berhasil juga konfigurasi Mikrotik + Squid 2.6 STABLE 13 dengan opsi transparent proxy.
Entah teknik benar atau salah, yang jelas tujuan saya memadukan Mikrotik dengan Proxy Server terpisah adalah menjalankan Content Filter ( Dansguardian ) yang saya install pada sebuah Proxy Server yang berbasis FC6 dan Squid 2.6 STABLE 13 yang merupakan bawaan FC6.
======

topologi
inet —- mikrotik —- switch —- user
. |
. squid
keterangan.
Proxy Server berada di dalam Mikrotik, sejajar dengan user dan menggunakan ip local.
========
Spesifikasi :
Router 
Mikrotik 2.9.27
eth1 ( ip public / 202.xx.xx.xx )
eth2 ( ip local / 192.168.0.1 )
Proxy Server
Fedora Core 6
Squid 2.6 STABLE 13 ( port 3128 )
Dansguardian ( port 8080 )
eth0 ( ip local / 192.168.0.2 )
======
Logika saya :
1. Saya berharap bisa memaksa semua user yang akses internet ( port 80 ) agar melewati proxy ( mesin terpisah ) terlebih dahulu  sebelum diteruskan oleh Mikrotik ke Internet.
2. Semua traffic dari user yang masuk langsung ke Mikrotik via port 80 akan di redirect ke web proxy Mikrotik menuju port 3328
3. Traffic yang masuk ke Web Proxy Mikrotik melalui port 3328 akan diarahkan ke parent Proxy pada mesin terpisah melalui port 8080
3.  Semua traffic yang berasal dari proxy server ( 192.168.0.2 ) akan diteruskan oleh Mikrotik ke Internet.
=======
Apa yang saya lakukan :
1. Membuat Router Mikrotik dgn ip 192.168.0.1
2. Membuat NAT di Mikrotik dengan tujuan mengarahkan semua traffic yang menuju ke port 80 kecuali dari ip proxy server ( 192.168.0.2 ) ke web proxy mikrotik pada port 3328
chain=dstnat src-address=!192.168.0.2 protocol=tcp /
/.. dst-port=80 action=redirect to-ports=3328
3. Mengaktifkan Web Proxy pada Mikrotik pada port 3328 dan parent ke Proxy Server (  192.168.0.2 port 8080 )  setting sbb :
enabled: yes
src-address: 0.0.0.0
port: 3328
hostname: “proxy.test”
transparent-proxy: yes
parent-proxy: 192.168.0.2:8080
cache-administrator: “anu@deh.com”
max-object-size: 6096KiB
cache-drive: system
max-cache-size: unlimited
max-ram-cache-size: unlimited
status: running
reserved-for-cache: 12280832KiB
reserved-for-ram-cache: 2048KiB
4. Membuat proxy server dengan FC6 + Squid 2.6 STABLE 13 + Dansguardian
Ip Proxy 192.168.0.
Port Squid 3128
Port Dansguardian 8080
5. Akhirnya jalan juga trasnparent proxy nya …. :D
6. Cuma kudu hati – hati kalo masang rule firewall brutus attack atau rule flooding karena Mikrotik bisa menganggap Proxy Server sebagai tersangka brutus atau flooding.
Mikrotik - menggunakan Squid sebagai Web Proxy

Mikrotik - menggunakan Squid sebagai Web Proxy

untuk lebih mudah saya menggunakan 2 virtual server, yaitu : 1. IP Mikrotik:
- 192.168.10.15 = local
     - 192.168.12.15 = proxy
     - 192.168.5.181 = public/ke modem speedy
2. IP squid (pakai IPCop)
- 192.168.12.1 = ip green(procy)
3. IP Client: 192.168.10.0/24
ok di ipcop disetting dulu bahwa web proxynya jalan di port 878 <= terserah anda aktifkan cachenya misal 15M atau 15000 <= untuk testing
sekarang kita masuk ke mikrotiknya:
/ ip address
add address=192.168.5.181/24 network=192.168.5.0 broadcast=192.168.5.255 \
    interface=Public comment="" disabled=no
add address=192.168.10.15/24 network=192.168.10.0 broadcast=192.168.10.255 \
    interface=Lan comment="" disabled=no
add address=192.168.12.15/24 network=192.168.12.0 broadcast=192.168.12.255 \
    interface=Proxy comment="" disabled=no
setting route:
/ ip route
add dst-address=0.0.0.0/0 gateway=192.168.5.15 scope=255 target-scope=10 \
    comment="" disabled=no
setting dns:


/ ip dns
set primary-dns=192.168.5.182 secondary-dns=192.168.5.205 \
    allow-remote-requests=no cache-size=2048KiB cache-max-ttl=1w
/ ip dns static
add name="192.168.5.3" address=192.168.5.3 ttl=1d 
setting nat:
/ ip firewall nat
add chain=dstnat protocol=tcp dst-port=81 action=dst-nat \
   to-addresses=192.168.12.1 to-ports=81 comment="Untuk IP Cop" disabled=no
add chain=dstnat protocol=tcp dst-port=445 action=dst-nat \
   to-addresses=192.168.12.1 to-ports=445 comment="Untuk HTTPS IPCOP" \
   disabled=no
add chain=dstnat src-address=!192.168.12.0/24 protocol=tcp dst-port=80 \
   action=dst-nat to-addresses=192.168.12.1 to-ports=878 comment="" disabled=no
add chain=dstnat src-address=!192.168.12.0/24 protocol=tcp dst-port=443 \
   action=dst-nat to-addresses=192.168.12.1 to-ports=878 comment="" \
   disabled=no
add chain=srcnat out-interface=Public action=masquerade comment="" disabled=no

  • Nat kemaren salah paste, mohon maaf ya
nah terus ini yang paling penting, setting manggle:
/ ip firewall mangle
add chain=forward content="X-Cache: HIT" action=mark-connection \
    new-connection-mark=squid_con passthrough=yes comment="" disabled=no
add chain=forward connection-mark=squid_con action=mark-packet \
    new-packet-mark=squid_pkt passthrough=no comment="" disabled=no
add chain=forward connection-mark=!squid_con action=mark-connection \
    new-connection-mark=all_con passthrough=yes comment="" disabled=no
add chain=forward protocol=tcp src-port=80 connection-mark=all_con \
    action=mark-packet new-packet-mark=http_pkt passthrough=no comment="" \
    disabled=no
add chain=forward protocol=icmp connection-mark=all_con action=mark-packet \
    new-packet-mark=icmp_pkt passthrough=no comment="" disabled=no
add chain=forward protocol=tcp dst-port=1973 connection-mark=all_con \
    action=mark-packet new-packet-mark=top_pkt passthrough=no comment="" \
    disabled=no
add chain=forward connection-mark=all_con action=mark-packet \
    new-packet-mark=test_pkt passthrough=no comment="" disabled=no 
terus queue :
/ queue simple
add name="Squid_HIT" dst-address=0.0.0.0/0 interface=all parent=none \
    packet-marks=squid_pkt direction=both priority=8 \
    queue=default-small/default-small limit-at=0/0 max-limit=0/0 \
    total-queue=default-small disabled=no
add name="Main_Link" dst-address=0.0.0.0/0 interface=all parent=none \
    direction=both priority=8 queue=default-small/default-small limit-at=0/0 \
    max-limit=35000/256000 total-queue=default-small disabled=no
add name="game_tales_of_pirate" dst-address=0.0.0.0/0 interface=all \
    parent=none packet-marks=top_pkt direction=both priority=1 \
    queue=default-small/default-small limit-at=0/0 max-limit=0/0 \
    total-queue=default-small disabled=no
add name="Ping_queue" dst-address=0.0.0.0/0 interface=all parent=none \
    packet-marks=icmp_pkt direction=both priority=2 \
    queue=default-small/default-small limit-at=0/0 max-limit=0/0 \
    total-queue=default-small disabled=no
add name="The_other_port_queue" target-addresses=192.168.12.0/24 \
    dst-address=0.0.0.0/0 interface=all parent=Main_Link packet-marks=http_pkt \
    direction=both priority=8 queue=default-small/default-small \
    limit-at=5000/5000 max-limit=50000/256000 total-queue=default-small \
    disabled=no
add name="another_port" target-addresses=192.168.10.0/24 dst-address=0.0.0.0/0 \
    interface=all parent=Main_Link packet-marks=test_pkt direction=both \
    priority=8 queue=default-small/default-small limit-at=0/0 \
    max-limit=0/256000 total-queue=default-small disabled=no 
hasilnya: pertama mencache:
kedua hasil cachenya:

semoga membantu teman-teman sekalian

10 November 2011

Seting RB 750 IP ADDRESS

Seting RB 750 IP ADDRESS

Seting RB 750 IP ADDRESS TIAP MESIN

Seting RB 750

set ip address LAN : 192.168.1.1
set ip address PUBLIK : 10.10.0.3
set ip address PROXY : 192.168.0.1
seting pada mesin IpCop p4(untuk proxy)
set ip address GREEN : 192.168.0.2
seting pada komputer client
set ip address client : 192.168.1.2/24
SETINGAN PORT IPCOP
gateway ipcop set di ip proxi di mikrotik rb750 : 192.168.0.1
seting pada mesin ip cop jalan di port : 878 dan aktifkan cache nya menurut kebutuhan
SETINGAN MIKROTIK RB 750
set ip address
Code:
/ ip address
add address=10.10.0.3/24 network=10.10.0.0 broadcast=10.10.0.255 \
    interface=PUBLIK comment="ip internet" disabled=no
add address=192.168.1.1/24 network=192.168.1.0 broadcast=192.168.1.255 \
    interface=LAN comment="ip lokal" disabled=no
add address=192.168.0.1/24 network=192.168.0.0 broadcast=192.168.0.255 \
    interface=PROXY comment="ip IpCop" disabled=no
seting route
Code:
/ ip route
add dst-address=0.0.0.0/0 gateway=192.168.1.1 scope=255 target-scope=10 \
    comment="gateway" disabled=no
seting DNS
Code:
/ ip dns
set primary-dns=8.8.8.8 secondary-dns=8.8.4.4 \
    allow-remote-requests=no cache-size=2048KiB cache-max-ttl=1w
/ ip dns static
add name="10.10.0.3" address=10.10.0.3 ttl=1d
seting NAT
Code:
/ ip firewall nat
add chain=dstnat protocol=tcp dst-port=81 action=dst-nat \
    to-addresses=192.168.0.2 to-ports=81 comment="Untuk IP Cop" disabled=no
add chain=dstnat protocol=tcp dst-port=445 action=dst-nat \
    to-addresses=192.168.0.2 to-ports=445 comment="Untuk HTTPS IPCOP" \
    disabled=no
add chain=dstnat src-address=!192.168.0.0/24 protocol=tcp dst-port=80 \
    action=dst-nat to-addresses=192.168.0.2 to-ports=878 comment="" disabled=no
add chain=dstnat src-address=!192.168.0.0/24 protocol=tcp dst-port=443 \
    action=dst-nat to-addresses=192.168.0.2 to-ports=878 comment="" \
    disabled=no
add chain=srcnat out-interface=PUBLIK action=masquerade comment="" disabled=no
Seting Mangle
Code:
/ ip firewall mangle
add chain=forward content="X-Cache: HIT" action=mark-connection \
    new-connection-mark=squid_con passthrough=yes comment="" disabled=no
add chain=forward connection-mark=squid_con action=mark-packet \
    new-packet-mark=squid_pkt passthrough=no comment="" disabled=no
add chain=forward connection-mark=!squid_con action=mark-connection \
    new-connection-mark=all_con passthrough=yes comment="" disabled=no
add chain=forward protocol=tcp src-port=80 connection-mark=all_con \
    action=mark-packet new-packet-mark=http_pkt passthrough=no comment="" \
    disabled=no
add chain=forward protocol=icmp connection-mark=all_con action=mark-packet \
    new-packet-mark=icmp_pkt passthrough=no comment="" disabled=no
add chain=forward protocol=tcp dst-port=1973 connection-mark=all_con \
    action=mark-packet new-packet-mark=top_pkt passthrough=no comment="" \
    disabled=no
add chain=forward connection-mark=all_con action=mark-packet \
    new-packet-mark=test_pkt passthrough=no comment="" disabled=no
seting queue
Code:
/ queue simple
add name="Squid_HIT" dst-address=0.0.0.0/0 interface=all parent=none \
    packet-marks=squid_pkt direction=both priority=8 \
    queue=default-small/default-small limit-at=0/0 max-limit=0/0 \
    total-queue=default-small disabled=no
add name="Main_Link" dst-address=0.0.0.0/0 interface=all parent=none \
    direction=both priority=8 queue=default-small/default-small limit-at=0/0 \
    max-limit=35000/256000 total-queue=default-small disabled=no
add name="game_tales_of_pirate" dst-address=0.0.0.0/0 interface=all \
    parent=none packet-marks=top_pkt direction=both priority=1 \
    queue=default-small/default-small limit-at=0/0 max-limit=0/0 \
    total-queue=default-small disabled=no
add name="Ping_queue" dst-address=0.0.0.0/0 interface=all parent=none \
    packet-marks=icmp_pkt direction=both priority=2 \
    queue=default-small/default-small limit-at=0/0 max-limit=0/0 \
    total-queue=default-small disabled=no
add name="The_other_port_queue" target-addresses=192.168.12.0/24 \
    dst-address=0.0.0.0/0 interface=all parent=Main_Link packet-marks=http_pkt \
    direction=both priority=8 queue=default-small/default-small \
    limit-at=5000/5000 max-limit=50000/256000 total-queue=default-small \
    disabled=no
add name="another_port" target-addresses=192.168.10.0/24 dst-address=0.0.0.0/0 \
    interface=all parent=Main_Link packet-marks=test_pkt direction=both \
    priority=8 queue=default-small/default-small limit-at=0/0 \
    max-limit=0/256000 total-queue=default-small disabled=no

09 November 2011

cara membuat Menu Navigasi Terapung

Sebelumnya Blogger Tune-Up pernah membahas cara membuat Menu Navigasi Terapung dan Float Nav Bar. Pada artikel kali ini merupakan pengembangan dari trik-trik blogger hack yang pernah dibahas, yaitu kita akan membuat gadget terapung yang tidak terpengaruh oleh scrollbar dan selalu dalam posisi tetap.

Mungkin teman-teman pernah jalan-jalan ke blog orang lain dan menemukan sebuah tombol di pinggir halaman yang jika di klik akan menampilkan sesuatu (misal; shoutbox, buku tamu, subscriber, dan lain sebagainya) dan posisinya selalu tetap walaupun halaman tersebut kita geser atas bawah kiri kanan. Sebenarnya hal tersebut pada dasarnya adalah sebuah gadget yang diatur seakan-akan mengapung atau menempel pada halaman. Sebagai contoh Blogger Tune-Up menggunakan gadget terapung ini untuk menempatkan ShoutMix yang sudah lama hilang pada sebelah kanan atas dengan tombol bertuliskan "PESAN"


Membuat Gadget Terapung (Floating Widget)

Sebelumnya Blogger Tune-Up pernah membahas cara membuat Menu Navigasi Terapung dan Float Nav Bar. Pada artikel kali ini merupakan pengembangan dari trik-trik blogger hack yang pernah dibahas, yaitu kita akan membuat gadget terapung yang tidak terpengaruh oleh scrollbar dan selalu dalam posisi tetap.

Mungkin teman-teman pernah jalan-jalan ke blog orang lain dan menemukan sebuah tombol di pinggir halaman yang jika di klik akan menampilkan sesuatu (misal; shoutbox, buku tamu, subscriber, dan lain sebagainya) dan posisinya selalu tetap walaupun halaman tersebut kita geser atas bawah kiri kanan. Sebenarnya hal tersebut pada dasarnya adalah sebuah gadget yang diatur seakan-akan mengapung atau menempel pada halaman. Sebagai contoh Blogger Tune-Up menggunakan gadget terapung ini untuk menempatkan ShoutMix yang sudah lama hilang pada sebelah kanan atas dengan tombol bertuliskan "PESAN".

Langkah integrasi gadget terapung (floating widget)


Langkah 1
Login ke blogger
Langkah 2
Masuk ke bagian "Tata Letak - Elemen Halaman"
Langkah 3
"Tambah Gadget" Baru dengan tipe "HTML/JavaScript"
Langkah 4
Masukan (copy paste) kode dibawah ini pada isi/konten gadget yang baru kita buat:

<div style="border: 1px solid #000; overflow: auto; height: 220px;">
<script style="text/javascript" src="http://hensblog.googlecode.com/files/daftar_isi.js"></script>
<script style="text/javascript">
var numposts = 1000;
var showpostdate = false;
var showpostsummary = false;
var numchars = 100;
var standardstyling = true;
</script>
<script src="/feeds/posts/default?orderby=published&alt=json-in-script&max-results=999&callback=showrecentposts"></script>
</div>
Langkah 5
Simpan Gadget

Keterangan:

  • border: 1px solid #000 : Ubahlah border sesuai dengan keinginan anda
  • height: 220px : Ubah nilai 220px untuk mengatur tinggi widget daftar isi
  • Jika ingin menampilkan daftar isi sesuai dengan label/kategori tertentu silahkan tambahkan kode /-/Label sehingga menjadi seperti kode dibawah ini (ganti Label dengan kategori yang ingin ditampilkan):

<div style="border: 1px solid #000; overflow: auto; height: 220px;">
<script style="text/javascript" src="http://hensblog.googlecode.com/files/daftar_isi.js"></script>
<script style="text/javascript">
var numposts = 1000;
var showpostdate = false;
var showpostsummary = false;
var numchars = 100;
var standardstyling = true;
</script>
<script src="/feeds/posts/default?orderby=published&alt=json-in-script&max-results=999&callback=showrecentposts"></script>
</div>