28 February 2009

Seting Router

Di kutip dari : http://sahir.dozer.or.id/wp/2005/07/11/setting-router-warnet/

Akhirnya jadi juga tutorial setting router warnet untuk linux.
Saya menulis ini buat temen2 yang minta untuk di buatin tutorial untuk setting router warnet,dimana sebelumnya mereka memakai router windows dan mau migrasi ke linux.


|eth0
|
|-------|
| MGW |
|---|---|
|
|eth1
|
|
|--------------------hub----------------------|
| | |
| | |
| | |
|---------| |---------| |---------|
|Client 01| |Client 02| |Client 03|
|---------| |---------| |---------|

Pertama yang harus di lakukan adalah mensetting mgw(main gateway)
supaya bisa connect ke internet
Sebelum Mensetting :
1.Minta IP public ke ISP lengkap dengan netmask,broadcast dan dns nya
misalnya :
RANGE : 202.159.121.0/29
IP : 202.159.121.2
GATEWAY : 202.159.121.1
Nemast : 255.255.255.248
broadcast : 202.159.121.7
DNS1 : 202.159.0.10
DNS2 : 202.159.0.20
berarti kita mendapatkan ip 5 buah dari 202.159.121.2 - 202.159.121.6

2.Menentukan IP local yang akan kita gunakan buat client

Setting IP MGW :
1.[root@mgw cachak]$ vi /etc/sysconfig/network
lalu isi dengan :

NETWORKING=yes
HOSTNAME=mgw.domain.com
GATEWAY=202.159.121.1

lalu simpen dengan menekan :wq

2.Menconfigurasi IP eth0(default)

[root@mgw root]$ vi /etc/sysconfig/network-scripts/ifcfg-eth0
lalu isi dengan :

DEVICE=eth0
BOOTPROTO=static
IPADDR=202.159.121.2
BROADCAST=202.159.121.7
NETMASK=255.255.255.249
ONBOOT=yes
USERCTL=no

lalu simpen dengan menekan :wq

3.Setting dns resolve

[root@mgw root]$ vi /etc/resolv.conf
lalu isi dengan nameserver dari isp kita tadi :

nameserver 202.159.0.10
nameserver 202.159.0.20

lalu simpen dengan menekan :wq

4.Setting ip_forwarding

[root@mgw cachak]$ vi /etc/sysctl.conf

rubah net.ipv4.ip_forward = 0 menjadi net.ipv4.ip_forward = 1
atau kalau gak ada net.ipv4.ip_forward = 0 tambahin net.ipv4.ip_forward = 1

simpen dengan menekan :wq

5.restart network
[root@mgw cachak]$ /etc/init.d/network restart
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Disabling IPv4 packet forwarding: [ OK ]
Setting network parameters: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]

[root@www root]#chkconfig --level 2345 network on
[root@www root]#

6.testing dengan ngeping ke default gateway 202.159.121.1

[root@mgw cachak]$ ping 202.159.121.1
PING 202.159.121.1 (202.159.121.1) 56(84) bytes of data.
64 bytes from 202.159.121.1: icmp_seq=1 ttl=63 time=0.356 ms
64 bytes from 202.159.121.1: icmp_seq=2 ttl=63 time=0.269 ms
64 bytes from 202.159.121.1: icmp_seq=3 ttl=63 time=0.267 ms
64 bytes from 202.159.121.1: icmp_seq=4 ttl=63 time=0.268 ms

--- 202.159.121.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2997ms
rtt min/avg/max/mdev = 0.267/0.290/0.356/0.038 ms

7.testing untuk ngeping google.com untuk ngecek dns nya
kalau muncul :
PING google.com (216.239.39.99) 56(84) bytes of data.
berarti dns kita untuk mgw dah bekerja, tapi kalau muncul :
ping: unknown host google.com
berarti dns yang kita isikan di /etc/resolve.conf masih salah,
silahkan cek lagi ke ISP nya :)

nah bereskan sudah setting IP untuk mgw nya :)
supaya mgw ini bisa sekaligus di gunakan sebagai ns server
oleh client maka harus di install daemon bind atau
daemon nameserver yang lain
ataukalau sudah ada tinggal idupin Bind nya

[root@www root]# /etc/init.d/named restart
Stopping named: [ OK ]
Starting named: [ OK ]
[root@www root]#chkconfig --level 2345 named on
[root@www root]#

