Friday, August 14, 2009

Install Mikrotik Router OS

MikroTik RouterOS™ adalah sistem operasi dan perangkat lunak yang dapat digunakan untuk menjadikan komputer manjadi router network yang handal, mencakup berbagai fitur yang dibuat untuk ip network dan jaringan wireless, cocok digunakan oleh ISP dan provider hotspot.
Untuk instalasi silahkan ikuti langkah-langkah berikut :

  1. Siapkan CD Instalasi Mikrotik Router OS ( Bila belum punya silahkan download disini untuk versi trial dan disini untuk versi crack

  2. Burning file ISO tersebut kedalam CD Kosong

  3. Booting komputer dengan first boot device CD-ROM

  4. Setelah proses booting akan muncul menu pilihan software yang mau di install, pilih sesuai kebutuhan yang akan direncanakan

  5. Setelah selesai memilih software, Ketik "i" untuk mulai install. lalu akan menu pilihan seperti ini :

  • Do you want to keep old configuration ? [y/n]ketikY

  • Continue ? [y/n]ketikY

  1. Setelah itu, proses installasi system dimulai, disini kita tidak perlu membuat partisi hardisk karena secara otomatis dia akan membuat partisi sendiri

  2. Setelah proses installasi selesai maka kita akan di minta untuk merestart system, tekan enter untuk merestart system

  3. Setelah computer booting kembali ke system mikrotik, akan ada pilihan untuk melakukan check system disk, tekan “ y “

  4. Setelah itu akan muncul menu login:

  • user=admin

  • password=(kosong enter saja)

  1. Untuk software license tekan “ y “ . Lalu enter beberapa kali sampai muncul prompt

Selesai sudah cara install Mikrotik Router Os pada PC anda setelah itu anda tingal konfigurasi systemnya agar menjadi router yang tangguh dan handal.

Readmore

Cara Buat Related Post

Mungkin anda sudah tidak asing dengan apa yang dinamakan Related Posts. Kalo misalnya belum tahu, saya kasih sedikit gambaran, Related Posts itu adalah Artikel yang Bersangkutan dimana kalo misalnya kita menampilkan suatu artikel maka akan tampil juga artikel lain dengan label yang bersangkutan. Pasti dah ngerti kan sekarang......

Ok....sekarang bagaimana cara buat Related Posts. Silahkan ikuti tutorialnya.
  1. Login di Blogger
  2. di menu Dashboard klik Layout --> edit HTML.
  3. Kasih tanda checklist pada kolom Expand Template Widget.
  4. Cari kode HTML berikut :

    <data:post.body/>

  5. Kemudian buka link berikut Related Posts code dan copy semuanya
  6. Simpan kode yang barusan di copy seperti ini :

    <data:post.body/>
    (Simpan kodenya disini)

  7. Save Templates dan selesai
Selamat Mencoba.....!

Sumber : http://kursus-blog.blogspot.com
Readmore

Cara Buat Read More di blogger

Sebelum membahas bagaimana cara membuat read more di blogspot, terlebih dahulu saya akan sedikit berbicara tentang read more itu sendiri. Read more adalah suatu fungsi yang dapat meringkas suatu artikel / postingan pada blog. Intinya dengan menggunakan cara read more ini, suatu postingan tidak akan tampil seutuhnya pada halaman utama blog (Home). Melainkan hanya berupa ringkasan saja. Setelah kata / tulisan read more itu di klik, barulah seluruh postingan akan tampil.

Cara Membuat Read More

Tahap Kesatu

1. Login di Blogger, kemudian masuk ke halaman edit html

2. kasih tanda checklist pada kolom expand template widget

3. Cari kode html seperti ini :

<div class='post-header-line-1'/>
<div class='post-body entry-content'>


4. Kemudian simpan kode berikut di bawah kode yang anda cari barusan:

<b:if cond='data:blog.pageType == "item"'>
<style>.fullpost{display:inline;}</style>
<p><data:post.body/></p>
<b:else/>
<style>.fullpost{display:none;}</style>



5. Selanjutnya, dibawah kode yang baru anda simpan barusan, terdapat kode seperti ini :

<data:post.body/>
<div style="'clear:"> <!– clear for photos floats –>
</div>


lalu diantara kode

<data:post.body/>


dan

<div style="'clear:"> <!– clear for photos floats –>
</div>


Simpan kode yang ini :

<a expr:href='data:post.url'>Read More .. </a>
</b:if>


Sehingga hasil dari perubahan kode html selengkapnya menjadi seperti ini :

<div class='post-header-line-1'/>
<div class='post-body entry-content'>

<b:if cond='data:blog.pageType == "item"'>
<style>.fullpost{display:inline;}</style>
<p><data:post.body/></p>
<b:else/>
<style>.fullpost{display:none;}</style>
<p><data:post.body/></p>
<a expr:href='data:post.url'>Read More .. </a>
</b:if>

<div style="'clear:"> <!– clear for photos floats –>
</div>



Tahap Kedua

Setelah selesai melakukan edit kode html-nya, sekarang kita beranjak ke bagaimana cara melakukan posting artikel supaya fungsi read more tersebut bisa kita aplikasikan. Berikut petunjuknya :

1. Silahkan buat postingan sampai selesai (jg dulu di publish)

2. Tentukan bagian postingan yang akan di tampilkan (ringkasan), kemudian masukan kode berikut pada akhir bagian postingan tersebut :

<span class="fullpost">


3. Pada akhir postingan, masukan kode ini :

</span>


4. Selesai

Jika temen2 masih bingung, berikut ilustrasi dari cara posting artikel dengan menggunakan read more :

ini adalah text ringkasan
<span class="fullpost">
ini adalah text lanjutannya
</span>
Selamat Mencoba....

Sumber : http://kursus-blog.blogspot.com

Readmore

Google Sitemap Untuk Blogspot

Tips SEO - Anda tau sitemap...? Apa sih sitemap itu...? Sekedar informasi saja, sitemap merupakan kumpulan daftar halaman sebuah blog. Dengan adanya sitemap, akan memudahkan search engine untuk mengcrawler blog kita. Nah....selain mendaftarkan blog kita di google, satu hal lagi yang wajib anda lakukan supaya bisa di indeks search engine yaitu dengan mencantumkan sitemap blog kita. Nah....bagaimana caranya..?? ikutin aja langkah2 di bawah ini :

  1. Login di http://www.google.com/webmasters/ dengan menggunakan id dan password account gmail anda.
  2. Jika belum memasukan situs anda silahkan daftarin dulu. Kalo udah langsung aja menuju sitemap --> add sitemap
  3. Pada kolom choose type, pilih add general web sitemap
  4. Pada my sitemap URL (Url Blog anda biasanya sudah ada) isikan atom.xml?redirect=false
  5. Klik OK dan selesai

Yap begitulah cara mudah untuk mendaftarkan sitemap blog anda di google.

Selamat Mencoba

Sumber : http://kursus-blog.blogspot.com
Readmore

Thursday, August 13, 2009

SEO : Optimasi Judul Halaman Blog

Tentang SEO - Salah satu cara bagaimana search engine mengindeks blog kita (blogspot) adalah dengan melihat title tag / judul halaman. setiap halaman posting yang kita tulis itu akan terindeks sesuai dengan judul postingan tersebut. Cuma...kalo anda perhatikan, Jika anda mempunyai judul blog yang panjang, maka setiap judul artikel yang terindeks search engine tidak akan tampil semuanya. Nah....berikut saya sampaikan bagaimana cara memperbaiki Judul Halaman Blog agar SEO Friendly.

  1. Saya sarankan, anda memperpendek judul blog.....dengan mengoptimalkan kata kunci utama blog anda.
  2. Saatnya edit HTML. Silahkan login di blogger kemudian menuju ke menu layout lalu edit HTML
  3. Selanjutnya, cari kode HTML berikut (di bagian atas)

    <title><data:blog.pageTitle/></title>

  4. Hapus kode tersebut dan ganti dengan kode dibawah ini :

    <b:if cond='data:blog.pageType == &quot;index&quot;'>

    <title><data:blog.title/></title>

    <b:else/>

    <title><data:blog.pageName/> - <data:blog.title/></title>


    </b:if>



  5. Save Template dan selesai
Perubahan kode HTML tersebut akan membuat judul halaman blog anda berada di depan judul blog anda. Sehingga setiap judul blog anda, akan beralih peranan menjadi kata kunci untuk blog anda.

Selamat Mencoba

Sumber : http://kursus-blog.blogspot.com
Readmore

Tips SEO : Pasang Meta Tag di Blogspot

Tips SEO kali ini membahas mengenai meta tag. Jika anda belum tahu apa itu meta tag dan apa manfaatnya memasang meta tag di blog anda, berikut penjelasan singkatnya.

Apakah anda tahu bahwa memasang meta tag itu adalah suatu hal penting untuk mendatangkan lebih traffic dari search engine seperti google, yahoo, atau msn.

Pengertian Meta Tag
Meta tag adalah sebuah tag yang menjelaskan deskripsi blog / situs anda. Sekaligus memberikan informasi kepada mesin pencari, mengenai isi dari blog / situs anda. Perlu diketahui saja, memasang meta tag di blog / situs anda merupakan hal paling penting dalam SEO. Dengan meta tag di blog / situs anda, akan mempermudah mesin pencari untuk meng-indeks blog / situs anda. Tentunya, anda harus mendaftarkan dulu blog / situs anda di mesin pencari. Jika belum langsung aja ke Cara Daftar Search Engine. Mau pasang meta tag sekarang juga...? gampang kok. Silahkan ikuti tutorialnya.

1. Login di blogger. Pada menu dashboard pilih layout.


2. Klik pada menu edit HTML.


3. Selanjutnya, cari kode berikut :



4. Copy Paste kode di bawah ini dan simpan tepat di bawah kode diatas.

'Deskripsi Blog' name='description'/>
'Kata Kunci Blog' name='keywords'/>
'Nama Anda' name='author'/>

Catatan: Ganti Text yang berwarna merah, sesuai intruksi berikut :
Deskripsi Blog --> Penjelasan Tentang isi dari Blog Anda
Kata Kunci Blog --> Kata Kunci tentang Blog anda
Nama Anda --> ya....nama dikau lah, masa nama saya.....hehehe

Kalo masih bingung, berikut contoh meta tag untuk blog saya :

'Tempatnya Belajar Blog dan Bisnis Online ada template gratis serta ebook juga lho' name='description'/>
'kursus blog, Belajar blog, blogger hack, tutorial blogger, kursus, blog, bisnis, bisnis online, tutorial blog, seo, affiliate, free template, free blogger templates' name='keywords'/>
'Muhammad iqbal' name='author'/>

Mudah kan...? Langsung praktekin aja.........

Sumber : http://kursus-blog.blogspot.com

Readmore

Optimasi SEO Blogspot supaya Tampil di Seacrh Engine

Optimasi SEO Blogspot ini saya hanya bisa menyarankan dan memang terbukti berhasil, Jika anda memang ingin blog anda tampil di search engine, saya sarankan untuk mengikuti Optimasi SEO Blogspot ini. Tapi ingat...sekali lagi ini hanya saran dari saya setelah merasakannya. Gimana mo lanjut....?? kalo mau langsung aja ikutin cara2nya.....
  1. Optimalkan keywords untuk setiap content blog anda. Jangan pernah salah untuk memilih keyword, apalagi yang sama sekali ga ada kaittannya sama isi dari blog anda. Untuk Lebih jelasnya, silahkan ikuti pasang meta tag di blogspot
  2. Optimalkan Title Tag / Judul Halaman Blog. Untuk keterangan lebih lanjut silahkan ikuti Optimasi Judul Halaman Blog
  3. Jadikan paragaraf pertama postingan anda sebagai tempat untuk keyword anda. Misalnya pada postingan ini saya utamakan kata Optimasi SEO Blogspot. Lihat berapa banyak kata tersebut di ulang di paragraf pertama postingan ini. Tapi ingat jangan terlalu banyak. maksimal 3 / 4 kali.
  4. Daftarkan Sitemap untuk blog anda. Untuk caranya, silahkan menuju ke Google Sitemap Untuk Blogspot
  5. Pasang Artikel yang berkaitan untuk setiap label postingan anda. Jika belum, silahkan menuju Pasang related post di blog
  6. Manfaatkan fasilitas Readmore (Baca Selanjutnya). Karena hal tsb akan menarik perhatian pengunjung blog anda. Kalo belum pake, silahkan ke bikin readmore
  7. Banyakin One way link. Yang paling gampang, silahkan buat blog sebanyak mungkin dan arahkan link blog2 tersebut ke blog yang ingin anda optimalkan
  8. Pasang Social Bookmark seperti techorati
Gimana...mudahkan...?? Sekali lagi ingat ini cuma saran saya aja. Dan butuh waktu yang lumayan lo untuk liat hasilnya. Tapi ga ada salahnya khan kalo dicoba...dijamin HALAL.

Sumber : http://kursus-blog.blogspot.com

Readmore

High-performance Proxy caching server

Daftar isi :

1. Pendahuluan

1.1 Apa itu Squid ?

1.2 Apa itu Internet Object caching ?

2. Installasi Squid

3. Konfigurasi dan Optimasi squid

4. Paramater lain Tunning System Squid

5. Penutup


1. Pendahuluan

1.1 Apa itu Squid ?

Squid adalah high-performance proxy caching server untuk web klien, yang sudah mendukung FTP, ghoper, dan HTTP data object. Berbeda dengan software caching yang lama, squid menangani semua permintaan tunggal (single), non-blocking, I/O-driven proses.

Squid menyimpan meta data dan terutama hot-object yang di simpan di RAM, menyimpan DNS lookups, mendukung non-blocking DNS lookups, dan implementasi negative-caching jika permintaan gagal.

Squid mendukung SSL, access kontrol yang banyak, dan full request logging. Dengan menggunakan lightweight internet cache protokol, squid cache dapat dibuat dalam suatu hirarki atau mesh untuk meningkatkan penghematan bandwidth.

Squid terdiri dari program server utama squid, sebuah Domain Name System lookup (program dnsserver), beberapa program tambahan untuk permintaan menulis ulang dan melakukan authentication, dan beberapa tools management client. Ketika squid dijalankan, itu akan menambah jumlah proses dnsserver, masing-masing bertugas sendiri-sendiri, blocking Domain Name System (DNS) lookup. Ini akan mengurangi waktu tunggu DNS lookups.

1.2 Apa itu Internet Object caching ?

Internet Object caching adalah suatu cara untuk menyimpan hasil permintaan internet-object. (seperti, data yang ada dari HTTP, FTP, dan ghoper protokol) untuk membuat sistem dekat dengan permintaan daripada ke sumber aslinya. Web browser dapat menggunakan lokal squid cache sebagai proxy HTTP server, ini akan mengurangi waktu akses seperti halnya penghematan bandwidth.

2. Installasi Squid

Paket-paket yang dibutuhkan :

- compiler gcc dan tool pendukung compiler (development program)
- malloc, program memori utilisasi
- Squid source program (tarball)

Download paket dan install :

root@proxy root# mkdir /download
root@proxy download# cd /download
root@proxy download# wget http://www.squid-cache.org/Versions/v2/2.5/squid-2.5.STABLE10.tar.gz
root@proxy download# wget ftp://ftp.gnu.org/gnu/malloc.tar.gz

Sebelum installasi squid, pastikan program squid lama anda yang mungkin sudah terinstall di sistem untuk di uninstall dulu.

root@proxy root# rpm -qa |grep squid
squid-2.5STABLE6
root@proxy root# rpm -e squid-2.5STABLE6

Installasi semua paket squid :

root@proxy download# tar xzf malloc.tar.gz
root@proxy download# cd malloc
root@proxy malloc# vi Makefile
—-semula—–
# Use this on System V.
#CPPFLAGS = -DUSG
—————

diubah —

—-menjadi—–
# Use this on System V.
CPPFLAGS = -DUSG
—————

root@proxy malloc# make
root@proxy malloc# cp libmalloc.a /usr/lib/libgnumalloc.a
root@proxy malloc# cp malloc.h /usr/include/gnumalloc.h

Tunning system sebelum installasi squid (ini maksudnya, untuk mengaktifkan langsung pada saat kompile squid), tujuannya untuk menaikkan File Deskriptor (FD) , memperbesar proses penggunaan file :

root@proxy malloc# vi /etc/security/limits.conf
* Soft nofile 2048
* Hard nofile 2048
root@proxy malloc# ulimit -HSn 2048
root@proxy malloc# ulimit -n
4096

Installasi Core Squid program :

root@proxy malloc# cd /download
root@proxy download# tar squid-2.5.STABLE10.tar.gz
root@proxy download# cd squid-2.5.STABLE10
root@proxy squid-2.5.STABLE10# ./configure \
–prefix=/usr –exec-prefix=/usr –bindir=/usr/bin \
–sbindir=/usr/sbin –libexecdir=/usr/libexec \
–datadir=/usr/share/squid –sysconfdir=/etc/squid \
–sharedstatedir=/usr/com –localstatedir=/var \
–libdir=/usr/lib –includedir=/usr/include \
–infodir=/usr/share/info –mandir=/usr/share/man \
–libexecdir=/usr/lib/squid \
–enable-gnuregex \
–enable-async-io=24 \
–with-aufs-threads=24 \
–with-pthreads \
–with-aio \
–with-dl \
–enable-storeio=aufs \
–enable-removal-policies=heap \
–enable-icmp \
–enable-delay-pools \
–disable-wccp \
–enable-snmp \
–enable-ssl \
–enable-cache-digests \
–enable-default-err-languages=English \
–enable-err-languages=English \
–enable-poll \
–enable-linux-netfilter \
–disable-ident-lookups \
–disable-hostname-checks \
–enable-underscores \
–enable-cachemgr-hostname=localhost

Catatan: 7 baris paling atas adalah penyesuaian konfigurasi dari sistem yang ada di redhat/fedora. dan untuk opsi-opsi silahkan kompile jika dibutuhkan, kalau tidak dibutuhkan jangan dimasukkan pada saat kompile.

root@proxy squid-2.5.STABLE10# mkdir /var/log/squid
root@proxy squid-2.5.STABLE10# chown -R squid:squid /var/log/squid
root@proxy squid-2.5.STABLE10# make all && make install
root@proxy squid-2.5.STABLE10# strip /usr/lib/squid/*
root@proxy squid-2.5.STABLE10# strip /usr/sbin/squid

3. Konfigurasi dan Optimasi squid

Konfigurasi squid :

http_port 3128
icp_port 3130
ssl_unclean_shutdown on
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 6 MB
cache_swap_low 98
cache_swap_high 99
maximum_object_size 64 MB
maximum_object_size_in_memory 16 KB
ipcache_size 8192
ipcache_low 98
ipcache_high 99
fqdncache_size 8192
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF
cache_dir aufs /cache01 5000 10 256
cache_access_log /var/log/squid/access.log
#cache_access_log none
cache_log /var/log/squid/cache.log
cache_store_log none
emulate_httpd_log off
pid_filename /var/run/squid.pid
mime_table /etc/squid/mime.conf
log_fqdn off
memory_pools off
client_netmask 255.255.255.255
ftp_user squid@domainku.web

This email address is being protected from spam bots, you need Javascript enabled to view it
ftp_list_width 32
ftp_passive on
ftp_sanitycheck on
refresh_pattern ^ftp: 40320 95% 241920 reload-into-ims
refresh_pattern . 120 50% 14400
quick_abort_min 0
quick_abort_max 0
quick_abort_pct 98
negative_ttl 2 minutes
half_closed_clients off
read_timeout 15 minutes
client_lifetime 2 hours
pconn_timeout 60 seconds
request_timeout 1 minutes
shutdown_lifetime 10 seconds
positive_dns_ttl 60 seconds
negative_dns_ttl 30 seconds
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1
acl lan src 192.168.0.0/24 192.168.1.0/24
acl to_localhost dst 127.0.0.0/8
acl PURGE method PURGE
acl POST method POST
acl IpAddressOnly url_regex ^http://[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/$
acl IpAddressOnly url_regex ^http://[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$
acl GETONLY method GET
acl VIRUS urlpath_regex winnt/system32/cmd.exe?
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
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
acl snmppublic snmp_community public
# Hotmail workaround
header_access Accept-Encoding deny all
http_access allow localhost
http_access allow lan
http_access allow manager lan
http_access allow PURGE localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny PURGE
http_access deny VIRUS
http_access deny all
http_reply_access allow all
icp_access allow lan
icp_access deny all
miss_access allow lan
miss_access deny all
cachemgr_passwd passwordku all
cache_mgr proxyadmin@domainku.web

This email address is being protected from spam bots, you need Javascript enabled to view it
cache_effective_user squid
cache_effective_group squid
visible_hostname proxies3.domainku.web.id
unique_hostname proxy.domainku.web.id
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
httpd_accel_no_pmtu_disc on
logfile_rotate 7
forwarded_for on
icp_hit_stale on
log_icp_queries off
query_icmp on
buffered_logs off
strip_query_terms off
icon_directory /usr/share/squid/icons
error_directory /usr/share/squid/errors/English
store_avg_object_size 13 KB
store_objects_per_bucket 10
client_db on
snmp_port 3401
snmp_access allow snmppublic lan
snmp_access deny all
coredump_dir /cache01
reload_into_ims on
pipeline_prefetch on
ie_refresh on
vary_ignore_expire on

Tips Optimasi Squid :

Jika ada beberapa situs terdekat yg mungkin hanya 1 hop, di-by pass saja supaya kerja Squid benar-benar utk yg jaraknya jauh (hopnya banyak).

hierarchy_stoplist cgi-bin ? localhost domain-anda.com isp-anda.com domainku.web.id
acl QUERY urlpath_regex cgi-bin \? localhost domain-anda.com isp-anda.com domainku.web.id
no_cache deny QUERY

Dari pengalaman dan rekomendasi 6 MB akan lebih cepat dan biarkan Squid bekerja lebih keras lagi.

cache_mem 6 MB
cache_swap_low 98
cache_swap_high 99

Maksimum obyek di hardisk dan di memori diupayakan lebih besar shg byte hit lebih tinggi (bisa dinaikkan lagi jika hardisk berkecepatan tinggi dan jumlahnya banyak dg memori yg lebih besar pula).

maximum_object_size 128 MB
maximum_object_size_in_memory 32 KB

Jika memori 512 MB atau lebih besar silahkan cache diperbesar.

ipcache_size 2048
ipcache_low 98
ipcache_high 99

Untuk heap replacement saya memakai LFUDA utk cache hardisk dan GDSF utk cache memori dg alasan di hardisk diprioritaskan obyek yg ukuran besar-besar dan di memori obyek yg ukurannya kecil-kecil utk disimpan.

cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF

Idealnya ruang di hardisk yg anda pakai hanya sekitar 70% dari total krn semakin penuh Squid akan semakin pelan mencari tempat kosong, mis. utk cache 1 GB maka yg dipakai hanya 700MB (jangan 1GB dipakai semuanya). Jangan lupa hanya 1 direktori per drive krn faktor penghambat adalah kecepatan spindle hardisk lho, bukan terus dg memperbanyak direktori pada 1 hd akan mempercepat (hd orde milidetik, memori orde nanodetik). Jadi mending hardisknya banyak tapi ukurannya kecil-kecil daripada hanya 1 berukuran besar. Terus jika OS-nya Linux pakailah FS-nya Reiser (versi 4 tercepat) dg metode akses aufs. Diskd optimal di FreeBSD tetapi tidak di Linux lho. Jangan lupa di partisi tsb noatime dan notail diaktifkan spy tidak menambah ekstra write saat menulis atau membaca. Intinya hardisk adalah faktor penghambat terbesar di Squid.

saran kira2 70% dari 16GB

cache_dir aufs /cachez 12000 28 256

atau (utk ruang 4GB-an per hardisk)

cache_dir aufs /cachehardisk1 3000 8 256
cache_dir aufs /cachehardisk2 3000 8 256
cache_dir aufs /cachehardisk3 3000 8 256
cache_dir aufs /cachehardisk4 3000 8 256

Logging untuk info yg vital saja dan diusahakan file-file log ada di hardisk tersendiri spy tidak mempengaruhi kecepatan direktori cache utamanya.

log_fqdn off
log_icp_queries off
cache_log none
cache_store_log none

Dengan memaksa sedikit supaya akses obyek lebih intensif di lokal Squid dan waktu simpan ditambah sebelum proses validasi terjadi (mis. validasi terjadi per 3 jam dg penyimpanan obyek terlama 3 bulan, utk ftp bisa lebih lama lagi).

refresh_pattern ^ftp: 10080 95% 241920 reload-into-ims override-lastmod
refresh_pattern . 180 95% 120960 reload-into-ims override-lastmod

Toleransi aborting dihilangkan saja.

quick_abort_min 0
quick_abort_max 0
quick_abort_pct 98

Mematikan dan merekonfigurasi Squid jangan terlalu cepat krn bisa mengakibatkan integritas file kacau.

shutdown_lifetime 10 seconds

Tidak perlu reservasi memori.

memory_pools off

Penting utk relasi dg sibling dg mengukur respons-nya via ICP dan ICMP.

icp_hit_stale on
query_icmp on

Penting utk meningkatkan refresh pattern lebih lanjut.

reload_into_ims on
pipeline_prefetch on
vary_ignore_expire on

Sekali lagi Squid diperlukan utk mengambil yg jaraknya jauh, jarak dekat langsung saja

acl local-dst dst semuaalamatlokal semuaalamatipygdekat
acl local-domain dstdomain localhost domain-anda.com isp-anda.com domainku.web.id

always_direct allow localhost local-dst local-domain
always_direct deny all

Sys-V init squid :

root@proxy root# vi /etc/init.d/squid

#!/bin/bash
# squid This shell script takes care of starting and stopping
# Squid Internet Object Cache
#
# chkconfig: - 90 25
# description: Squid - Internet Object Cache. Internet object caching is \
# a way to store requested Internet objects (i.e., data available \
# via the HTTP, FTP, and gopher protocols) on a system closer to the \
# requesting site than to the source. Web browsers can then use the \
# local Squid cache as a proxy HTTP server, reducing access time as \
# well as bandwidth consumption.
# pidfile: /var/run/squid.pid
# config: /etc/squid/squid.conf

PATH=/usr/bin:/sbin:/bin:/usr/sbin
export PATH

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

# check if the squid conf file is present
[ -f /etc/squid/squid.conf ] || exit 0

if [ -f /etc/sysconfig/squid ]; then
. /etc/sysconfig/squid
fi

# don’t raise an error if the config file is incomplete
# set defaults instead:
SQUID_OPTS=${SQUID_OPTS:-”-DY”}
SQUID_PIDFILE_TIMEOUT=${SQUID_PIDFILE_TIMEOUT:-20}
SQUID_SHUTDOWN_TIMEOUT=${SQUID_SHUTDOWN_TIMEOUT:-100}

# determine the name of the squid binary
[ -f /usr/sbin/squid ] && SQUID=squid
[ -z "$SQUID" ] && exit 0

prog=”$SQUID”

# determine which one is the cache_swap directory
CACHE_SWAP=`sed -e ’s/#.*//g’ /etc/squid/squid.conf | \
grep cache_dir | awk ‘{ print $3 }’`
[ -z "$CACHE_SWAP" ]

RETVAL=0

start() {
for adir in $CACHE_SWAP; do
if [ ! -d $adir/00 ]; then
echo -n “init_cache_dir $adir… ”
$SQUID -z -F -D >> /var/log/squid/squid.out 2>&1
fi
done
echo -n $”Starting $prog: ”
ulimit -HSn 2048
/bin/nice –20 $SQUID $SQUID_OPTS >> /var/log/squid/squid.out 2>&1
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
timeout=0;
while : ; do
[ ! -f /var/run/squid.pid ] || break
if [ $timeout -ge $SQUID_PIDFILE_TIMEOUT ]; then
RETVAL=1
break
fi
sleep 1 && echo -n “.”
timeout=$((timeout+1))
done
fi
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SQUID
[ $RETVAL -eq 0 ] && echo_success
[ $RETVAL -ne 0 ] && echo_failure
echo
return $RETVAL
}

stop() {
echo -n $”Stopping $prog: ”
$SQUID -k check >> /var/log/squid/squid.out 2>&1
RETVAL=$?
if [ $RETVAL -eq 0 ] ; then
$SQUID -k shutdown &
rm -f /var/lock/subsys/$SQUID
timeout=0
while : ; do
[ -f /var/run/squid.pid ] || break
if [ $timeout -ge $SQUID_SHUTDOWN_TIMEOUT ]; then
echo
return 1
fi
sleep 2 && echo -n “.”
timeout=$((timeout+2))
done
echo_success
echo
else
echo_failure
echo
fi
return $RETVAL
}

reload() {
$SQUID $SQUID_OPTS -k reconfigure
}

restart() {
stop
start
}

condrestart() {
[ -e /var/lock/subsys/squid ] && restart || :
}

rhstatus() {
status $SQUID
$SQUID -k check
}

probe() {
return 0
}

case “$1″ in
start)
start
;;

