Juni 12, 2010

Memaksimalkan Bandwith Speedy dengan Router “Ubuntu 8.04 (Hardy Heron) Server”

Posted in Uncategorized pada 1:57 pm oleh NP jaya

Sebenarnya sudah lama sekali keinginan untuk install proxy server linux sendiri…yah akhirnya keinginan itu kesampaian juga sekarang.

Bersamaan dengan rilis terbaru Ubuntu Hardy Heron tanggal 4 Mei 2008 kemarin iseng-iseng deh download iso hardy heron server…yang emang aku rencanain sih untuk aku install sebagai router speedy nantinya.

Kondisi menejemen bandwith speedy di kantor yang kurang teratur akhirnya mau tidak mau harus segera turun tangan nih menyegerakan install server Ubuntu Hardy, apalagi kalo sudah ada yang download dengan IDM aduh men..lelet sekali.

Kenapa kok Ubuntu emang gak ada yang lain apa..?? Kenapa tidak mikrotik aja kan lebih mudah dan simpel..??. Kata orang hidup itu penuh pilihan so…begitu juga dong dengan distro..(gak nyambung kan..).

Beberapa pertimbangan aku menggunakan ubuntu server sih sederhana aja kok :

  • Karena Ubuntu itu halal
  • Karena Ubuntu itu mudah
  • Karena Ubuntu itu punya komunitas
  • Karena Ubuntu punya repositori IIX di telkom
  • Karena Ubuntulah satu-satunya distro yang bisa mengerti aku..
  • Karena eh karena masih banyak yang lain deh..

Beberapa proses yang sudah aku lalui :
1. Persiapan Hardware
2. Instalasi Ubuntu 8.04 Server
3. Bridging
4. Squid proxy
5. HTB-tools
6. Webmin, cacti, & iptraf

Okey deh just do it..

1. Persiapan Hardware

Hardware yang sudah tersedia :
Modem ADSL Router dari Telkom
Acces Point (AP)
– PC Pentium III 800 Mhz + 2 Ethernet card Realtek
– 2 kabel LAN straight.

Persiapan Hardware

Gambar 1.1 Kebutuhan Perangkat Keras

Karena semua hardware yang dibutuhkan sudah tersedia..sekarang tinggal memikirkan desain topologi jaringan (networking) yang pas dan tepat diterapkan seperti apa. Setelah dipikir-pikir dan bertanya-tanya ke paman google akhirnya desain topologi yang pas diterapkan adalah server router dengan metode bridging..kenapa bridging ??, alasan yang mendasari menerapkan metode ini karena apabila sewaktu-waktu si proxy server mengalami trouble baik itu di sisi software (semisal : Ubuntu jadi u-buntung, setingan htb atupun squid bermasalah) ataupun hardware (semisal : PC mati secara tiba-tiba, motherboard jebol, CPU mbledhos, memori kiamat) dan membutuhkan waktu lama untuk perbaikan sedangkan koneksi internet harus jalan terus maka solusinya cukup simpel “cabut kabel LAN dan bypass router” tanpa melakukan perubahan setingan apapun baik itu di modem ataupun di acces point.

Desain Topologi

Gambar 1.2 Desain Topologi

Desain Topologi

Gambar 1.3 Jika PC-Router Down