misalnya ip ke client adalah :
192.168.0.1/24
IP : 192.168.0.1
netmask : 255.255.255.0
broadcast : 192.168.0.255
RANGE IP CLIENT : 192.168.0.2-192.168.0.254

Setting ip untuk eth1 (yang ke client)
1.memberi IP 192.168.0.1 di eth1
[root@mgw cachak]$ vi /etc/sysconfig/network-scripts/ifcfg-eth1
lalu isi dengan :

DEVICE=eth1
BOOTPROTO=static
IPADDR=192.168.0.1
NETMASK=255.255.255.0
BROADCAST=192.168.0.255
ONBOOT=yes
USERCTL=no

lalu simpen dengan menekan :wq

2.Restart networknya

[root@mgw root]$ /etc/init.d/network restart
Shutting down interface eth0: [ OK ]
Shutting down interface eth1: [ OK ]
Shutting down loopback interface: [ OK ]
Disabling IPv4 packet forwarding: [ OK ]
Setting network parameters: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
Bringing up interface eth1: [ OK ]

3.Testing dengan cara ping ip eth1
[root@mgw cachak]$ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=63 time=0.356 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=63 time=0.269 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=63 time=0.267 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=63 time=0.268 ms

--- 192.168.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2997ms
rtt min/avg/max/mdev = 0.267/0.290/0.356/0.038 ms

Tinggal Setting IP computer client dengan ketentuan di bawah ini :

IP : 192.168.0.2 - 192.168.0.254
GATEWAY : 192.168.0.1
NETMASK : 255.255.255.0
BROADCAST : 192.168.0.255
NAMESERVER : 192.168.0.1

misal :

Client01
===============================
IP : 192.168.0.2
GATEWAY : 192.168.0.1
NETMASK : 255.255.255.0
BROADCAST : 192.168.0.255
NAMESERVER : 192.168.0.1

Client02
===============================
IP : 192.168.0.3
GATEWAY : 192.168.0.1
NETMASK : 255.255.255.0
BROADCAST : 192.168.0.255
NAMESERVER : 192.168.0.1

dan seterusnya sesuai banyaknya client,yang berubah hanya IP
untuk client windows maka setting IP
di bagian Start Menu/Setting/Control Panel/Network

setelah di setting ip client, maka coba ping ke 192.168.0.1
dari client,kalau berhasil berarti client dan MGW nya sudah tersambung.

Setting MGW supaya client bisa internat dengan menggunakan NAT

1.Matikan iptablesnya

[root@mgw root]# /etc/init.d/iptables stop
Flushing all chains: [ OK ]
Removing user defined chains: [ OK ]
Resetting built-in chains to the default ACCEPT policy: [ OK ]
[root@mgw root]#

2.Tambahkan iptables untuk Source NAt sesuai dengan ip di eth0
[root@mgw root]# /sbin/iptables -t nat -A POSTROUTING
-o eth0 -s 192.168.0.0/24 -j SNAT --to-source 202.159.121.2
[root@mgw root]# /sbin/iptables-save > /etc/sysconfig/iptables
[root@mgw root]# /etc/init.d/iptables restart
Flushing all current rules and user defined chains: [ OK ]
Clearing all current rules and user defined chains: [ OK ]
Applying iptables firewall rules: [ OK ]
[root@mgw root]# iptables-save

SNAT sudah,SNAT disini standar sekali dan gak ada proteksi
untuk mengetest nya kita browser di client lalau buka google.com,
kalau jalan berati kita sudah berhasil :)

Blok Situs

untuk ngeblok situs dengan menggunakan squid yang saya lakukan dengan menambahkan rule pada /etc/squid/squid.conf:
#mcedit /etc/squid/squid.conf
#————————————————————–
acl porn dstdomain “/etc/squid/porn.txt”
no_cache deny porn
http_access deny porn all
#————————————————————–
–> dimana file porn.txt berisi nama-nama situs yang ingin kita blok
misal:
# mcedit /etc/squid/porn.txt –>> isi dengan www.sexdomain.com –>> lalu simpan.