stop)
stop
;;

reload)
reload
;;

restart)
restart
;;

condrestart)
condrestart
;;

status)
rhstatus
;;

probe)
exit 0
;;

*)
echo $”Usage: $0 {start|stop|status|reload|restart|condrestart}”
exit 1
esac

exit $?

4. Paramater lain Tunning System Squid :

Edit di /etc/sysctl.conf, dan tambahkan di bawah ini:

root@proxy root# vi /etc/sysctl.conf
# add port outgoing
net.ipv4.ip_local_port_range = 1024 32768

Tunning di fstab :

edit di /etc/fstab, harusnya seperti ini yg harus sama yg di ubah (biasanya ada tambahan noatime/notail, untuk jenis mounting yg lain biarkan saja, jangan diubah):

/dev/hda1 / reiserfs defaults,noatime 1 1
/dev/hda6 /boot reiserfs defaults,noatime 1 2
/dev/hda7 /var reiserfs defaults,noatime 1 2
/dev/hda8 /usr reiserfs defaults,noatime 1 2
/dev/hda9 /home reiserfs defaults,noatime 1 2
/dev/sda1 /cache01 reiserfs noatime,notail 0 0
/dev/sda2 /cache02 reiserfs noatime,notail 0 0
/dev/sdb1 /cache03 reiserfs noatime,notail 0 0
/dev/sdb2 /cache04 reiserfs noatime,notail 0 0