2. Instalasi Ubuntu 8.04 Server

  1. Pastikan iso ubuntu 8.04 Server sudah di bakar ke CD, pastikan juga setingan BIOS PC untuk di booting awal menggunakan CD, dan yang pasti masukkan CD Ubuntu Hardy Heron ke CD-Room PC.
  2. Let’s go :
    • Boot…
    • Choose Language >> pilih : English
    • Choose a country, territory or area >> pilih : Indonesia
    • Detect keyboard layout >> pilih : No
    • The origin of the keyboard >> pilih : U.S. English
    • Ikuti langkah selanjutnya dan tunggu.
    • Configure the network : DHCP
    • Untuk hostname disesuikan, misal saya isikan omdo.
    • Partition Disks dengan cara manual :
      – Logical > swap > utk swap (disesuaikan) : 1 GB
      – Logical > boot > utk boot (disesuaikan) : 200 MB
      – Logical > ext3 > utk root / (disesuikan) : 8 GB
      – Logical > home > utk home /home (sisa partisi) : 10 GB
      Yah karena masih ada wixx ngendon di PC harus selalu pilih “logical” setiap kali muncul konfirmasi pesan.
    • Configure time zone >> pilih : Jakarta
    • System clock set to UTC >> pilih : Yes
    • Set up user and passwords :
      – Full name for the new user : Ittok Kasiwi
      – User for your account : koti
      – Choose a password for the new user : ***** (disesuikan)
      – Re-enter password to verify : ***** (disesuikan)
    • Installing the base system (tunggu proses install sedang berjalan)..
    • Software selection :
      Sesuaikan dgn kebutuhan, agar server bisa diremote jangan lupa memilih SSH server.
    • Finish the installation Complete.
  3. Cek Modem ADSL+Router Speedy
    Dengan topologi internet sebelumnya (modem >> Acces Point >> my laptop) cek berapa ip adress untuk LAN yang di set di modem (biasanya secara default 192.168.1.254), apabila dengan mengetikkan alamat tersebut di browser firefox masih belum bisa akses halaman konfigurasi modem, berarti IP adress untuk LAN sudah dirubah, kalo begitu coba di cek default gateway di komputer Anda, kalo ternyata default gateway kosong….terpaksa deh harus colokin laptop ke modem dengan kabel LAN (modem >> my laptop) karena secara default DHCP modem diaktifkan si laptop otomatis akan mendapatkan konfigurasi IP Adress DHCP, coba dilihat berapa default gateway yang di setup oleh DHCP server modem ke komputer Anda.
    Udah dapet kan alamat IP si modem…ketikkan alamat IP LAN modem ADSL apabila muncul jendela pesan authentication isikan username dan passwornya, untuk setingan default masukkan username : admin dan password admin.
    Okey deh cari setingan untuk konfigurasi LAN lalu matikan servis DHCP-nya (DHCP : Disabled).
  4. Cek Acces Point
    Ikuti buku panduan Acces Point kalo belum dikonfigurasi sebelumnya..jika sudah pastikan di DHCP setting untuk mengisikan default gateway dengan IP Adress LAN yang sudah di set-up di modem Speedy tadi : 192.168.1.254.Setup Acces  Point

    Gambar 2.1 Setingan DHCP Server Acces Point

  5. Setup IP statik di network ubuntu (sementara)
    Sekarang kita kembali ke PC router Ubuntu, untuk keperluan upgrade dan download dengan apt-get dari modem nantinya, si router harus punya IP.Cek kondisi 2 Ethernet card apakah sudah di detect ama si hardy :
    koti@omdo:~$ lspci

    00:00.0 Host bridge: VIA Technologies, Inc. VT82C693A/694x [Apollo PRO133x] (rev 44)
    00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598/694x [Apollo MVP3/Pro133x AGP]
    00:07.0 ISA bridge: VIA Technologies, Inc. VT82C596 ISA [Mobile South] (rev 21)
    00:07.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 10)
    00:07.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 0d)
    00:07.3 Host bridge: VIA Technologies, Inc. VT82C596 Power Management (rev 30)
    00:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
    00:0b.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
    01:00.0 VGA compatible controller: nVidia Corporation NV11 [GeForce2 MX/MX 400] (rev b2)

    yup..2 Ethernet Realtek kita sudah terdeteksi ama si hardy.

    Setup ip statik :
    koti@omdo:~$ sudo vim /etc/network/interfaces

    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).
    # The loopback network interface
    auto lo
    iface lo inet loopback
    # The primary network interface
    # eth1 >> ke LAN
    auto eth1
    iface eth1 inet static
    address 192.168.0.1
    netmask 255.255.255.0
    network 192.168.0.0
    broadcast 192.168.0.255
    # gateway 192.168.1.254
    # eth2 >> ke modem
    auto eth2
    iface eth2 inet static
    address 192.168.1.5
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.254

    Untuk memulai editing dengan vim ketik i selanjutnya saya konfigurasi setingan interface saya seperti di atas.
    Jika sudah simpan dengan menekan tombol Escape (Esc) lalu ketik :wq lalu Enter.

    Restart service networking :
    koti@omdo:~$ sudo /etc/init.d/networking restart
    * Reconfiguring network interfaces… [ OK ]

    – Pastikan setting ip sudah bener pada eth1 & eth2 :
    Cek konfigurasi network interface ethernet :
    koti@omdo:~$ sudo ifconfig

  6. Saatnya Upgrade
    Setup Repository Lokal download :
    koti@omdo:~$ sudo vim /etc/apt/sources.listketik i.

    Semua baris yang belum diawali dengan tanda #, ditutup dengan menambahkan tanda # (uncomment) di awal baris.
    Selanjutnya tambahkan Repository dari TELKOM di bawah ini pada baris paling bawah :

    ## REPOSITORY UTAMA FOSS-ID (TELKOM)
    deb http://dl2.foss-id.web.id/ubuntu hardy main restricted universe multiverse
    deb-src http://dl2.foss-id.web.id/ubuntu hardy main restricted universe multiverse

    ## INI UNTUK MAJOR BUG FIX UPDATES
    deb http://dl2.foss-id.web.id/ubuntu hardy-updates main restricted universe multiverse
    deb-src http://dl2.foss-id.web.id/ubuntu hardy-updates main restricted universe multiverse

    ## INI UNTUK UBUNTU SECURITY UPDATES
    deb http://dl2.foss-id.web.id/ubuntu hardy-security main restricted universe multiverse
    deb-src http://dl2.foss-id.web.id/ubuntu hardy-security main restricted universe multiverse

    Simpan perubahan dengan : Esc >> :wq >> Enter.

    Update list paket dari repository FOSS-ID :
    koti@omdo:~$ sudo apt-get update

    Upgrade Ubuntu Hardy Kita :
    koti@omdo:~$ sudo apt-get upgrade