untuk mengeblok situs yang mengandung kata misalnya “porn” menggunakan:
# mcedit /etc/squid/squid.conf lalu tambahkan:
#—————————————————————————
acl dilarang url_regex -i “/etc/squid/dilarang.txt”
no_cache deny dilarang
http_access deny dilarang all
#—————————————————————————
lalu simpan (tekan F10)
edit filie dilarang.txt
#mcedit /etc/squid/dilarang.txt
misalnya isi dengan:
#—————————
porn.*
xxx.*
#————————–
lalu disimpan
squid di konfigurasi ulang
# squid -k reconfigure
untuk mengecek apakah blok jalan atau tidak lakukan test dengan gogling dengan kata “porn” atau “xxx”
bila berhasili maka bila gogling dengan kata “porno” “pornografi” “xxxxx” semua akan di blok.

bila gagal, solusi yang saya pakai dengan memindah-mindahkan rule tadi di atas atau di bawah rule acl dan http_access yang sudah ada.

jangan lupa :
#squid -k reconfigure

25 February 2009

Konfigurasi router di SuSE

DI kutip dari :
http://w4hyoe3.blogspot.com/2008/06/membuat-router-pada-suse-yang-berbasis.html


1. Komputer yang akan dijadikan Router harus mempunyai 2 Landcard
2. Komputer yang akan dijadikan router juga harus sudah terinstal linux misalnya linux SUSEdan harus terkoneksi oleh jaringan internet.
3. Komputer yang akan dijadikan router juga harus sudah terinstal linux misalnya linux SUSEdan harus terkoneksi oleh jaringan internet.
4. Pada Network Device Eth0 Choose The Setup Method pilih Static Address Setup.
5. Kemudian isikan alamat IP yang mau dibuat. Misal: 192.168.xx.xx
6. Kemudian pilih Routing lalu Default Gateway dan isikan alamat gatewaynya.
7. Kemudian berilah tanda centang (X) pada Enable IP Forwarding dan pilih finish
8. Setelah itu masuklah pada Software, dan pilih Install and remove software
9. Kemudian pilih filter dan pilih Search dan pada Search Phrase ketikkan bind dan install semua softwarenya dengan memilih Action kemudian Instal Sourcess dan Accept.
10. Tunggu proses install nya.
11. Untuk mengaktifkan computer sebagai router maka ketikkan iptables –t nat –A POSTROUTINGT –s 192.168.xx.xx –j MASQUERADE
12. Dan enter kemudian restart lah computer dengan cara mengetikkan /etc/init.d/network restart
13. Dan selesai
14. Lakukan pengecekan dengan mengeping dari komputer client dan apabila sudah bisa anda telah berhasil membuat router linux suse.

24 February 2009

Install bandwidth management dengan htb tools

Di kutip dari : http://pinokiook.blogspot.com/2007/12/install-bandwidth-management-dengan-htb.html


Kebetulan lagi ngisi kekosongan waktu, kali ini gue mau ngejelasin gimana nginstall management bandwidth di server make htb tools. kegunaan management bandwidth ini sangat penting bagi kalangan perkantoran, perguruan tinggi, isp, atau lembaga - lembaga sosial. Langsung wae lah..

1. masuk dulu di folder /usr/local/src
#cd /usr/local/src

2. download paket htb tools
#wget http://www.geocities.com/safinatuddin/HTB-tools-0.3.0a-i486-1.tgz

3. ekstrak file nya
#tar -zxvf HTB-tools-0.3.0a-i486-1.tgz

akan muncul folder etc, install, folder, sbin

4. pindahkan isi semua folder sbin nya htb tools di /sbin server

#cd /usr/local/src/sbin
#mv htb /sbin
#mv htbgen /sbin
#mv q_checkcfg /sbin
#mv q_parser /sbin
#mv q_show /sbin

5. Masuk ke folder etc nya htb tools pindahin folder htb ke /etc nya server
#cd /usr/local/src/etc
#mv htb /etc

6 hilangkan tulisan new yang ada di folder htb yang udah kita pindahin tadi
#mv /etc/htb/eth0-qos.cfg.new /etc/htb/eth0-qos.cfg
#mv /etc/htb/eth1-qos.cfg.new /etc/htb/eth1-qos.cfg

7. masuk ke folder rc.d nya di etc htb tools
#cd /usr/local/src/etc/rc.d

8. masukkan file rc.htb new ke folder init.d nya server kita dan ganti jadi rc.htb
#mv rc.htb.new /etc/init.d/rc.htb

