Membuat disain warnet dengan squid

Membuat disain warnet dengan squid

Membuat disain warnet dengan squid

Posted on October 26th, 2009 in Application, Linux, Squid, Windows by kusprayitna

Sekarang banyak dibuka warnet warnet baru di Indonesia dan khususnya di Jogja.

Ada banyak faktor yang menyebabkan, diantaranya yaitu :

  1. Banyak mahasiswa, sehingga ini adalah pasar yang sangat besar untuk sebagai lahan bisnis

  2. Akses internet melalui speedy semakin murah untuk unlimited

  3. Harga komputer semakin murah

Sebagai contoh disini yaitu menggunakan koneksi internet dari speedy dengan bandwidth 1Mbps dan peralatan yang digunakan yaitu :

  1. 1 Server Windows XP dengan 2 Lan Card

  2. 8 Buah PC Client dengan 1 Lan Card

  3. 1 Buah Switch/Buh 12 Port

  4. Kabel UTP+konektor secukupnya

  5. Koneksi ke Speedy dengan Modem ADSL

Disain jaringan

Keterangan :

  1. Server memakai Windows dengan IP 192.168.1.1

  2. Dialup Speedy menggunakan komputer server

  3. Client dibagi dua bagian, yaitu A dengan IP 192.168.1.11 s.d 192.168.1.14 dan B untuk IP 192.168.0.11 s.d. 192.168.0.14

Konfigurasi standar Squid yaitu :