3. Bridging

Bridge dalam istilah jaringan/network adalah menghubungkan 2 atau lebih kartu interface network (NIC) layaknya sebuah switch. Jadi kalau PC kita dijadikan bridge, maka PC tersebut akan bertingkah laku layaknya sebuah switch.

Package yang diperlukan adalah ebtables, iptables dan bridge-utils.
Tanpa melakukan patching kernel package yang diperlukan adalah iptables dan bridge-utils. Akan lebih baik jika melakukan patching kernel terlebih dahulu untuk menggunakan ebtables.

Jalan yang termudah adalah install iptables dan bridge-utils :
koti@omdo:~$ sudo apt-get install iptables bridge-utils

Selanjutnya kita setup 2 NIC tadi agar bertindak sebagai bridge setiap kali Ubuntu kita jalankan, caranya edit file: /etc/rc.local dengan perintah :
koti@omdo:~$ sudo vim /etc/rc.local

Tambahkan baris berikut, jangan lupa baris terakhir adalah ‘exit 0′ :

## Interface buat si bridge :
brctl addbr br0

## Buat si eth1 dan eth2 tidak memiliki IP address & bisa ‘mendengar’ semua frame yang akan masuk:
ifconfig eth2 0.0.0.0 promisc up
ifconfig eth1 0.0.0.0 promisc up

## Tambahin si eth1 & eth2 ke interface br0 :
brctl addif br0 eth2
brctl addif br0 eth1

## Hidupkan si br0 :
ip link set br0 up

## Tambahin IP buat si br0 :
ip addr add 192.168.1.5/24 brd + dev br0

## Tambahin gateway buat si br0 untuk konek ke modem :
route add default gw 192.168.1.254 dev br0

## Script redirect transparant proxy
iptables -A INPUT -i eth1 -p tcp -d 192.168.1.254 -s 192.168.1.0/24 –dport 3128 -m state –state NEW,ESTABLISHED -j ACCEPT

## BLOK IP
iptables -t filter -A INPUT -m iprange –src-range 192.168.1.1-192.168.1.4 -j REJECT
iptables -t filter -A FORWARD -m iprange –src-range 192.168.1.1-192.168.1.4 -j REJECT