9. chmod file rc.htb nya
#chmod 755 /etc/init.d/rc.htb

10. konfigurasi eth0-qos cfg dan eth1-qos cfg sesuai kebutuhan, kali ini gue mau jelasin untuk eth1, yaitu ip lokal kita. (contoh doang lho)
#nano /etc/htb/eth1-qos.cfg

-- contoh konfigurasi --
# Pengaturan bandwidth kantorptblablabla

class kantorptblablabla {
bandwidth 1024;
limit 2048;
burst 2;
priority 1;

client bos {
bandwidth 256;
limit 512;
burst 2;
priority 1;
dst {
192.168.168.5/32;
};
};

client hotspot {
bandwidth 32;
limit 256;
burst 2;
priority 1;
dst {
192.168.168.6/32;
};
};

client sekretaris {
bandwidth 64;
limit 256;
burst 2;
priority 1;
dst {
192.168.168.7/32;
};
};

client karyawan_utama {
bandwidth 256;
limit 512;
burst 2;
priority 1;
dst {
192.168.168.11/32;
192.168.168.12/32;
192.168.168.13/32;
192.168.168.14/32;
192.168.168.15/32;
192.168.168.16/32;
192.168.168.17/32;
192.168.168.18/32;
192.168.168.19/32;
192.168.168.20/32;
192.168.168.21/32;
192.168.168.22/32;
192.168.168.23/32;
192.168.168.24/32;
192.168.168.25/32;
};
};

client karyawan_sisa {
bandwidth 256;
limit 512;
burst 2;
priority 1;
dst {
192.168.100.0/24;
};
};
};

class default { bandwidth 8; };

-- berakhir diatas tulisan ini --
simpen make ctrl+x tekan y kemudian enter

ket:
- untuk boss dapet bandwidth dengan ip sendiri maksimal 512 (1:2 baca satu banding dua) artinya kalo trafic bagus dia dapat 512, tapi kalo trafic terlalu full dia dapat 256, tapi disini si boss bakalan dapet 512, soalnya limit maksimal bandwidth juga pass di setting/menej 2 mega sich.

- untuk server hotspot (misalnya kalo make hotspot) dapet bandwidth 512 (1:8).
- untuk sekretaris dapet bandwidth 256 (1:4)
- untuk karyawan utama dengan ip yang ditulis diatas dapet bandwidth 512 (1:2) disini pada karyawan utama bandwidthnya kita gunain sistem sharing..
- untuk karyawan sisa dengan ip mulai dari 192.168.100.0 - 192.168.100.255 akan dapet bandwidth 512 (1:2)

(itu management bandwidth asal aja lho, pandai-pandai kalian management lah, intinya kudu ngerti konsep ip address sama bandwidth management he, he, he..)

11. kalo udah di edit, jalankan htb tools nya
#/etc/init.d/rc.htb start_eth1

12. kalo mau lihat hasilnya jalan trafic nya bisa dilihat dengan perintah
#/etc/init.d/rc.htb show_eth1

udah ah capek, kalo ada yang kurang jelas tanya yach.... eh sedikit lagi, untuk setiap pengeditan di eth1-qos.cfg sebaiknya htb tools dimatiin dulu caranya "/etc/init.d/rc.htb stop_eth1" (tanpa tanda kutip), kalo udah di edit baru di jalankan lagi, ok.....

salam dingin

pinokio

Konfigurasi squid

DI kutip dari : http://warnetwarnetwarnet.blogspot.com/2009/01/cara-instal-dan-optimasi-squid-proxy.html


Mungkin sebagaian dari anda sudah tahu bagaimana menginstall squid, tetapi belum melakukan optimasi agar squid berjalan lebih kencang. Berikut adalah tutorial saya, yang mana sudah pernah saya uji coba dan sukses. FYI, tutorial ini adalah penggabungan tutorial yang ada di blog Ghozali, Last.FM, Squid Wiki dan dari buku Squid: The Definitive Guide.

PERSIAPAN