Check yg melakukan koneksi ke squid :

root@proxy root# tail -f /var/log/squid/access.log

5. Penutup

Terimakasih :

http://forum.linux.or.id (mas dani, fish, fai, firewaxx, dan semua barudak forum.linux.or.id

http://www.squid-cache.org/Doc/FAQ/FAQ.html

Sumber : http://aa.bliblog.com/squid/


Readmore

Mendalami HTB pada QoS RouterOS Mikrotik

Implementasi QoS (Quality of Services) di Mikrotik banyak bergantung pada sistem HTB (Hierarchical Token Bucket). HTB memungkinkan kita membuat queue menjadi lebih terstruktur, dengan melakukan pengelompokan-pengelompokan bertingkat. Yang banyak tidak disadari adalah, jika kita tidak mengimplementasikan HTB pada Queue (baik Simple Queue maupun Queue Tree), ternyata ada beberapa parameter yang tidak bekerja seperti yang kita inginkan.Beberapa parameter yang tidak bekerja adalah priority, dan dual limitation (CIR / MIR).

Pada pembahasan artikel ini, kita akan mengambil contoh sebuah sistem QoS sederhana, di mana kita ingin mengalokasikan bandwidth sebesar 400kbps untuk 3 client, di mana masing-masing client bisa mendapatkan maksimal 200kbps. Di antara ketiga client tersebut, memiliki prioritas yang berbeda, yaitu: 1,2, dan 3.