iptables -t filter -A INPUT -m iprange –src-range 192.168.1.6-192.168.1.99 -j REJECT
iptables -t filter -A FORWARD -m iprange –src-range 192.168.1.6-192.168.1.99 -j REJECT

iptables -t filter -A INPUT -m iprange –src-range 192.168.1.121-192.168.1.253 -j REJECT
iptables -t filter -A FORWARD -m iprange –src-range 192.168.1.121-192.168.1.253 -j REJECT

## Blok IP Karyawan pada Jam Kerja (7 pagi – 4 sore)
jam=$(date +%k)
if [ $jam -gt 7 -a $jam -lt 16 ]; then
iptables -t filter -A INPUT -m iprange –src-range 192.168.1.110-192.168.1.120 -j REJECT
iptables -t filter -A FORWARD -m iprange –src-range 192.168.1.110-192.168.1.120 -j REJECT
fi

## BLOK IP TANTRA Ben gak Nge-game Wae (Kapok…)
iptables -t filter -A INPUT -d 202.78.197.18 -j REJECT
iptables -t filter -A OUTPUT -d 202.78.197.18 -j REJECT
iptables -t filter -A FORWARD -d 202.78.197.18 -j REJECT

## HTB Start
#/etc/init.d/rc.htb start_eth1
#/etc/init.d/rc.htb start_eth2

exit 0

Script “HTB Start” belum diperlukan sementara aku tutup dahulu lo..
Script “BlOK IP” hanya memperbolehkan akses dari IP 192.168.1.254, 192.168.1.5, 192.168.1.100 – 120.
Script “Blok IP Karyawan” berguna untuk memblokir IP karyawan (192.168.1.110 – 120) pada jam kerja (7 pagi – 4 sore) perlu dikombinasikan lagi dengan crontab.

Referensi lain :

Bagaimana kalau kita lanjut ke langkah berikutnya…??

4. Squid Proxy

Installasi :

koti@omdo:~$ sudo apt-get install squid

File konfigurasi squid ada di /etc/squid/squid.conf, edit file ini, tetapi sebelum di edit terlebih dahulu backup file aslinya agar kalau rusak bisa dikembalikan ke setingan default :

koti@omdo:~$ sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.asli
koti@omdo:~$ sudo vim /etc/squid/squid.conf

Untuk Konfigurasinya bisa di-copy dan dimodifikasi dari script di bawah ini :

# WELCOME TO SQUID 2.6.STABLE18
# —————————-
#Author by: http://koti.web.id

# OPTION JARINGAN
# —————————————————————————–
http_port 3128 transparent
icp_port 0

# OPTION UKURAN CACHE
# —————————————————————————–

hierarchy_stoplist cgi-bin ? localhost omdo.org
acl QUERY urlpath_regex cgi-bin \? localhost omdo.org
no_cache deny QUERY

cache_mem 6 MB
cache_swap_low 98
cache_swap_high 99

maximum_object_size 128 MB
minimum_object_size 4 KB
maximum_object_size_in_memory 32 KB

ipcache_size 2048
ipcache_low 98
ipcache_high 99

fqdncache_size 1024
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF

# DIREKTORI LOG DAN CACHE
# —————————————————————————–
cache_dir aufs /var/spool/squid 4000 28 256
access_log /var/log/squid/access.log squid
cache_log none
emulate_httpd_log off
cache_store_log /dev/null
log_icp_queries off
log_fqdn off

# TUNING CACHE PROXY
# —————————————————————————–