Hardware
Untuk hardware proxy server saya kali ini menggunakan Prosesor Intel Celeron 430 (Coppermine) 1.80Ghz dengan 2 buah hardisk 80 GB SATA Seagate 7200 RPM & memori Vgen 1.5 GB DDR2. Mengapa 2 hardisk? Performa read/write Squid akan lebih optimal jika direktori cache diletakkan di hardisk terpisah. Peletakkan direktori cache di partisi yang berada dalam satu hardisk dengan system, tidak akan meningkatkan performa Squid, begitu juga dengan teknik RAID. Jika anda memiliki dana lebih, ada baiknya jika anda menggunakan beberapa hardisk untuk penyimpanan cache squid. Tidak perlu berkapasitas besar, yang penting memiliki kemampuan read/write yang baik, misalnya hardisk jenis SCSI, SAS dan sebagainya.

Untuk memori, sebenarnya squid tidak memerlukan kapasitas yang besar, dengan 512 MB sudah cukup untuk menjalankannya. Tetapi dalam kasus proxy warnet saya, saya ingin agar kemampuan penyimpanan cache di memori bisa lebih besar, sehingga diharapkan squid bisa menghadirkan TCP_MEM_HIT lebih banyak.

Software
Squid terlahir atau tercipta hanya untuk Linux seorang :P. Jadi, jangan sekali-kali pernah berpikir dan berusaha menjalankan Squid di mesin Mikocok (baca: microsoft), baik itu seri Desktop maupun Server. Gak nyambung bro!

Squid dapat berjalan sangat baik di hampir semua distro Linux. Saya sendiri pada waktu uji coba menggunakan Ubuntu Server 8.10 32-bit. Walaupun anda memiliki komputer yang bisa menjalankan aplikasi 64-bit, disarankan untuk Squid tetap menggunakan OS 32-bit, karena Squid belum sepenuhnya teruji di mesin 64-bit.

Untuk meningkatkan performa baca/tulis, disarankan hardisk yang akan anda gunakan untuk menyimpan cache menggunakan format ReiserFS. Karena, RaiserFS memiliki kemampuan baca/tulis yang lebih baik untuk file-file ukuran kecil ketimbang format ext3.

Pada saat ujicoba, saya menggunakan Squid versi 2.7STABLE5. Untuk list versi lain yang tersedia, silahkan kunjungi halaman ini.

INSTALASI
Disini saya tidak akan menerangkan bagaimana cara menginstal Ubuntu Server 8.10 atau distro Linux lainnya ke komputer yang akan anda gunakan untuk proxy server. Tetapi jika anda membutuhkan tutorialnya, silahkan baca di HowToForge.

Membuat Partisi Format ReiserFS
Setelah Server Ubuntu anda siap, ikuti langkah-langkah instalasi berikut. Yang pertama kita akan membuat hardisk kedua (tempat direktori cache) memiliki format ReiserFS. Distro Debian sudah mendukung format ReiserFS, jika anda menggunakan CentOS anda harus mengaktifkan centosplus repo dengan men-setting enable=1 pada /etc/yum.repos.d/CentOS-Base.repo kemudian jalankan perintah yum install reiserfs-utils

Jika anda menggunakan Ubuntu seperti saya, anda tidak perlu melakukan setting apapun, karena Ubuntu sudah mendukung format ReiserFS. Yang perlu anda lakukan adalah menjalankan perintah

mkfs.reiserfs /dev/sdXX