Untuk mempermudah pemantauan dan pembuktian, kita akan menggunakan queue tree.

Cara paling mudah untuk melakukan queue dengan queue tree, adalah dengan menentukan parameter :

  • parent (yang harus diisi dengan outgoing-interface),
  • packet-mark (harus dibuat terlebih dahulu di ip-firewall-mangle),
  • max-limit (yang merupakan batas kecepatan maksimum), atau dikenal juga dengan MIR (Maximum Information Rate)
Untuk percobaan awal, semua priority diisi angka yang sama: 8, dan parameter limit-at tidak kita isi. Gambar berikut ini adalah ilustrasi apa yang akan terjadi dengan konfigurasi di atas.

Karena alokasi bandwidth yang tersedia hanya 400kbps, sedangkan total akumulasi ketiga client melebihinya (600 kbps), maka ketiga client akan saling berebut, dan tidak bisa diprediksikan siapa yang akan menang (menggunakan bandwidth secara penuh) dan siapa yang akan kalah (tidak mendapatkan bandwidth yang sesuai).

Misalkan q1 adalah client dengan prioritas tertinggi, dan q3 adalah client dengan prioritas terbawah. Kita akan mencoba memasukkan nilai prioritas untuk masing-masing client sesuai dengan prioritasnya.

Tampak pada gambar di atas, meskipun sekarang q1 sudah memiliki prioritas tertinggi, namun ketiga client masih berebutan bandwidth dan tidak terkontrol.