refresh_pattern -i \.tar.gz$ 10080 90% 10080 override-expire override-lastmod reload-into-ims
refresh_pattern -i \.mp3$ 10080 90% 10080 override-expire override-lastmod reload-into-ims
refresh_pattern -i \.zip$ 10080 90% 10080 override-expire override-lastmod reload-into-ims
refresh_pattern -i \.png$ 10080 90% 10080 override-expire override-lastmod reload-into-ims
refresh_pattern -i \.gif$ 10080 90% 10080 override-expire override-lastmod reload-into-ims
refresh_pattern -i \.jpg$ 10080 90% 10080 override-expire override-lastmod reload-into-ims
refresh_pattern -i \.jpeg$ 10080 90% 10080 override-expire override-lastmod reload-into-ims
refresh_pattern -i \.swf$ 10080 90% 10080 override-expire override-lastmod reload-into-ims
refresh_pattern -i \.(gif|jp?g|xbm|png|swf|bmp)$ 21600 90% 43200 override-expire override-lastmod reload-into-ims
refresh_pattern -i \.(mov|avi|qtm|mp?)$ 21600 90% 43200 override-expire override-lastmod ignore-reload reload-into-ims
refresh_pattern -i \.(3gp|wmv|wma|mpg|mpeg|mpga|rm|rv|vgp)$ 21600 90% 43200 override-expire override-lastmod ignore-reload reload-into-ims
refresh_pattern -i \.(zip|exe|gz|Z|lha|arj)$ 21600 90% 43200 override-expire override-lastmod ignore-reload reload-into-ims
refresh_pattern -i \.(hqx|pdf|rtf|doc|swf)$ 100000 500% 99000000 ignore-reload override-expire
refresh_pattern -i \.(inc|cab|ad|txt|)$ 100000 500% 99000000 ignore-reload override-expire
refresh_pattern ^http://www.friendster.com/.* 720 100% 4320
refresh_pattern ^http://mail.yahoo.com/.* 720 100% 4320
refresh_pattern ^http://mail1.plasa.com/.* 720 100% 4320
refresh_pattern ^http://*.yahoo.*/.* 720 100% 4320
refresh_pattern ^http://*.friendster.*/.* 720 100% 4320
refresh_pattern ^http://www.yahoo.com/.* 720 100% 4320
refresh_pattern ^http://*.yimg.*/.* 720 100% 4320
refresh_pattern ^http://*.detik.*/.* 720 100% 4320
refresh_pattern ^http://*.detikinet.*/.* 720 100% 4320
refresh_pattern ^http://*.detikhot.*/.* 720 100% 4320
refresh_pattern ^http://*.detiportal.*/.* 720 100% 4320
refresh_pattern ^http://*.kompas.*/.* 720 100% 4320
refresh_pattern ^http://*.trans7.*/.* 720 100% 4320
refresh_pattern ^http://*.rcti.*/.* 720 100% 4320
refresh_pattern ^http://*.indosiar.*/.* 720 100% 4320
refresh_pattern ^http://*.kapanlagi.*/.* 720 100% 4320
refresh_pattern ^ftp: 10080 95% 241920 reload-into-ims override-lastmod
refresh_pattern ^gopher: 1440 0% 1440 reload-into-ims override-lastmod
refresh_pattern . 180 95% 120960 reload-into-ims override-lastmod

reload_into_ims on
pipeline_prefetch on
vary_ignore_expire on

# TIMEOUT
# —————————————————————————–

quick_abort_min 0
quick_abort_max 0
quick_abort_pct 98
negative_ttl 1 minutes
half_closed_clients off
read_timeout 30 minutes
request_timeout 1 minutes
client_lifetime 3 hours
pconn_timeout 15 seconds
half_closed_clients off
shutdown_lifetime 10 seconds
positive_dns_ttl 53 seconds
negative_dns_ttl 29 seconds

# REDIRECT URL LOCAL SQUIRM
#redirect_program /usr/local/squirm/bin/squirm
#redirect_children 5

# ————————————-
# Memblok situs terlarang (blacklist)secara manual
# ————————————-
#acl noblacklist dstdomain “/etc/squid/blacklist/no-blacklist.txt”
#acl katablacklist url_regex -i “/etc/squid/blacklist/kata-blacklist.txt”
#acl domainblacklist dstdomain “/etc/squid/blacklist/domain-blacklist.txt”
#acl ipblacklist dst “/etc/squid/blacklist/ip-blacklist.txt”

#acl tdkbebasdownload time 08:00-13:00