Dimana XX adalah partisi dimana yang akan anda gunakan untuk menyimpan cache. (Untuk melihat list hardisk, gunakan perintah sudo fdisk -l.
Pada kasus saya,

mkfs.reiserfs /dev/sdb1

Kemudian tambahkan partisi anda ini ke /etc/fstab

/dev/sdb1 /var/spool/squid reiserfs defaults,notail,noatime 1 2

/var/spool/squid adalah direktori penyimpanan cache.

Compile Squid
Langkah kedua adalah melakukan compile source squid. Download source-nya dengan perintah

sudo wget http://www.squid-cache.org/Versions/v2/2.7/squid-2.7.STABLE5.tar.gz

setelah itu ekstrak dengan perintah

sudo tar -zxvf squid-2.7.STABLE5.tar.gz

kemudian kita masuk ke direktori source squid

cd squid-2.7.STABLE5

Sebelum kita mulai meng-compile, pastikan gcc atau g++ sudah terinstal.

Untuk memulai proses compile, ketikkan perintah


CHOST="i686-pc-linux-gnu" \
CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" \
./configure \
-prefix=/usr \
-enable-async-io \
-enable-useragent-log \
-enable-snmp \
-enable-cache-digests \
-enable-follow-x-forwarded-for \
-enable-storeio="aufs" \
-enable-removal-policies="heap,lru" \
-with-maxfd=16384 \
-enable-delay-pools \
-enable-poll \
-disable-ident-lookups \
-enable-truncate \
-exec-prefix=/usr \
-bindir=/usr/sbin \
-libexecdir=/usr/lib/squid


Catatan:
Nilai CHOST dan CFLAGS berbeda tergantung dari jenis prosesor mesin anda. Ganti opsi ini sesuai dengan prosesor yang anda gunakan. Untuk mengetahui nilai CHOST dan CFLAGS ketikkan perintah cat /proc/cpuinfo dan cocokkan dengan refensi nilai CHOST CFLAGS di halaman Gentoo Safe Cflags.

-enable-async-io: opsi ini untuk mengaktifkan asynchronous I/O - sangat penting untuk menghentikan squik melakukan blocking pada baca/tulis ke harddisk.

-enable-useragent-log berguna agar squid mencatat useragent di entri log - berguna jika anda menggunakan lynx untuk melakukan debug kecepatan squid.

-enable-snmp aktifkan ini jika anda ingin menampilkan statistik squid dalam bentuk grafik.

-enable-cache-digests harus diaktifkan jika anda menggunakan cache peer.

-enable-storeio="aufs" adalah alernatif penyimanan metode I/O. AUFS adalah Asynchronous, memiliki performa yang signifikan ketimbang UFS atau diskd.

-enable-removal-policies="heap,lru" adalah pilihan opsi untuk removal policies, dan saya memilih menggunakan "heap LFUDA", atau anda juga bisa menggunakan "LRU".

-with-maxfd=16384 digunakan agar squid tidak terblokir apabila dalam keadaan load tinggi.

-enable-poll untuk meningkatkan performa squid.

-disable-ident-lookups menghentikan squid dari melihat ident di setiap koneksi, bisa juga untuk mencegah serangan DOS yang dapat mematikan squid server, yang biasanya dengan cara membuka ribuan koneksi.

-enable-truncate memerintahkan squid untuk selalu menggunakan truncate() ketimbang unlink() ketika menghapus file cache.

enable-delay-pools jika anda ingin mengatur bandwidth koneksi, gunakan opsi ini.

Setelah anda menjalankan perintah ./configure diatas dengan sukses, saatnya kita menuju langkah beriktunya (jika ada error muncul, anda harus mencari solusinya sebelum masuk ke perintah selanjutnya).

Selanjutnya ketikkan perintah

make

kemudian dilanjutkan dengan

make install

seteleah selesai ketikkan perintah

strip /usr/sbin/squid /usr/lib/squid/*

perintah ini untuk menghapus simbol pada binari squid, agar ukurannya menjadi lebih kecil. Perintah ini bersifat opsional.

Squid.conf

squid.conf adalah file yang digunakan untuk melakukan konfigurasi squid. Disini saya tidak akan menampilkan semua konfigurasi squid.conf, tetapi hanya yang bisa untuk mengoptimalkan kinerja squid. Misal opsi http_port tidak saya cantumkan, jika anda ingin mengetahui list lengkap dan deskripsi dari opsi-opsi konfigurasi squid yang ada, silahkan kunjungi manualnya.


hosts_file /etc/hosts
dns_nameservers 208.67.222.222 208.67.220.220
cache_replacement_policy heap LFUDA
cache_swap_low 90
cache_swap_high 95
maximum_object_size_in_memory 50 KB
cache_dir aufs /var/spool/squid 10000 16 256
cache_mem 64 MB
logfile_rotate 10
memory_pools off
maximum_object_size 50 MB
quick_abort_min 0 KB
quick_abort_max 0 KB
log_icp_queries off
client_db off
buffered_logs on
half_closed_clients off


Apa maksud dari opsi-opsi diatas?

hosts_file /etc/hosts opsi ini untuk memerintahkan squid untuk melihat entri yang ada di /etc/hosts, hal ini berguna jika anda ingin memblokir iklan atau situs jahat dengan memanfaatkan file /etc/hosts (Insya Allah mendatang saya akan membuat tutorial ini.

dns_nameservers 208.67.222.222 208.67.220.220 Ini Penting! Squid akan mem-pause (menghentikan sementara) koneksi ketika melakukan DNS lookup. Dengan memasukkan DNS, maka akan mencegah hal ini. Disini saya menggunakan DNS dari OpenDNS.

cache_replacement_policy heap LFUDA ini adalah pilihan replacement policy, dimana saya menggunakan heal LFUDA. Anda bisa menggunakan pilihan lain, info lengkap perihal cache_replacement_policy, silahkan baca disini.

cache_swap_low 90 adalah prosentase dimana squid akan melakukan pembersihan cache, jadi jika anda memiliki 10 GB , maka squid akan melakukan pembersihan cache lama pada penggunaan 9 GB.

cache_swap_high 95 secara agresif squid akan menghapus file cache lama dengan menggunakan opsi replacement policy yang disebutkan diatas.

maximum_object_size_in_memory 50 KB Ini untuk menentukan besaran file yang akan disimpan di memori. Pada konfigurasi ini saya mengaturnya maksimum hanya 50 KB, ini agar tidak mengganggu memori. Penyimpanan file yang besar di memori akan memberikan beban tinggi sehingga mmeori tidak bisa dikontrol dengan baik.

cache_dir aufs /var/spool/squid 10000 16 256 Dianjurkan untuk tidak mengubah opsi AUFS, karena opis ini memiliki performa yang lebih bagus dari opsi lain. Angka 10000 adalah jumlah besarnya file cache yang digunakan squid dalam MB.

cache_mem 64 MB Jangan mengatur cache_mem terlalu besar. Cache_mem menunjukkan jumlah maksimal RAM yang digunakan oleh squid untuk menyimpan obyek di memori. Ingat, squid membutuhkan RAM sekitar 100 MB per 1 GB file cache. Jadi, jika anda memiliki 10 GB file cache, maka squid membutuhkan RAM minimal 1 GB.

memory_pools off Menghentikan squid menempel di memori ketika tidak ada aktifitas.

maximum_object_size 50 MB ini adalah jumlah maksimum obyek yang akan disimpan oleh squid. Dianjurkan untuk tidak mengaturnya terlalu besar.

quick_abort_min 0 KB opsi ini sangat berguna, tetapi dalam kasus tertentu akan membuat squid tidak optimal. Quick_abort_time akan mengevaluasi berapa banyak sisa data yang akan ditransfer jika klien membatalkannya. Jika nilainya berada dalam range quick_abort, maka quid akan melanjutkan download sampai selesai dan kemudian menyimpannya di cache. Memang terdengar bagus, namun masalah akan muncul jika klien melakukan beberapa koneksi, maka squid akan menyelesaikan proses download untuk semua koneksi, dan akibatnya squid menjadi lambat. Dengan mengaturnya ke angka 0, maka squid akan menonaktifkan opsi ini.

quick_abort_max 0 KB fungsi sama dengan quick_abort_min

log_icp_queries off jika anda menggunakan cache_peer, maka opsi ini akan menghentikan squid untuk selalu melakukan query ke masing-masing cache_peer.

client_db off jika diaktifkan maka squid akan menyimpan statistik semua klien, hal ini bisa membebani mmeori, maka sebaiknya dinonaktifkan.

buffered_logs on melakukan buffering pada penulisan file log, dapat meingkatkan performa squid.

half_closed_clients off mengirimkan connection-close ke klien sehingga membuka setengah koneksi untuk squid.

Setelah konfigurasi squid.conf dilakukan, kini saatnya menjalankan squid. Ketikkan perintah agar squid membuat swap

/usr/sbin/squid -z

kemudian aktifkan squid

/usr/sbin/squid start

Cek apakah squid sudah berjalan apa belum dengan perintah

sudo netstat -pln | grep squid

bila muncul tampilan seperti dibawah ini, berarti squid sudah berjalan

tcp 0 0 0.0.0.0:3128 0.0.0.0:* LISTEN 4281/(squid)
udp 0 0 0.0.0.0:3130 0.0.0.0:* 4281/(squid)
udp 0 0 0.0.0.0:50113 0.0.0.0:* 4281/(squid)
udp 0 0 0.0.0.0:3401 0.0.0.0:* 4281/(squid)

Note: Jika anda ingin melakukan pengaturan bandwidth dengan fitur delay_pools, silahkan baca petunjuknya di blog Ghozali.

Pimp Your Squid!

Ok, squid sudah kita optimalkan, bagaimana dengan TCP? Pertama, kita akan melakukan 'modprobe ip_conntrack' dengan menambahkan modul ini di /etc/modules (debian) atau /etc/modprobe.conf (RHEL/CentOS).

Hal diatas akan menghentikan squid memunculkan pesan

parseHttpRequest: NF getsockopt(SO_ORIGINAL_DST) failed: (92) Protocol not available

Kemudian kita akan melakukan modifikasi pada sysctl. Tambahkan baris berikut pada akhir file /etc/sysctl.conf

fs.file-max = 65535
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 65536 8388608
net.ipv4.tcp_mem = 4096 4096 4096
net.ipv4.tcp_low_latency = 1
net.core.netdev_max_backlog = 4000
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_max_syn_backlog = 16384


Kemudian tambahkan entri berikut pada file /etc/security/limits.conf

* - nofile 65535

Lakukan reboot, kemudian jalankan squid. Beres dah! :)

12 February 2009

KOFIGURASI 9300

Konfigurasi Automatic via OTA (Over The Air Activation)

S Nokia 9500, TelkomselGPRS, 1234

Format Dasar OTA untuk handphone TCP/ IP based (ex. 6600, 6230, 7610, dll) :

S

kemudian kirim ke 5432

keterangan:
S = Subscribe
Merk = contoh: Nokia, Siemens
Type = contoh: 3650, 6600
Setting = contoh: TelkomselGPRS(untuk semua setting), Tsel-wap, Tsel-mms, Tsel-csd
PIN = optional, beberapa handphone yg termasuk "tcp/ip mobilephone" membutuhkan kode pin 1234


Konfigurasi Automatic menggunakan wizard

Nokia 9500

• Pilih icon Setting Wizard
• Pada Tab Email :
- country : Indonesia
- ISP : (ISP yang Anda gunakan)
- Internet Access Point : TSEL-GPRS
• Pada Tab Advanced :
- country : Indonesia
- Operator : Telkomsel
• Pada Tab Streaming :
- country : Indonesia
- Operator : Telkomsel
• Tekan Exit


Konfigurasi Manual Internet over GPRS

Nokia 9500

• Pilih icon Tools
• Pilih control panel
• Pilih connections
• Tekan New
• Pada tab General
- Internet setting name : TSEL-GPRS
- Network Id : default GPRS Network (Internet)
- Internet settings type : GPRS
• Pada tab connection
- GPRS access point : internet
- Password prompt : No
- User name : wap
- Password : wap123
• Tekan Done


Konfigurasi Manual MMS over GPRS

Nokia 9500

• Pilih icon Tools
• Pilih control panel
• Pilih connections
• Tekan New
• Pada tab General
- Internet setting name : TSEL-MMS
- Network Id : default GPRS Network
- Internet settings type : GPRS
• Pada tab connection
- GPRS access point : mms
- Password prompt : No
- User name : wap
- Password : wap123
• Tekan Done

• Pilih advanced (kanan tengah)
• Pilih Proxies
• Network type : IPv4
• Proxy protocol : HTTP
• Use proxy server : Yes
• Proxy server : 10.1.89.150
• Port number : 8000
• Tekan Done
• Tekan Finish

• Pilih icon Tools
• Pilih control panel
• Pilih messaging
• Pilih multimedia message s...
• Pilih send
• Internet access : TSEL MMS
• Homepage : http://mms.telkomsel.com
• Receive report : Yes
• Sending time : Immediately
• Validity period : maximum
• Tekan done


Konfigurasi Manual E-mail over GPRS

Nokia 9300

• Pilih icon Tools
• Pilih control panel
• Pilih messaging
• Tekan create new
• Pilih e-mail
• Pilih tab general
• Email Account Name : (Nama account Anda)
• My Name : (Nama account Anda)
• Username : (Username Mail Anda)
• Password : (Password Mail Anda)
• My email address : (Alamat Mail Anda)
• Pilih tab servers
• Outgoing e-mail server : mail.telkomsel.com
• Incoming e-mail server : (incoming mail Anda)
• Use SMTP authentication : No
• Tekan Done