Gambar berikut akan mencoba mengimplementasikan nilai limit-at. Seharusnya, limit-at adalah CIR (Committed Information Rate), merupakan parameter di mana suatu client akan mendapatkan bandwidthnya, apapun kondisi lainnya, selama bandwidthnya memang tersedia.

Ternyata q1 masih tidak mendapatkan bandwidth sesuai dengan limit-at (CIR) nya. Padahal, karena bandwidth yang tersedia adalah 400kbps, seharusnya mencukupi untuk mensuplai masing-masing client sesuai dengan limit-at nya.

Berikutnya, kita akan menggunakan parent queue, dan menempatkan ketiga queue client tadi sebagai child queue dari parent queue yang akan kita buat. Pada parent queue, kita cukup memasukkan outgoing-interface pada parameter parent, dan untuk ketiga child, kita mengubah parameter parent menjadi nama parent queue. Pertama-tama, kita belum akan memasukkan nilai max-limit pada parent-queue, dan menghapus semua parameter limit-at pada semua client.

Tampak pada contoh di atas, karena kita tidak memasukkan nilai max-limit pada parent, maka priority pada child pun belum bisa terjaga.

Setelah kita memasang parameter max-limit pada parent queue, barulah prioritas pada client akan berjalan.

Tampak pada contoh di atas, q1 dan q2 mendapatkan bandwidth hampir sebesar max-limitnya, sedangkan q3 hampir tidak kebagian bandwidth. Prioritas telah berjalan dengan baik. Namun, pada kondisi sebenarnya, tentu kita tidak ingin ada client yang sama sekali tidak mendapatkan bandwidth.

Untuk itu, kita perlu memasang nilai limit-at pada masing-masing client. Nilai limit-at ini adalah kecepatan minimal yang akan di dapatkan oleh client, dan tidak akan terganggu oleh client lainnya, seberapa besarpun client lainnya 'menyedot' bandwidth, ataupun berapapun prioritasnya. Kita memasang nilai 75kbps sebagai limit-at di semua client.

Tampak bahwa q3, yang memiliki prioritas paling bawah, mendapatkan bandwidth sebesar limit-at nya. q1 yang memiliki prioritas tertinggi, bisa mendapatkan bandwidth sebesar max-limitnya, sedangkan q2 yang prioritasnya di antara q1 dan q3, bisa mendapatkan bandwidth di atas limit-at, tapi tidak mencapai max-limit. Pada contoh di atas, semua client akan terjamin mendapatkan bandwidth sebesar limit-at, dan jika ada sisa, akan dibagikan hingga jumlah totalnya mencapai max-limit parent, sesuai dengan prioritas masing-masing client.

Jumlah akumulatif dari limit-at tidaklah boleh melebihi max-limit parent. Jika hal itu terjadi, seperti contoh di bawah ini, jumlah limit-at ketiga client adalah 600kbps, sedangkan nilai max-limit parent hanyalah 400kbps, maka max-limit parent akan bocor. Contoh di bawah ini mengasumsikan bahwa kapasitas keseluruhan memang bisa mencapai nilai total limit-at. Namun, apabila bandwidth yang tersedia tidak mencapai total limit-at, maka client akan kembali berebutan dan sistem prioritas menjadi tidak bekerja.

Sedangkan, mengenai max-limit, max-limit sebuah client tidak boleh melebihi max-limit parent. Jika hal ini terjadi, maka client tidak akan pernah mencapai max-limit, dan hanya akan mendapatkan kecepatan maksimum sebesar max-limit parent (lebih kecil dari max-limit client).


Jika semua client memiliki prioritas yang sama, maka client akan berbagi bandwidth sisa. Tampak pada contoh di bawah ini, semua client mendapatkan bandwidth yang sama, sekitar 130kbps (total 400kbps dibagi 3).

Yang perlu diingat mengenai HTB:

  1. HTB hanya bisa berjalan, apabila rule queue client berada di bawah setidaknya 1 level parent, setiap queue client memiliki parameter limit-at dan max-limit, dan parent queue harus memiliki besaran max-limit.
  2. Jumlah seluruh limit-at client tidak boleh melebihi max-limit parent.
  3. Max-limit setiap client harus lebih kecil atau sama dengan max-limit parent.
  4. Untuk parent dengan level tertinggi, hanya membutuhkan max-limit (tidak membutuhkan parameter limit-at).
  5. Untuk semua parent, maupun sub parent, parameter priority tidak diperhitungkan. Priority hanya diperhitungkan pada child queue.
  6. Perhitungan priority baru akan dilakukan setelah semua limit-at (baik pada child queue maupun sub parent) telah terpenuhi.
Panduan praktis cara perhitungan limit-at dan max-limit

Di asumsikan bandwidth yang tersedia sebesar 1000kbps. Dan jumlah seluruh client adalah 70. Yang perlu diketahui adalah :
  1. Berapa jumlah maksimal client yang menggunakan internet pada saat yang bersamaan. Jumlah ini belum tentu sama dengan jumlah komputer yang ada, apabila semua client tidak pernah terkoneksi secara bersamaan. Sebagai contoh, untuk kasus ini kita asumsikan adalah 50.
  2. Berapa jumlah minimal client yang menggunakan internet pada saat yang bersamaan. Sebagai contoh, untuk kasus ini kita asumsikan adalah 10
Maka, untuk setiap client (1 client dibuatkan 1 rule queue), limit-at nya adalah 1000 / 50 = 20kbps, dan max-limit nya adalah 1000 / 10 = 100 kbps.

Jangan lupa untuk menambahkan parent dengan max-limit sebesar 1000kbps (tidak perlu limit-at), dan memasukkan semua queue client di bawah parent queue. Jika untuk terminal tertentu membutuhkan priority lebih besar, maka kita bisa menggunakan priority yang berbeda-beda, tergantung dengan urutan prioritasnya.

Dibuat oleh: Valens Riyadi - MIKROTIK INDONESIA - www.mikrotik.co.id

Readmore

TPROXY: Squid dengan Metode Bridge Untuk Menghemat Bandwidth

Judul yang panjang dan bisa jadi sudah melelahkan untuk dibaca, hanya saja judul di atas merupakan judul yang tepat untuk menggambarkan bagaimana menset-up sebuah Squid Proxy server untuk berjalan di mode bridge dimana semua lalu lintas traffic dari client akan terlihat source IP masing-masing klien. Jadi saat log squid dijalankan akan terlihat satu demi satu IP client yang sedang dan telah request untuk mengakses internet atau tepatnya HTTP request. Jadi selain menghemat bandwidth secara keseluruhan juga kita bisa mengatur bandwidth masing-masing klien berdasarkan IP klien.

Jika menggunakan metode transparent squid proxy biasa, kita hanya mendapatkan keuntungan dalam menghemat bandwidth sedangkan untuk pengaturan bandwidth ke masing-masing klien tidak bisa kita lakukan karena semua telah di NAT oleh squid proxy server sehingga IP yang muncul di gateway adalah IP squid proxy server.

Dalam prakteknya, TPROXY Squid server langsung bisa dikombinasikan dengan servis lain seperti menjadi gateway ke speedy dengan memanfaatkan fasilitas pppoe atau hanya menjadi klien dari modem ADSL. Semua tergantung dengan kondisi di lapangan, hanya saja lebih bagusnya jika modem ADSL Speedy yang menjadi bridge dan dial dilakukan oleh server. Lalu nanti setelah semua berjalan dengan baik, TPROXY Squid server bisa ditambahkan dengan dansguardian untuk memfilter URL dan juga bisa melihat statistic Squid dengan calamaris atau SARG. Silahkan saja disesuaikan dengan kebutuhan. Namun dalam konteks saya, TPROXY akan disandingkan dengan mikrotik PC router. Jadi TPROXY hanya benar-benar menjadi SQUID proxy server dengan mode bridge.

Kalau digambarkan dengan tologi sederhana akan tampil sebagai berikut.

Internet — Modem ADSL (Bridge) — Mikrotik — Squid TProxy (Bridge) — Client

Dimana di mikrotik ada 2 LAN card yang satu mengarah ke Modem ADSL yang telah diset menjadi bridge, lalu 1 LAN card lagi mengarah ke Squid TProxy.
Sedangkan di Squid Tproxy juga menggunakan 2 LAN card yang nantinya akan di set menjadi bridge, 1 LAN card mengarah ke mikrotik server sedangkan 1 LAN card yang lain mengarah ke client.

Jadi kebutuhan Hardware untuk Tproxy Squid server minimal menggunakan 2 LAN card. Hanya saja saat saya menset-up TProxy server, Komputer yang saya gunakan adalah HP Pavilion w1184d dengan spesifikasi sebagai berikut;
- Pentium 4 3.0 Ghz
- HDD Sata 80Gb
- DDR1 RAM 256Mb (upgrade menjadi DDR1 RAM 1Gb)
- 2 LAN card (1 onboard realtek + 1 LAN card 3Com)
Sedangkan spesifikasi yang lain masih mengunakan aslinya. Dan tentu saja OS yang digunakan untuk menset-up Tproxy server adalah Linux.

TPROXY Squid server akan dibangun dengan mgnggunakan CD Netinstall Linux Debian etch. Jika ingin mendapatkan CD Netinstall silahkan merujuk ke juragan ISO di sini atau yang pakai akses speedy bisa langsung ke dl2 untuk download.

Oke lah langsung saja disudahi basa-basinya, Segera kita rubah dekstop PC HP Pavilion menjadi Squid Tproxy Server. Ingat, karena ini akan dijadikan mode bridge maka minimal LAN card yang tersedia di Tproxy server adalah 2 buah.

Kegiatan ngoprek ini akan terbagi menjadi 3 bagian besar yaitu;
1. Setting bridge
2. Compile kernel untuk support Tproxy
3. Patch iptabes dan squid untuk support Tproxy
Kenapa patch harus dilakukan?, karena bawaan dasar iptables dan squid dari debian tidak dienable support tproxynya.

Sudah disiapkan CD netinstall Debian Etch-nya?, kalau sudah segera saja install Debian etch dan pastikan hanya standar system saja yang diinstall sedangkan yang lain bisa ditambahkan belakangan. Jangan lupa arahkan reposiroty list ke mirror lokal baik di indika ataupun di kambing ataupun di dl2.
Lakukan update dan upgrade lalu install paket-paket dibawah.

tproxy#apt-get update
tproxy#apt-get upgrade
tproxy#apt-get install iproute kernel-package libncurses5-dev fakeroot wget bzip2 build-essential
debhelper linuxdoc-tools libselinux1-dev bridge-utils ebtables libssl-dev

Sekarang kita bikin bridgenya, sekedar mengingatkan topologi yang saya gunakan seperti diatas.

tproxy# brctl addbr br0
tproxy# ifconfig eth0 0.0.0.0 promisc up
tproxy# ifconfig eth1 0.0.0.0 promisc up
tproxy# brctl addif br0 eth0
tproxy# brctl addif br0 eth1
tproxy# ip link set br0 up
tproxy# ip addr add 192.168.1.254/24 brd + dev br0
tproxy# route add default gw 192.168.1.1 dev br0

Bagusnya dijadikan script saja semua command diatas sehingga tak perlu lagi di set satu demi satu saat server reboot seperti dibawah ini.

tproxy#nano /etc/init.d/bridge.sh

Isi dari script diatas adalah dibawah ini

#!/bin/sh
# bridge Simple script to activate bridge with 2 LAN card
# Make bridge interface
brctl addbr br0

#Set eth0 and eth1 to promiscuous mode to listen and receive all frame
ifconfig eth0 0.0.0.0 promisc up
ifconfig eth1 0.0.0.0 promisc up

#Activate eth0 and eth1 in br0
brctl addif br0 eth0
brctl addif br0 eth1
ip link set br0 up

# Assign IP to br0 to easy remote to server
ip addr add 192.168.1.254/24 brd + dev br0

# Add route to br0
route add default gw 192.168.1.1 dev br0

Setelah disave lalu jadikan script file diatas menjadi file executable dan juga membuat srcipt agar diload tiap booting.

tproxy#chmod +x /etc/init.d/bridge.sh
tproxy#cd /etc/init.d
tproxy#update-rc.d bridge.sh start 75 2 3 4 5 .

Lalu pastikan di /etc/network/interfaces untuk interface eth0 dirubah nama interfacenya menjadi br0

Selesai sudah fase pertama untuk membuat bridge dengan 2 LAN card. Bridge ini hanya akan melewatkan semua paket yang masuk ke server dan meneruskannya melalui interface yang lain.

Oke kita akan mulai fase yang berat dan melelahkan. Pastikan stamina cukup fit dan tentunya ditemani dengan cemilan yang sehat. Pastikan rokok tidak menjadi teman ngoprek karena lebih baik ditemani segelas kopi semarang dan jajanan pasar :)

Silakan download source kernel terbaru di situs yang terdekat dengan kita, saya ambil versi 2.6.18.8 yang stable.

tproxy#cd /usr/src
tproxy:/usr/src#wget http://kambing.ui.edu/kernel-linux/v2.6/linux-2.6.18.6.tar.bz2
Jika selesai download silakan lakukan dibawah
tproxy:/usr/src# tar jxvf linux-2.6.18.6.tar.bz2
tproxy:/usr/src# ln -s linux-2.6.16 linux

selanjutnya kita extract ctproxy nya

tproxy:/usr/src# tar xzpf cttproxy-2.6.18-2.0.6.tar.gz
tproxy#cd /usr/src/linux
tproxy:/usr/src/linux# for i in /usr/src/cttproxy-2.6.18-2.0.6/patch_tree/0{1,2,3}*.patch; do cat $i |
patch -p1; done

nanti tampilannya akan seperti dibawah sebagai tanda sukses patching.

patching file include/linux/netfilter_ipv4/ip_conntrack.h
patching file include/linux/netfilter_ipv4/ip_nat.h
patching file net/ipv4/netfilter/Kconfig
patching file net/ipv4/netfilter/ip_conntrack_core.c
patching file net/ipv4/netfilter/ip_conntrack_standalone.c
patching file net/ipv4/netfilter/ip_nat_core.c
patching file net/ipv4/netfilter/ip_nat_proto_gre.c
patching file net/ipv4/netfilter/ip_nat_proto_icmp.c
patching file net/ipv4/netfilter/ip_nat_proto_tcp.c
patching file net/ipv4/netfilter/ip_nat_proto_udp.c
patching file include/linux/in.h
patching file include/linux/net.h
patching file include/linux/netfilter/nf_conntrack_common.h
patching file include/linux/netfilter_ipv4/ip_conntrack.h
patching file include/linux/netfilter_ipv4/ip_nat.h
patching file include/linux/netfilter_ipv4/ip_nat_core.h
patching file include/linux/netfilter_ipv4/ip_tproxy.h
patching file include/linux/netfilter_ipv4/ipt_TPROXY.h
patching file include/net/ip.h
patching file net/ipv4/inet_hashtables.c
patching file net/ipv4/inet_timewait_sock.c
patching file net/ipv4/ip_sockglue.c
patching file net/ipv4/netfilter/Kconfig
patching file net/ipv4/netfilter/Makefile
patching file net/ipv4/netfilter/ip_conntrack_core.c
patching file net/ipv4/netfilter/ip_conntrack_standalone.c
patching file net/ipv4/netfilter/ip_nat_core.c
patching file net/ipv4/netfilter/ip_nat_standalone.c
Hunk #1 succeeded at 300 (offset 2 lines).
patching file net/ipv4/netfilter/ipt_TPROXY.c
patching file net/ipv4/netfilter/ipt_tproxy.c
patching file net/ipv4/netfilter/iptable_tproxy.c
patching file net/ipv4/tcp_ipv4.c
patching file net/ipv4/tcp_minisocks.c
patching file net/ipv4/udp.c
Hunk #2 succeeded at 1605 (offset 9 lines).
patching file include/linux/netfilter/nf_conntrack_common.h
patching file include/linux/netfilter_ipv4/ip_conntrack.h
patching file net/ipv4/netfilter/ip_conntrack_core.c
patching file net/ipv4/netfilter/ip_conntrack_proto_tcp.c
patching file net/ipv4/netfilter/ip_conntrack_standalone.c
patching file net/ipv4/netfilter/ip_nat_core.c
patching file net/ipv4/netfilter/iptable_tproxy.c

tproxy:/usr/src/linux# make clean && make mrproper
tproxy# cp /boot/config-`uname -r` ./.config
oke dilanjut dengan make menuconfig, semua file2 pada Netfiler saya kasih tanda * semua serta pada
Mode Bridge nya.

Posisi di menuconfig
-> Networking
—> Networking support
—–> Networking options
——-> Network packet filtering
———-> IP: Netfilter Configuration

tproxy#make menuconfig
tproxy#make-kpkg clean
tproxy#fakeroot make-kpkg -initrd -append-to-version=-tproxy kernel_image kernel_headers

silahkan ditinggal saja karena ini akan makan waktu lama, saya sendiri butuh 1 jam lebih untuk menyelesaikan fase compile kernel. Silahkan maen game dulu atau nambah stok untuk kopi karena masih ada fase lainnya.

Jika sudah selesai segera ke direktori /usr/src

tproxy#cd /usr/src

Pastikan file dibawah ini ada di direktori /usr/src

tproxy:/usr/src# ls

linux-headers-2.6.16-tproxy_2.6.16-tproxy-10.00.Custom_i386.deb
linux-image-2.6.16-tproxy_2.6.16-tproxy-10.00.Custom_i386.deb

Lalu install saja ke-2 paket diatas.

tproxy:/usr/src# dpkg -i linux-headers-2.6.16-tproxy_2.6.16-tproxy-10.00.Custom_i386.deb
tproxy:/usr/src# dkg -i linux-image-2.6.16-tproxy_2.6.16-tproxy-10.00.Custom_i386.deb