# AKSES KONTROL
# —————————————————————————–
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
acl SSL_ports port 2083 2087 2096 408
acl Safe_ports port 80 # http
acl Safe_ports port 81
acl Safe_ports port 84
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 25 # smtp
acl Safe_ports port 210 # wais
acl Safe_ports port 6666-7000 # IRC Proxies
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 Safe_ports port 2096 #cpanel
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl BADPORTS port 7 9 11 19 110 119 513 514
acl purge method PURGE
acl CONNECT method CONNECT
acl VIRUS urlpath_regex winnt/system32/cmd.exe?

snmp_port 3401
snmp_access allow localhost
snmp_access deny all

# ————————————-
# Daftar IP address
# ————————————-

acl kantor src 192.168.1.100-192.168.1.120/255.255.255.255

## KARYAWAN
acl TIME time SMTWHFA 8:00-16:00
acl karyawan src 192.168.1.110-192.168.1.120/255.255.255.255

# Yahoo Messenger service

#acl blok_port port 20 23 25 119 5050 8001 8002

#acl Yahoo-Mess dst 24.71.200.68/32 204.71.202.73/32 204.71.200.0/24 204.71.177.35/32 204.71.202.59/32 204.71.202.58/32 216.115.105.214/32 204.71.201.47/32

204.71.201.48/32 216.115.105.215/32 216.136.172.221/32
# *.msg.yahoo.com
#acl Yahoo-dom dstdomain .msg.yahoo.com pager.yahoo.com update.messenger.yahoo.com update.pager.yahoo.com

# ————————————-
# Memblok situs terlarang secara manual
# ————————————-
#http_access allow noblacklist
#http_access deny katablacklist
#http_access deny domainblacklist
#http_access deny ipblacklist

http_access allow manager localhost
http_access deny manager

# ————————————-
# Rule yang saya terapkan
# ————————————-

#http_access deny blok_port Yahoo-Mess Yahoo-dom
http_access deny karyawan TIME
#blok_port Yahoo-Mess Yahoo-dom
http_access allow kantor
#Yahoo-Mess Yahoo-dom

#acl magic_words2 url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .tar.bz2 .bz2 .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .raw .wav .iso

# Cancel download if file is bigger than 2 MB = 2000×1024 byte = 2048000 byte
#reply_body_max_size 2048000 allow magic_words2 tdkbebasdownload

#acl TIME time SMTWHFA 9:00-20:00

#acl download url_regex -i ftp \.exe$ \.mp3$ \.mp4$ \.tar.gz$ \.gz$ \.tar.bz2$ \.rpm$ \.zip$ \.rar$
#acl download url_regex -i \.avi$ \.mpg$ \.mpeg$ \.rm$ \.iso$ \.wav$ \.mov$ \.dat$ \.mpe$ \.mid$
#acl download url_regex -i \.midi$ \.rmi$ \.wma$ \.wmv$ \.ogg$ \.ogm$ \.m1v$ \.mp2$ \.mpa$ \.wax$
#acl download url_regex -i \.m3u$ \.asx$ \.wpl$ \.wmx$ \.dvr-ms$ \.snd$ \.au$ \.aif$ \.asf$ \.m2v$
#acl download url_regex -i \.m2p$ \.ts$ \.tp$ \.trp$ \.div$ \.divx$ \.mod$ \.vob$ \.aob$ \.dts$
#acl download url_regex -i \.ac3$ \.cda$ \.vro$
##\.deb$

#delay_pools 1

#delay_class 1 1
#delay_parameters 1 15000/30000
#delay_access 1 allow download TIME
#delay_access 1 deny all

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny BADPORTS
http_access deny VIRUS
http_access allow localhost
http_access deny all
http_reply_access allow all
icp_access allow all

# PARAMETER ADMINISTRATOR
# —————————————————————————–
cache_mgr koti97@gmail.com
cache_effective_user proxy
cache_effective_group proxy
visible_hostname omdo.org
cachemgr_passwd kunamjaran all

# PESAN ERROR DALAM BAHASA INDONESIA
# —————————————————————————–
error_directory /usr/share/squid/errors/Indonesian