(diambil dari linux dengan perintah# grep -v “^#” /etc/squid/squid.conf | sed -e ‘/^$/d’)

acl all src 0.0.0.0/0.0.0.0

acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255

acl to_localhost dst 127.0.0.0/8

acl SSL_ports port 443

acl Safe_ports port 80 # http

acl Safe_ports port 21 # ftp

acl Safe_ports port 443 # https

acl Safe_ports port 70 # gopher

acl Safe_ports port 210 # wais

acl Safe_ports port 1025-65535 # unregistered ports

acl Safe_ports port 280 # http-mgmt

acl Safe_ports port 488 # gss-http

acl Safe_ports port 591 # filemaker

acl Safe_ports port 777 # multiling http

acl CONNECT method CONNECT

http_access allow manager localhost

http_access deny manager

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access allow localhost

http_access deny all

icp_access allow all

http_port 3128

hierarchy_stoplist cgi-bin ?

access_log /var/log/squid/access.log squid

acl QUERY urlpath_regex cgi-bin \?

cache deny QUERY

refresh_pattern ^ftp: 1440 20% 10080

refresh_pattern ^gopher: 1440 0% 1440

refresh_pattern . 0 20% 4320

acl apache rep_header Server ^Apache

broken_vary_encoding allow apache

coredump_dir /var/spool/squid

Dalam rancangan disain squid untuk warnet kali ini akan dibuat dengan spesifikasi sebagai berikut:

  1. Penggunaan Bandwidth 1Mbps diatur dengan cara sebagai berkut:

    1. Klien A dan B dibagi rata dengan penggunaan bandwidth total pergroup 512 Kbps

    2. Jam sepi , yaitu antara jam 03.01 s.d. 10.00 dan sepanjang hari untuk hari minggu

      1. Maksimal 768 Kbps untuk download yang dibagi sama rata
      2. Untuk browsing minimal 256 Kbps
    3. Jam ramai, yaitu antara jam 10.01 s.d. 03.00
      1. Maksimal 512 Kbps untuk download yang dibagi sama rata
      2. Untuk browsing minimal 512 Kbps
    4. Komputer admin, yaitu server, tidak dilakukan pembatasan bandwidth, kecuali untuk download tetap dibatasi agar tidak mengganggu klien yaitu sebesar maksimal 256 Kbps
  1. Yang dimaksud download, yaitu

    1. melakukan akses internet untuk file-file berikut : tar tar.gz zip rar avi swf flv mpeg mpg mp4 mp3 wav dan sejenisnya

    2. Download maksimal saat ramai ukuran maksimal yang diijinkan yaitu 100MB dan saat sepi yaitu 750MB, selebihnya harus melalui admin

    3. Komputer admin 192.168.1.1 dijadikan server lokal, dimana download dari server lokal tidak dilakukan pembatasan

  2. Melakukan blok atas situs porno

  3. Melakukan blok atas iklan

Maka konfigurasi squid.conf nya yaitu :

(Konfigurasi dibuat di Centos , untuk dipakai di Windows diperlukan penyesuaikan alamat folder)

#Default saja

acl all src 0.0.0.0/0.0.0.0

acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255

acl to_localhost dst 127.0.0.0/8

acl SSL_ports port 443

acl Safe_ports port 80 # http

acl Safe_ports port 21 # ftp

acl Safe_ports port 443 # https

acl Safe_ports port 70 # gopher

acl Safe_ports port 210 # wais

acl Safe_ports port 1025-65535 # unregistered ports

acl Safe_ports port 280 # http-mgmt

acl Safe_ports port 488 # gss-http

acl Safe_ports port 591 # filemaker

acl Safe_ports port 777 # multiling http

acl CONNECT method CONNECT

http_access allow manager localhost

http_access deny manager

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

# Definisi waktu

acl sepi1 time S 00:00-23:59

acl sepi2 time MTWHFA 03:01-10:00

acl ramai1 time MTWHFA 10:01-23:59

acl ramai2 time MTWHFA 00:00-03:00

#Definisi LAN

acl lan_b src 192.168.0.0/24

acl lan_a src 192.168.1.0/24

acl admin src 192.168.1.1/255.255.255.255

#Definisi Filter Porno & Iklan

acl porno url_regex -i “/etc/squid/porno.conf”

http_access deny porno

acl iklan url_regex -i “/etc/squid/iklan.conf”

http_access deny iklan

#Nyatakan hak akses

http_access allow admin

http_access allow lan_b

http_access allow lan_a

http_access allow localhost

http_access deny all

icp_access allow all

#Definisi lokal server

#Dilakukan sebagai domain, karena tidak ada DNS server lokal

acl local-servers dstdomain 192.168.1.1

#Definisi download

acl download url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .tar .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov .msi .mp4

#Pembatasan ukuran maksimal download

reply_body_max_size 0 allow local-servers

reply_body_max_size 0 allow admin

reply_body_max_size 786432000 allow download sepi1

reply_body_max_size 786432000 allow download sepi2

reply_body_max_size 104857600 allow download ramai1

reply_body_max_size 104857600 allow download ramai2

reply_body_max_size 0 deny download

#Definisi Network (Default saja)

http_port 3128

hierarchy_stoplist cgi-bin ?

access_log /var/log/squid/access.log squid

acl QUERY urlpath_regex cgi-bin \?

cache deny QUERY

refresh_pattern ^ftp: 1440 20% 10080

refresh_pattern ^gopher: 1440 0% 1440

refresh_pattern . 0 20% 4320/etc/squid/porno.conf

acl apache rep_header Server ^Apache

broken_vary_encoding allow apache

connect_timeout 5 minute

cache_mgr “kusprayitna”

mail_from kusprayitna@staff.uii.ac.id

visible_hostname warnet

#Definisi pengaturan Download

# -1 berarti unlimited

# Class 2 untuk pengaturan LAN & Host

# Class 3 untuk pengaturan seluruh Lan s.d host

# nilai parameter 256kps = 256*125 = 32000

delay_pools 5

delay_class 1 2

delay_parameters 1 -1/-1 -1/-1

delay_class 2 2

delay_parameters 2 -1/-1 32000/32000

delay_class 3 3

delay_parameters 3 128000/128000 64000/64000 16000/64000

delay_class 4 3

delay_parameters 4 96000/96000 48000/48000 12000/48000

delay_class 5 3

delay_parameters 5 64000/64000 32000/32000 8000/32000

# Terapkan pembagian bandwidth

# 1. Tanpa pembataasan untuk akses download dari lokal

# 2. Admin dibatasi maksimal 256kbps agar tidak mengganggu lainnya

# 3. Waktu sepi bandwidth 768 dibagi 2 lan, setiap lan 4 PC

# 4. Waktu ramai bandwidth 512 dibagi 2 lan, setiap lan 4 PC

delay_access 1 allow local-servers

delay_access 2 allow download admin

delay_access 2 deny all

delay_access 4 allow download sepi1

delay_access 4 allow download sepi2

delay_access 4 deny all

delay_access 5 allow download ramai1

delay_access 5 allow download ramai2

delay_access 5 deny all

# untuk akses ke server lokal tidak lewat proxy

always_direct allow local-servers

dns_nameservers 192.168.1.1

coredump_dir /var/spool/squid

Sedangkan untuk file yang disertakan yaitu :

/etc/squid/porno.conf berisikan :

xxx

bugil

playboy

password

warez

/etc/squid/iklan.conf berisikan :

[\./]ad[s]?[\./]

[\./].swf[\./]

banner

reklame

reclama

promo