done..finish..lalu reboot untuk menggunakan kernel baru yang sudah support Tproxy dan untuk memastikan hasil configure kernel yang barusan direboot itu berhasil atau tidak, silakan lihat file ipt_TPROXY.ko dan ipt_tproxy.ko harus ada di directory dibawah

tproxy# reboot
tproxy:/usr/src/linux/net/ipv4/netfilter# ls -l | grep ipt_tproxy
-rw-r–r– 1 root root 1628 2008-12-20 01:35 ipt_tproxy.c
-rw-r–r– 1 root root 3162 2008-12-20 04:44 ipt_tproxy.ko
-rw-r–r– 1 root root 665 2008-12-20 04:25 ipt_tproxy.mod.c
-rw-r–r– 1 root root 2040 2008-12-20 04:44 ipt_tproxy.mod.o
-rw-r–r– 1 root root 1760 2008-12-20 04:12 ipt_tproxy.o
tproxy:/usr/src/linux/net/ipv4/netfilter# ls -l | grep ipt_TPROXY
-rw-r–r– 1 root root 2211 2008-12-20 01:35 ipt_TPROXY.c
-rw-r–r– 1 root root 3627 2008-12-20 04:43 ipt_TPROXY.ko
-rw-r–r– 1 root root 694 2008-12-20 04:25 ipt_TPROXY.mod.c
-rw-r–r– 1 root root 2104 2008-12-20 04:43 ipt_TPROXY.mod.o
-rw-r–r– 1 root root 2144 2008-12-20 04:12 ipt_TPROXY.o

Well done…sudah terlihat disana file-2 pendukung Tproxy. Ini artinya sudah oke. Sekarang dilanjutkan dengan mengkonfigurasi iptables agar support cttproxy, sekarang download tarball nya iptables lalu extract

tproxy#cd /usr/src
tproxy#apt-get source iptables
tproxy:/usr/src# cd iptables-1.3.6.0debian1/iptables

Kita Pacth sekarang IPTables untuk support tproxy

tproxy:# cat /usr/src/cttproxy-2.6.18-2.0.6/iptables/iptables-1.3-cttproxy.diff | patch -p1
tproxy# chmod +x extensions/.tproxy-test
tproxy#cd extensions/
tproxy# nano Makefile

lalu pada line ke-8 isi paling ujung nya dengan tproxy dan TPROXY

tproxy:~# cd /usr/src/iptables-1.3.6.0debian1/
tproxy:/usr/src/iptables-1.3.6.0debian1# make KERNELDIR=/usr/src/linux

Lalu lanjutkan ambil source tarball dari websitenya netfilter karena default IPtables dari debian selalu akan ditemukan error saat konfigurasi

tproxy#wget ftp://ftp.netfilter.org/pub/iptables/iptables-1.3.6.tar.bz2
tproxy#cd iptables-1.3.6
tproxy#cat /usr/src/cttproxy-2.6.18-2.0.6/iptables/iptables-1.3-cttproxy.diff | patch -p1
tproxy#chmod +x extensions/.tproxy-test
tproxy#cd extensions

Tambahkan lagi TPROXY dan tproxy pada file Makefile seperti diatas. Setelah itu save

tproxy# cd /usr/src/iptables-1.3.6
tproxy# make KERNELDIR=/usr/src/linux
tproxy# make install

Jika udah selesai configure dan instalasi Iptables diatas dilanjutkan dengan pembuatan file *.deb tapi kita harus mengcopy dulu file libipt_Tproxy ke directory source nya si Tproxy bawaan Debian

tproxy#cd /usr/src/iptables-1.3.6/extensions/
tproxy#cp libipt_TPROXY* /usr/src/iptables-1.3.6.0debian1/iptables/extensions/
tproxy#cp libipt_tproxy* /usr/src/iptables-1.3.6.0debian1/iptables/extensions/

tproxy# cd /usr/src/iptables-1.3.6.0debian1/
tproxy# dpkg-buildpackage -b -rfakeroot

done.. finish dan silahkan install file deb berikut.

tproxy#dpkg -i iptables_1.3.6.0debian1-5_i386.deb iptables-dev_1.3.6.0debian1-5_i386.deb

Jika file diatas sudah diinstall, coba cek iptablesnya jika pada --on-port 3128 dan -–dport tidak
ada error berarti IPTables nya dah jalan

tproxy#iptables -t tproxy -A PREROUTING -i eth0 -p tcp --dport 80 -j TPROXY --on-port 3128

coba dicheck

tproxy#iptables -L -t tproxy
/squid-2.6.STABLE14# iptables -L -t tproxy
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
TPROXY tcp — anywhere anywhere tcp dpt:www TPROXY redirect 0.0.0.0:3128
TPROXY tcp — anywhere anywhere tcp dpt:www TPROXY redirect 0.0.0.0:3128
Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Oke..IP tables sudah jalan dan sekarang kita lanjutkan dengan instalasi squid. Squid yang saya gunakan versi 2.6 STABLE14

tproxy#wget ftp://squid.cbn.net.id/pub/squid/squid-2/STABLE/squid-2.6.STABLE14.tar.bz2
tproxy#tar jxvf squid-2.6.STABLE14.tar.bz2
tproxy#cd squid-2.6.STABLE14

Sebelum melakukan istalasi Squid ada baiknya kita patch dulu squid karena kalau tidak maka error akan selalu setia menemani.

tproxy#cp /usr/src/linux/include/linux/netfilter_ipv4/ip_tproxy.h /usr/include/linux/netfilter_ipv4
tproxy#cp /usr/include/linux/capability.h /usr/include/sys

Saya menggunakan standar konfigurasi squid dari debian hanya saja dengan menambahkan support untuk meng-enable tproxy.

tproxy#./configure ./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-async-io –with-pthreads –enable-storeio=ufs,aufs,coss,diskd,null –enable-linux-netfilter –enable-arp-acl –enable-epoll –enable-removal-policies=lru,heap –enable-snmp –enable-delay-pools –enable-htcp –enable-cache-digests –enable-underscores –enable-referer-log –enable-useragent-log –enable-auth=basic,digest,ntlm –enable-carp –with-large-files i386-debian-linux build_alias=i386-debian-linux host_alias=i386-debian-linux target_alias=i386-debian-linux –enable-linux-tproxy

tproxy# make && make install

Jika tidak ada error yang terjadi maka squid sudah sukses diinstall, sekarang tinggal utak-atik konfigurasi squid.conf untuk mendapatkan hasil yang optimal.

Oh ya jangan lupa untuk memasukkan script iptables dan ebtables ke /etc/rc.local biar saat reboot maka tproxy squid server ready to server.

tproxy# nano /etc/rc.local

iptables -t tproxy -A PREROUTING -i br0 -p tcp --dport 80 -j TPROXY --on-port 3128
ebtables -t broute -A BROUTING -p IPv4 --ip-protocol 6 --ip-destination-port 80 -j redirect --
redirect-target ACCEPT

echo 0 > /proc/sys/net/ipv4/conf/lo/rp_filter
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_nonlocal_bind

done…tproxy sudah selesai dan siap dijalankan.

Jangan lupa tambahkan line berikut pada squid.conf

http_port 3128 tproxy transparent #setup squid mode tproxy
tcp_outgoing_address 192.168.1.10 #ip proxy

Sumber http://simplyeko.com
Readmore

Wednesday, August 12, 2009

About

Selamat Datang di situsnya warnet Nur Isti.Net
Readmore