#Agar fungsi blacklist manual itu dapat digunakan, buat direktori berisi file-file disebutkan dalam blacklist manual:
# mkdir /etc/squid/blacklist
# cd /etc/squid/blacklist/
# vim no-blacklist.txt
# vim kata-blacklist.txt
# vim domain-blacklist.txt
# vim ip-blacklist.txt

ftp_passive on
ftp_sanitycheck on

#always_direct allow all

acl local-dst dst 192.168.1.5/32 192.168.1.254/32 192.168.1.100/32
acl local-domain dstdomain omdo.org
always_direct allow localhost local-dst local-domain
always_direct deny all

coredump_dir /var/spool/squid/
forwarded_for off
memory_pools off
minimum_direct_hops 4
store_objects_per_bucket 10
store_avg_object_size 13 kb
icp_hit_stale on
query_icmp on
max_open_disk_fds 100
sleep_after_fork 0
relaxed_header_parser on
store_dir_select_algorithm round-robin
high_page_fault_warning 0
high_response_time_warning 0
request_entities on
balance_on_multiple_ip on
detect_broken_pconn off
persistent_connection_after_error off
client_persistent_connections on
server_persistent_connections on
digest_rebuild_chunk_percentage 20
digest_swapout_chunk_size 4096 KB
digest_rewrite_period 1 minute
digest_rebuild_period 1 hour
digest_bits_per_entry 10
ignore_unknown_nameservers off
redirector_bypass on

# OPTIONS FOR TUNING THE CACHE
request_header_max_size 20 KB
read_ahead_gap 20 KB
collapsed_forwarding on
forward_timeout 2 minutes
persistent_request_timeout 1 minutes
dns_nameservers 192.168.1.5 202.134.2.5 202.134.0.155 203.130.196.155

# HTTPD-ACCELERATOR OPTIONS
httpd_accel_no_pmtu_disc off

Untuk menampilkan pesan Error dari Proxy squid dalam bentuk bahasa indonesia, tinggal copy-kan saja pesan Error dalam bahasa Inggris ke direktori lokasi pesan error yang berbahasa Indonesia :

koti@omdo:~$ sudo cp /usr/share/squid/errors/English /usr/share/squid/errors/Indonesian

Silahkan diterjemahkan file-filenya…:D

Untuk menerapkan IP forwarding, edit file /etc/sysctl.conf :
koti@omdo:~$ sudo vim /etc/sysctl.conf

Berikan nilai 1 (enable) pada baris :
net.ipv4.ip_forward = 0 menjadi net.ipv4.ip_forward = 1

Squid proxy server tidak dapat berjalan sebagai super user root, oleh karena itu, buatlah user yang akan menjalankan squid :
koti@omdo:~$ sudo useradd -d /var/spool/squid/ -r -s /dev/null proxy >/dev/null 2>&1

Jika folder cache masih belum bisa di tulis oleh user proxy, ketik perintah ini :
koti@omdo:~$ sudo chown -R proxy:proxy /var/spool/squid/

Tambahkan di konfigurasi Firewall menggunakan iptables agar client diperbolehkan mengakses Internet ini melalui proxy, request client ke proxy dengan IP address yang terdaftar diperbolehkan melalui port 3128 tergantung konfigurasi yang Anda gunakan, meredirect port squid server kita dengan perintah :

iptables -A INPUT -i eth1 -p tcp -d 192.168.1.254 -s 192.168.1.0/24 –dport 3128 -m state –state NEW,ESTABLISHED -j ACCEPT

Jika belum, tambahkan juga script perintah di atas ini ke file /etc/rc.local, agar perintah tersebut dijalankan auto startup, jika komputer squid mati kita tidak perlu repot2 menjalankan perintah tersebut secara terus menerus.

Restart Si Squid :

koti@omdo:~$ sudo /etc/init.d/squid restart

atau :

koti@omdo:~$ sudo squid -k reconfigure

Jika tidak terjadi error, maka si squid sudah berjalan sebagai transparent proxy.
Sekalian Testing apakah bridge + transparent proxy sukses atau tidak ada baiknya jika kita restart terlebih dahulu Si Hardy ini :

koti@omdo:~$ sudo reboot

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: