Proxy merupakan aplikasi yang di dalam Debian Woody, aplikasi ini digunakan untuk memblokir
situs-situs yang tidak diperkenankan untuk masuk atau melewati server atau router yang kita
konfigurasi. Dengan tak panjang lebar, langsung saja saya jabarkan sederetan command konfigurasi
proxy.
Sebelum kita melakukan konfigurasi, lakukan terlebih dahulu installasi paket yang kita perlukan
dalam konfigurasi proxy server, paket yang kita butuhkan ialah“squid”.
# apt-get install squid
Tunggu sejenak hingga proses installasi squid selesai.
Nah kalo installasi squid sudah berhasil, lakukan konfigurasi file“squid.conf”. File squid.conf ada di
directory /etc/, jadi terlebih dahulu masuk ke direktory /etc/.
# cd /etc/
Nah kalo sudah masuk, buka dan edit file squid.conf. Original file squid.conf sebagai berikut : 

# WELCOME TO SQUID 2
# ——————
#
# This is the default Squid configuration file. You may wish
# to look at the Squid home page (http://www.squid-cache.org/)
# for the FAQ and other documentation.
#
# The default Squid config file shows what the defaults for
# various options happen to be. If you don’t need to change the
# default, you shouldn’t uncomment the line. Doing so may cause
# run-time problems. In some cases “none” refers to no default
# setting at all, while in other cases it refers to a valid
# option – the comments for that keyword indicate if this is the
# case.
#

# NETWORK OPTIONS
# —————————————————————————–
# TAG: http_port
# Usage: port
# hostname:port
# 1.2.3.4:port
#
# The socket addresses where Squid will listen for HTTP client
# requests. You may specify multiple socket addresses.
# There are three forms: port alone, hostname with port, and
# IP address with port. If you specify a hostname or IP
# address, then Squid binds the socket to that specific
# address. This replaces the old ‘tcp_incoming_address’
# option. Most likely, you do not need to bind to a specific
# address, so you can use the port number alone.
#
# The default port number is 3128.
#
# If you are running Squid in accelerator mode, then you
# probably want to listen on port 80 also, or instead.
#
# The -a command line option will override the *first* port
# number listed here. That option will NOT override an IP

Lakukan pengeditan file squid.conf seperti berikut :

Dalam keadaan file squid.conf masih terbuka, tekan tombol F7, kemudian input kalimat“INSERT
YOUR OWN RULE”dan tekan tombol“ENTER” setelah layar menampilkan baris INSERT YOUR OWN
RULE…, seperti berikut :

# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

http_access allow localhost
# And finally deny all other access to this proxy
http_access deny all

# TAG: icp_access
# Allowing or Denying access to the ICP port based on defined
# access lists
#
# icp_access allow|deny [!]aclname …
#
# See http_access for details
#
# Default:
# icp_access deny all
#
#Allow ICP queries from eveyone
icp_access allow all
# TAG: miss_access
#Use to force your neighbors to use you as a sibling instead of
#a parent. For example:
#
#acl localclients src 172.16.0.0/16
#miss_access allow localclients
#miss_access deny !localclients
#
#This means that only your local clients are allowed to fetch

Tambahkan command konfigurasi sebagai berikut :
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
acl localnet src 192.168.1.0/24
http_access allow localhost

acl larang url_regex -i “/etc/larang”
http_access deny larang
http_access allow localnet
# And finally deny all other access to this proxy
http_access deny all
# TAG: icp_access
#Allowing or Denying access to the ICP port based on defined
#access lists
Tekan lagi tombol F7 dan inputkan kalimat“httpd_accel”, layar akan menampilkan command
sebagai berikut :
# HTTPD-ACCELERATOR OPTIONS
#—————————————————————————–

# TAG: httpd_accel_host # TAG: httpd_accel_port #
If you want to run Squid as an httpd accelerator, define the
#host name and port number where the real HTTP server is.
#
#If you want virtual host support then specify the hostname
#as “virtual”.
#
#If you want virtual port support then specify the port as “0”.
#
#NOTE: enabling httpd_accel_host disables proxy-caching and
#ICP. If you want these features enabled also, then set
#the ‘httpd_accel_with_proxy’ option.

#
#Default:
# httpd_accel_port 80
# TAG: httpd_accel_single_host on|off
#If you are running Squid as a accelerator and have a single backend
#server then set this to on. This causes Squid to forward the request
#to this server irregardles of what any redirectors or Host headers
#says.
#
#Leave this at off if you have multiple backend servers, and use a
#redirector (or host table or private DNS) to map the requests to the
#appropriate backend servers. Note that the mapping needs to be a
#1-1 mapping between requested and backend (from redirector) domain
#names or caching will fail, as cacing is performed using the
#URL returned from the redirector.
#
#See also redirect_rewrites_host_header.
#
#Default:
# httpd_accel_single_host off
# TAG: httpd_accel_with_proxy on|off
Lakukan penambahan command atau konfigurasi sebagai berikut :
# HTTPD-ACCELERATOR OPTIONS
#—————————————————————————–

# TAG: httpd_accel_host # TAG: httpd_accel_port #
If you want to run Squid as an httpd accelerator, define the
#host name and port number where the real HTTP server is.
#
#If you want virtual host support then specify the hostname
#as “virtual”.
#
#If you want virtual port support then specify the port as “0”.
#
#NOTE: enabling httpd_accel_host disables proxy-caching and
#ICP. If you want these features enabled also, then set
#the ‘httpd_accel_with_proxy’ option.
#
#Default:
# httpd_accel_port 80

httpd_accel_port 80
httpd_accel_host virtual
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
# TAG: httpd_accel_single_host on|off
#If you are running Squid as a accelerator and have a single backend
#server then set this to on. This causes Squid to forward the request
#to this server irregardles of what any redirectors or Host headers
#says.
Terakhir simpan file tersebut dengan menekan tombol F2 dan keluar dengan menekan tombol F10
Berikut lakukan kembali konfigurasi-konfigurasi beserta penambahan file. Tahap selanjutnya kita
akan membuat sebuah file yang berisikan alamat-alamat yang akan kita blok (tidak boleh masuk).
Masih di direktori /etc/ ciptakan file“larang” hal ini sesuai dengan konfigurasi kita pada baris“acl
larang url_regex–i“/etc/larang”
acl larang url_regex -i “/etc/larang”
#mcedit larang
Kemudian inputkan alamat-alamat yang akan kita blok. Contoh alamat yang kita blok :
google.com
yahoo.com
Maka langsung saja ketikkan :
yahoo
google
Kemudian simpan file tersebut. Tekan tombol F2 kemudian keluar tekan tombol F10
Sekarang kita tinggal mengesetkan atau mengkonfigurasi command“iptables”. Langsung saja
lakukan perintah seperti berikut :
…/etc#iptables -t nat -A PREROUTING -s 192.168.1.1/255.255.255.0 -p tcp –port 80 -j REDIRECT –to-
port 3128
Selanjutnya kita permanenkan iptables kita, jangan sampai lupa untuk menyimpannya, karena bila
kita tidak menyimpannya, maka apabila komputer reboot, konfigurasi iptables hilang.
Untuk menyimpannya buat terlebih dulu filedimana nantinya untuk menyimpan atau meletakkan
konfigurasi iptables.
Di sini kita buat file“myiptables” untuk tempat menyimpan konfigurasi iptables
../etc#touch myiptables
Lanjut ketikkan perintah berikut untuk menyimpan konfigurasi iptables :
#iptables-save >myiptables
Kemudian buat sebuah file sebagai aplikasi untuk loading file myiptables :
#mcedit iptablesload
Kemudian ketikkan script berikut :
iptables-restore /dev/null 2>&1
Simpan file tersebut dengan tombol F2 dan keluar dengan F10. Berikan permission atau izin untuk
file tersebut dengan perintah :
#chmod 75 iptablesload#cd rc.boot#mcedit startup
#!/bin/sh
/etc/iptablesload755 startup#chmod 755 startup#/etc/init.d/squid restart 55 iptablesload
Masih di direktori /etc#, masuk ke direktory“rc.boot”
#cd rc.boot
Nah di sini buatlah file“startup” dan isikan file tersebut :

#mcedit startup
#!/bin/sh
/etc/iptesloadabl
Save file tersebut dengan F2 dan keluar F10.
Berikut berikan permission untuk file startup :
#chmod 755 startup
Terakhir restart squid dengan perintah :
#/etc/init.d/squid restart

Diposkan oleh Eka Bagus di Sabtu, Januari 29, 2011 0 komentar

//

Rabu, 26 Januari 2011

 

Fungsi 7 OSI Layer

OPEN SYSTEM INTERCONNECTION (OSI) 

I. PENGERTIAN

Masalah utama dalam komunikasi antar komputer dari vendor yang berbeda adalah karena mereka mengunakan protocol dan format data yang berbeda-beda. Untuk mengatasi ini, International Organization for Standardization (ISO) membuat suatu arsitektur komunikasi yang dikenal sebagai Open System Interconnection (OSI) model yang mendefinisikan standar untuk menghubungkan komputer-komputer dari vendor-vendor yang berbeda.

Model-OSI tersebut terbagi atas 7 layer, dan layer kedua juga memiliki sejumlah sub-layer (dibagi oleh Institute of Electrical and Electronic Engineers (IEEE)). Perhatikan tabel berikut:

7th – Layer : Application Services

6th – Layer : Presentation Services

5th – Layer : Session Communications

4th – Layer : Transport Communications

3rd – Layer : Network Communications

2nd – Layer : Data-link Physical connections

1st – Layer : Physical Physical connections

Tabel MODEL OSI

Layer-layer tersebut disusun sedemikian sehingga perubahan pada satu layer tidak membutuhkan perubahan pada layer lain. Layer teratas (5, 6 and 7) adalah lebih cerdas dibandingkan dengan layer yang lebih rendah; Layer Application dapat menangani protocol dan format data yang sama yang digunakan oleh layer lain, dan seterusnya. Jadi terdapat perbedaan yang besar antara layer Physical dan layer Application.

II. FUNGSI LAYER

1. Layer Physical

Ini adalah layer yang paling sederhana; berkaitan dengan electrical (dan optical) koneksi antar peralatan. Data biner dikodekan dalam bentuk yang dapat ditransmisi melalui media jaringan, sebagai contoh kabel, transceiver dan konektor yang berkaitan dengan layer Physical. Peralatan seperti repeater, hub dan network card adalah berada pada layer ini.

2. Layer Data-link

Layer ini sedikit lebih “cerdas” dibandingkan dengan layer physical, karena menyediakan transfer data yang lebih nyata. Sebagai penghubung antara media network dan layer protocol yang lebih high-level, layer data link bertanggung-jawab pada paket akhir dari data binari yang berasal dari level yang lebih tinggi ke paket diskrit sebelum ke layer physical. Akan mengirimkan frame (blok dari data) melalui suatu network. Ethernet (802.2 & 802.3), Tokenbus (802.4) dan Tokenring (802.5) adalah protocol pada layer Data-link.

3. Layer Network

Tugas utama dari layer network adalah menyediakan fungsi routing sehingga paket dapat dikirim keluar dari segment network lokal ke suatu tujuan yang berada pada suatu network lain. IP, Internet Protocol, umumnya digunakan untuk tugas ini. Protocol lainnya seperti IPX, Internet Packet eXchange. Perusahaan Novell telah memprogram protokol menjadi beberapa, seperti SPX (Sequence Packet Exchange) & NCP (Netware Core Protocol). Protokol ini telah dimasukkan ke sistem operasi Netware. Beberapa fungsi yang mungkin dilakukan oleh Layer Network

* Membagi aliran data biner ke paket diskrit dengan panjang tertentu
* Mendeteksi Error
* Memperbaiki error dengan mengirim ulang paket yang rusak
* Mengendalikan aliran

4. Layer Transport

Layer transport data, menggunakan protocol seperti UDP, TCP dan/atau SPX (Sequence Packet eXchange, yang satu ini digunakan oleh NetWare, tetapi khusus untuk koneksi berorientasi IPX). Layer transport adalah pusat dari mode-OSI. Layer ini menyediakan transfer yang reliable dan transparan antara kedua titik akhir, layer ini juga menyediakan multiplexing, kendali aliran dan pemeriksaan error serta memperbaikinya.

5. Layer Session

Layer Session, sesuai dengan namanya, sering disalah artikan sebagai prosedur logon pada network dan berkaitan dengan keamanan. Layer ini menyediakan layanan ke dua layer diatasnya, Melakukan koordinasi komunikasi antara entiti layer yang diwakilinya. Beberapa protocol pada layer ini: NETBIOS: suatu session interface dan protocol, dikembangkan oleh IBM, yang menyediakan layanan ke layer presentation dan layer application. NETBEUI, (NETBIOS Extended User Interface), suatu pengembangan dari NETBIOS yang digunakan pada produk Microsoft networking, seperti Windows NT dan LAN Manager. ADSP (AppleTalk Data Stream Protocol). PAP (Printer Access Protocol), yang terdapat pada printer Postscript untuk akses pada jaringan AppleTalk.

6. Layer Presentation

Layer presentation dari model OSI melakukan hanya suatu fungsi tunggal: translasi dari berbagai tipe pada syntax sistem. Sebagai contoh, suatu koneksi antara PC dan mainframe membutuhkan konversi dari EBCDIC character-encoding format ke ASCII dan banyak faktor yang perlu dipertimbangkan. Kompresi data (dan enkripsi yang mungkin) ditangani oleh layer ini.

7. Layer Application

Layer ini adalah yang paling “cerdas”, gateway berada pada layer ini. Gateway melakukan pekerjaan yang sama seperti sebuah router, tetapi ada perbedaan diantara mereka. Layer Application adalah penghubung utama antara aplikasi yang berjalan pada satu komputer dan resources network yang membutuhkan akses padanya. Layer Application adalah layer dimana user akan beroperasi padanya, protocol seperti FTP, telnet, SMTP, HTTP, POP3 berada pada layer Application.

III. KOMPONEN JARINGAN DAN PROTOKOL LAYER

Layer 1 – Physical

Network components: Protocols:

* Repeater

* Multiplexer IEEE 802 (Ethernet standard)

* Hubs(Passive and Active) IEEE 802.2 (Ethernet standard)

* TDR ISO 2110

* Oscilloscope ISDN

* Amplifier

Layer 2 – Datalink

Network components:

* Bridge

* Switch

* ISDN Router

* Intelligent Hub

* NIC

* Advanced Cable Tester

Protocols:

Media Access Control:

Communicates with the adapter card

Controls the type of media being used:

* 802.3 CSMA/CD (Ethernet)
* 802.4 Token Bus (ARCnet)
* 802.5 Token Ring
* 802.12 Demand Priority

Logical Link Control

* error correction and flow control
* manages link control and defines SAPs

802.2 Logical Link Control

Layer 3 (Network)

Network components:

* Brouter

* Router

* Frame Relay Device

* ATM Switch

* Advanced Cable Tester

Protocols:

* IP; ARP; RARP, ICMP; RIP; OSFP;
* IGMP;
* IPX
* NWLink
* NetBEUI
* OSI
* DDP
* DECnet

Layer 4 – Transport

Network components:

* Gateway

* Advanced Cable Tester

* Brouter

Protocols:

* TCP, ARP, RARP;
* SPX
* NWLink
* NetBIOS / NetBEUI

* ATP

Layer 5 – Session

Network components:

* Gateway

Protocols:

* NetBIOS
* Names Pipes
* Mail Slots

* RPC

Layer 6 – Presentation

Network components:

* Gateway

* Redirector

Protocols:

* None

Layer 7 – Application

Network components:

* Gateway

Protocols:

* DNS; FTP
* TFTP; BOOTP
* SNMP; RLOGIN
* SMTP; MIME;
* NFS; FINGER
* TELNET; NCP
* APPC; AFP
* SMB

Diposkan oleh Eka Bagus di Rabu, Januari 26, 2011 0 komentar

//

Sabtu, 22 Januari 2011

 

Konfirgurasi SQUID

beberapa hari kemarin salah seorang teman bertanya tentang konfigurasi squid, tapi di sini gua akan menulis lengkap mulai pertama kali penyetingan konfigurasi squid di mesin openbsd,extraklah squid pada direktory yang telah kita buat ( sembarang ) 

# tar zxvf squid-2.5.STABLE14.tar.gz -C /squid/local/src

# groupadd squid

# useradd -m -d /cache -g squid -s /dev/null squid

Edit squid

# cd /usr/local/src/squid-2.5.STABLE14
# nano -w icons/Makefile.in
Ganti dari icondir=$(datadir)/icons
Menjadi icondir=$(libexecdir)/icons

# ee src/Makefile.in
Ganti dari DEFAULT_LOG_PREFIX=$(localstatedir)/logs
Menjadi DEFAULT_LOG_PREFIX=$(localstatedir)/log/squid
Ganti dari DEFAULT_PID_FILE=$(DEFAULT_LOG_PREFIX)/squid.pid
Menjadi DEFAULT_PID_FILE=$(localstatedir)/run/squid.pid
Ganti dari DEFAULT_SWAP_DIR=$(localstatedir)/cache
Menjadi DEFAULT_SWAP_DIR=/cache
Ganti dari DEFAULT_ICON_DIR=$(datadir)/icons
Menjadi DEFAULT_ICON_DIR=$(libexecdir)/icons

kompile squidnya

# cd /usr/local/src/squid-2.5.STABLE14
# ./configure –prefix=/squid –exec-prefix=/squid –bindir=/squid/sbin –libexecdir=/squid/lib
–localstatedir=/var –sysconfdir=/squid/etc –enable-pf-transparent –enable-snmp –enable-ssl –enable-removal-policies=heap –enable-default-languages=English
–enable-err-languages=English –enable-delay-pools –enable-cache-digests –enable-poll –disable-ident-lookups –disable-hostname-checks –enable-storeio=diskd,ufs

install squidnya

# make
# make install
# mkdir -p /var/squid/log
# chown squid:squid /var/squid/log
# chmod 750 /var/squid/log
# chmod 750 /cache

Edit squid.conf

#nano -w /squid/etc/squid.conf
http_port 9200 # rubhlah ports defaultnya
icp_port 0
cache_mem 6 MB
cache_dir diskd /cache 12000 28 256 Q1=72 Q2=88
cache_store_log none
negative_ttl 2 minutes
cache_effective_user squid
cache_effective_group squid
maximum_object_size 32 KB
minimum_object_size 0 KB
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF
ftp_user anonymous@
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl SSL_ports port 443 8443 563 777
acl local src 192.168.1.0/24 # asumsi ip local anda 192.168.1.0 dengan prefix /24
http_access allow local
http_access deny all
cache_mgr NOC@kamarhitam.web.id
visible_hostname kamarhitam.web.id
half_closed_clients off
cache_swap_high 100
cache_swap_low 80
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

Buat direktori cache

# /usr/sbin/squid -z

Jalankan dengan

# /squid/sbin/squid -D untuk start
# /squid/sbin/squid -k shutdown untuk stop
# /squid/sbin/squid -k reconfigure untuk restart

Supaya autorun edit

# nano -w /etc/rc.local

if [ -x /squid/sbin/squid ]; then
echo -n ’squid’; /squid/sbin/squid -sYD
fi

Settingan di atas adalah merupakan sebuah setingan default, di bawah ini gua akan menjelaskan bagaimana cara mebagi bandwith dengan delay_pools dan memblok link yang kita anggap sebagai virus,

Tekhnik Delay_pools ( di ambil dari Adilinux )

1. delay_pools
menyatakan berapa banyak bagian/pool yang akan dibuat
misal delay_pools 2

2.delay_class
menentukan klas/tipe pembagian bandwith dari setiap pool. 1 pool hanya boleh memiliki 1 clas, tidak lebih atau kurang.
bagian merupakan nomer urut dari jumlah pool didelay pool, jadi ada 1 s/d n bagian dimana n merupakan angka jumlah pada delay_pools

tipe merupakan tipe class delay yang dipakai.
Secara umum tipe menyatakan bagaimana cara membagi bandwidth, ada 3 tipe:

tipe/class 1. dimana semua bandwidth yang ada akan dibagi sama rata untuk semua user squid,

example: ada bandwidth 128 dan semua bandwith dipakai untuk browsing

tipe/class 2. membatasi pemakaian bandwith dari total bandwidth yang ada, dan bandwith yang diperuntukan squid akan dibagi semua user dengan sama rata.

example: kita mengansumsikan ada bandwidth 128 dimana 28 kbit dipakai untuk email dan sisanya (128 – 28 = 100 ) 100 kbit dipakai untuk browsing

tipe/class 3, membatasi pemakaian bandwidth dari total bandwidth yang ada, setiap network ( node ) class C akan mendapat bandwidth sama rata, setiap user per-node akan mendapat bandwidth yang sama besar dari total bandwidth per-network

example: bandwidth tersedia 128 kb, untuk browsing disediakan bandwidth 64 kb, sisanya untuk aktifitas lain .

Contoh Kasus:
Tomy membagi network menjadi dua bagian untuk kamar dia dan kamar bimo, kamar toMy menggunakan pool 1 dan kamar bimo menggunakan pool 2

delay_class 1 2 # pool 1 memakai clas tipe 2 ( kamar ToMy )
delay_class 2 3 # pool 2 memakai clas tipe 3 ( kamar BiMo )

Untuk Di kamar ToMy hanya di pakai untuk 1 komp saja, sedangkan untuk kamar BiMo di gunakan untuk 2 komp yang berbeda network ( 192.168.0.0/24) dan ( 192.168.1.0/24)

delay_access
Memberi batasan siapa saja yang boleh mempergunakan delay pools ini.
Penting untuk diingat sebaiknya setelah menetukan batasan jangan lupa di akhiri dengan deny all.
misal:

delay_access 1 allow ToMy
delay_access 1 deny all
delay_access 2 allow BiMo
delay_access 2 deny all

delay_parameters
Ini adalah bagian terpenting dari delay pools memberikan aturan main setiap delay pools yang dibentuk.
delay parameter mempunyai format yang disesuaikan dengan tipe/class yang dipakai.
Tapi disetiap tipe yang dipakai ada 1 format baku yaitu restore/max.

restore menunjukkan maksimum kecepatan data yang dapat dilewatkan bila harga max sudah terlampaui, dalam satuan bytes/second

max menunjukkan besar-nya file atau bucket yang dapat dilewatkan tanpa melalui proses delay. dalam satuan bytes.

Yang perlu diperhatikan dari satuan diatas adalah harga restore dimana kita sering menerima/menyewa/membeli bandwidth dari provider dalam satuan bits/second bukan bytes/second. Sedangkan satuan kecepatan yang ditunjukkan oleh Microsoft pada saat mendonlot file adalah bytes/sec.
Sedangkan satuan dari harga max sudah sesuai dengan kebiasaan sehari-hari, dimana kita memberi besaran bytes pada file-file.

1 byte = 8 bit.

SpesialCase: -1/-1 berarti unlimited atau tidak dibatasi pada nilai restore/max

example : 1000/64000 harga restore sama dengan 8000 bits/sec atau 8 kbits/sec.
Yang artinya user akan mendapat download brustable selama file yang akan dibuka lebih kecil dari 64 kbytes, jadi kecepatan bisa diatas 8 kbit/sec.

Bila ternyata file yang dibuka melebihi 64 bytes, maka proses limitasi akan segera dimulai dengan membatasi kecepatan maksimal 8 kbits/s.

class 1
delay_parameters <#pool individual>
ex: delay_parameters 1 1000/64000
Berarti semua network akan mendapat bandwidth yang sama di pool no 1.
Sebesar 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb.

class 2
delay_parameters <#pool agregate individual>
ex: delay_parameters 1 32000/32000 1000/64000
Berarti squid akan memakai bandwidth maksimum (32000*8) 256kbits dari semua bandwidth.
Bila terdapat lebih dari 1 network class C, maka total yang dihabiskan tetap 256 kbit/sec
dan tiap user akan mendapat bandwidth maksimum 1 kbytes/sec (8 kbits/sec), dengan
burstable file 64 kb.

class 3
delay_parameters <#pool agregate network individual>
ex: delay_parameters 1 32000/32000 8000/8000 1000/64000
Berarti squid akan memakai bandwidth maksimum (32000*8) 256kbits dari semua bandwidth.
Bila terdapat lebih dari 1 network class C, maka setiap network akan dipaksa maksimum sebesar (8000*8) 64 kbits/sec
dan tiap user pada satu network akan mendapat bandwidth maksimum 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb.

Dalam sebuah Contoh Kasus:
dalam 1 network dengan penggunaan bandwidth total tidak dibatasi terdapat beberapa komputer dengan klasifikasi sebagai berikut,
* admin, server dengan bandwidth unlimited
* BiMo dengan bandwidth 1,5 kbytes/sec, bila file yang diakses melebihi maka maks 64 Kbyte
* ToMy dengan bandwidth 1 kbytes/sec, bila file yang diakses melebihi maka maks 32 Kbyte

acl all src 0.0.0.0/0.0.0.0
acl admin src 192.168.1.250/255.255.255.255
acl server src 192.168.1.251/255.255.255.255
acl BiMo src 192.168.1.0/255.255.255.0
acl ToMy src 192.168.1.1 192.168.1.111 192.168.1.2 192.168.1.4 192.168.1.71

delay_pools 3

delay_class 1 1
delay_parameters 1 -1/-1
delay_access 1 allow admin
delay_access 1 allow server
delay_access 1 deny all

delay_class 2 1
delay_parameters 2 1500/64000
delay_access 2 allow BiMo
delay_access 2 deny all

delay_class 3 1
delay_parameters 3 1000/32000
delay_access 3 allow ToMy
delay_access 3 deny all

Delay pools juga dapat digunakan untuk membatasi download file untuk extensi tertentu.
Gunakan ACL url_regex untuk mengatasi hal ini.
Contoh dibawah digunakan untuk membatasi download file hingga 1 kByte/sec.

acl download url_regex -i ftp .exe$ .mp3$ .vqf$ .tar.gz$ .wmv$ .tar.bz$ .tar.bz2$ .gz$ .rpm$ .zip$
acl download url_regex -i .rar$ .avi$ .mpeg$ .mpe$ .mpg$ .qt$ .ram$ .rm$ .iso$ .raw$ .wav$ .tar$
acl download url_regex -i .z$ .wmf$ .mov$ .arj$ .lzh$ .gzip$ .bin$ .wma$ .3gp$
delay_pools 1
delay_class 1 1
delay_parameters 1 1000/16000
delay_access 1 allow download
delay_access 1 deny ALL

bagaimana caranya membuat delay pools untuk membatasi download di siang hari untuk 15 klient sedangkan malam harinya lost asumsi jamnya ( 10:00 – 21:00)

acl XTIME time SMTWHFA 10:00-21: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 3000/3000
delay_access 1 allow download XTIME
delay_access 1 deny all

Diposkan oleh Eka Bagus di Sabtu, Januari 22, 2011 0 komentar

//

 

Setting Squid UBUNTU Server

Selama ini untuk melakukan aktivitas internetan, saya selalu menggunakan dua browser favorit yaitu Mozilla Firefox dan Opera. Kenapa perlu dua browser, tentunya karena menurut saya diantara keduanya memiliki keunggulan masing-masing yang saling melengkapi. Namun akhir-akhir ini saya sering kesal karena kualitas koneksi internet yang saya pakai sedang mengalamai masalah, super lambat. 

Lantas apa hubungannya dengan squid? Beberapa diantara kita mungkin sudah mahfum bahwa untuk mensiasati lambatnya koneksi internet, kita bisa memanfaatkan fitur web cache yang ada pada browser. Jadi untuk bagian-bagian tertentu dari halaman web yang pernah kita kunjungi, browser nggak perlu lagi mengambil dari server, cukup dari simpanannya saja.

Oke masalah sedikit tersiasati, namun itu hanya berlaku untuk browser yang sama. Padahal saya punya dua browser favorit, dan saya ingin halaman yang pernah dikunjungi Firefox dan tersimpan dalam cache juga bisa dimanfaatkan oleh Opera dan begitu pula sebaliknya. Nah akhirnya saya mulai melirik untuk membuat local web cache server pada komputer saya, dan squidlah yang menjadi pilihan.

Berikut ini adalah langkah-langkah ngoprek squid untuk dijadikan local cache server:

1. Instalasi squid.

Buka terminal dan ketikkan perintah berikut :
$ sudo apt-get install squid

2. Membuat file log dan direktory untuk cache.

File log yang dimaksud adalah untuk cache_log dan access_log. Cache_log berfungsi untuk mencatat penulisan cache pada cache direktory sedangkan access log akan berisi daftar trafik yang pernah terjadi melalui port squid.
Direktory cache adalah tempat penyimpanan cache website yang pernah dikunjungi. Ketiga item tersebut harus menjadi hak milik cache_efective_user, dan supaya gampang kita sebut saja squid sebagai usernya.

$ mkdir /usr/local/squid
$ mkdir /usr/local/squid/cache
$ touch /usr/local/squid/cache.log
$ touch /usr/local/squid/access.log
$ sudo adduser squid
$ chown -Rf squid.squid /usr/local/squid

3. Mengkonfigurasi squid

Supaya bisa bekerja sesuai dengan keinginan kita harus memodifikasi isi dari squid.conf file. Biasanya setelah default install, file tersebut tersimpan di direktori /etc/squid/. Namun seandainya tidak ketemu, bisa menggunakan perintah berikut untuk mencarinya: sudo find / -name squid.conf
Saat pertama kali terinstall, squid akan memiliki sebuah default configuration file yang disertai coment-comment yang begitu buanyak, sehingga poin-poin konfigurasinya justru tersembunyi di dalam rimba coment tersebut. Jalankan perintah berikut untuk menghilangkan coment dan baris kosong pada default squid.conf file:
$ sudo chown squid.squid /var/spool/squid -Rf
$ sudo chown squid.squid -Rf /etc/squid
$ sudo -u squid mv /etc/squid/squid.conf /etc/squid/squid.conf.original
$ sudo -u squid touch /etc/squid/squid.conf
$ sudo -u squid cat /etc/squid/squid.conf.original | sed ‘/ *#/d; /^ *$/d’ > /etc/squid/squid.conf

Salah satu item yang perlu di-customize dari squid config file ini adalah variable yang berisi file log dan direktory cache sehingga merujuk pada yang telah kita siapkan sebelumnya.
cache_dir ufs /usr/local/squid/cache 1024 16 256
access_log /usr/local/squid/access.log
cache_log /usr/local/squid/cache.log
cache_store_log none

Kemudian untuk membuat squid sebagai chache server, option berikut yang perlu ditambahkan :
http_port 3128 transparent
cache_mem 1024 MB
cache_swap_low 94
cache_swap_high 96
maximum_object_size 16384 KB
minimum_object_size 4 KB
maximum_object_size_in_memory 2048 KB
fqdncache_size 1024
cache_replacement_policy heap GDSF
memory_replacement_policy heap GDSF

visible_hostname localhost
cache_mgr admin@localhost
cache_effective_user squid
cache_effective_group squid

Berikut ini adalah contoh configuration file yang saya gunakan.

4. Membuat struktur cache directory.

Dengan menjalankan perintah berikut, squid akan membentuk struktur direktori untuk penyimpanan cachenya:

$ sudo -u squid squid –z

5. Test squid

Jalankah perintah berikut untuk menguji coba konfigurasi squid yang telah dimodifikasi:

$ squid –d 1 -D

Kalau tidak ada error maka configuration file yang kita buat sudah ok. Dan jika ternyata masih ada error maka setelah melakukan perubahan pada squid.conf, jalankan perintah squid –k reconfigure untuk memerintahkan squid membaca ulang squid conf yang telah diedit.

6. Menjalankan squid

Untuk menjalankan squid, gunakan perintah berikut ini:

$ squid -sYD
Setelah langkah langkah diatas sukses, selanjutnya kita perlu mensetting browser supaya menggunakan proxy pada localhost port 3128.

Diposkan oleh Eka Bagus di Sabtu, Januari 22, 2011 0 komentar

//

Kamis, 20 Januari 2011

 

LIGHTSQUID

Lightsquid merupakan aplikasi monitoring squid yang mempunyai fungsi yang sama dengan SARG. Aplikasi ini menggunakan bahasa perl untuk men-generatenya. Maka dari itu ceklah di dalam sistem apakah sudah ada paket-paket perl atau belum dan jika sudah ada, paket perl versi berapa karena ada penambahan skrip perl versi tertentu yang akan dibahas nanti. 

# rpm -qa | grep perl
# perl -v

Untuk menginstal lightsquid ke dalam sistem kita, maka ikuti langkah-langkah berikut:
1. Download paket
2. Ekstrak ke Webserver

# tar -zxvf lightsquid-1.7.1.tgz -C /var/www/html/; cd /var/www/html

3. Merubah Nama Folder

# mv lightsquid-1.7.1/ lightsquid

4. Konfigurasi lightsquid

# cd lightsquid
# cp lightsquid.cfg lightsquid.cfg.ori
# vi lightsquid.cfg

Di dalam file ini, rubahlah path cfgpath, tplpath, langpath, reportpath, logpath, ip2namepath yang sesuai dengan dimana folder lightsquid itu berada. Penulis menggunakan konfigurasi berikut:

#path to additional `cfg` files
$cfgpath =”var/www/html/lightsquid”;
#path to `tpl` folder
$tplpath =”/var/www/html/lightsquid/tpl”;
#path to `lang` folder
$langpath =”/var/www/html/lightsquid/lang”;
#path to `report` folder
$reportpath =”/var/www/html/lightsquid/report”;
#path to access.log
$logpath =”/var/log/squid”;
#path to `ip2name` folder
$ip2namepath =”/var/www/html/lightsquid/ip2name”;

Jika sudah selesai, maka ketikan perintah berikut:
5. Merubah Mode

# chmod +x *.cgi
# chmod +x *.pl

6. Cek Setup lightsquid
Ketikkan perintah berikut untuk mengecek apakah konfigurasi lighsquid sudah benar atau belum:

# perl check-setup.pl

Jika ada tampilan seperti berikut:

Maka konfigurasi kita sudah benar.
7. Mengedit File Webserver
Setelah itu, kita mengkonfigurasi webserver yang berada di /etc/httpd/conf/httpd.conf, lalu cari skrip sebagai berikut:

AllowOverride None
Options None
Order allow, deny
Allow from all

menjadi:

AddHandler cgi-script .cgi
AllowOverride All

8. Generate lightsquid
Untuk men-generate lightsquid, gunakan perintah berikut:

# /var/www/html/lightsquid/lightparser.pl

9. Restart Webserver

# service httpd restart

10. Lihat lightsquid
Buka browser, lalu ketikkan

http://alamat_ip/lightsquid

maka akan ada tampilan sebagai berikut:

Klik pada item Date, maka akan muncul tampilan:

Jika sudah tampil gambar-gambar di atas, maka lightsquid sudah terinstal dalam sistem.
9. Penjadwalan Generate lightsquid
Sama seperti SARG, lightsquid bisa di generate secara otomatis menggunakan crontab. Buat dahulu filenya misalnya di /home yang bernama lightsquid.txt lalu masukkan skrip berikut:

#!/bin/bash
cd /var/www/html/lightsquid
/var/www/html/lightsquid/lightparser.pl

Dan kita ingin agar setiap 1 jam sekali sistem mengeksekusi file ini, maka masukkan di crontab:

0 * * * * /home/lightsquid.txt

Dan jangan lupa berikan perintah:

# chmod +x /home/lightsquid.txt

agar file tersebut dapat dieksekusi.
10. Troubleshooting
Pada umumnya error yang terjadi biasanya terlihat pada saat mengecek konfigurasi lightsquid, yaitu pada saat kita memberikan perintah:

# perl check-setup.pl

ada pernyataan error:

no: GD.PM found, please install or set $graphreport=0 to disable

Error tersebut dikarenakan di dalam sistem kita tidak mempunyai paket gd yang digunakan untuk membuat tampilan grafik. Oleh karena itu, installah paket tersebut dengan menuliskan:

# yum -y install gd perl-gd

Atau jika kita tidak mau menginstal paket gd hal itu tidak menjadi masalah dan konsekwensi yang timbul hanyalah kita tidak bisa melihat tampilan grafik. Tapi kita harus mensetting di file lightsquid.cfg dan merubah nilai dari $graphreport dari 1 menjadi 0.
Dan juga perlu diingat jika kita menggunakan perl versi 5.10, ada skrip yang harus ditambahkan di file lightparser.pl yaitu dengan merubah:

#extract site name
if $url =~ m/([a-z]+:\/\/)??([a-z0-9\-]+\.){1}(([a-z0-9\-]+\.){0,})([a-z0-9\-]+){1}(:[0-9]+)?\/(.*)/o;
$site=$2.$3.$5;
$site=$Lurl if ($site eq “”);

menjadi:

#extract site name

if ($url =~ m/([a-z]+:\/\/)??([a-z0-9\-]+\.){1}(([a-z0-9\-]+\.){0,})([a-z0-9\-]+){1}(:[0-9]+)?\/(.*)/o) { $site=$2.$3.$5; } else { $site=$Lurl; }

Diposkan oleh Eka Bagus di Kamis, Januari 20, 2011 0 komentar

//

 

SARG

SARG atau Squid Analysis Report Generator merupakan sebuah aplikasi yang dibuat oleh Pedro Lineu Orso yang bertujuan untuk melihat dan merekam aktivitas user selama berada di internet. Aplikasi ini sangat lengkap sehingga kita bisa melihat situs-situs apa yang dikunjungi oleh user, berapa bandwidth yang terpakai, dan sebagainya. Untuk menginstal aplikasi ini ke dalam sistem, berikut adalah langkah-langkahnya:
1. Download paket
2. Ekstrak Paket 

# tar -zxvf sarg-2.2.5.tar.gz
# cd sarg-2.2.5

3. Instalasi SARG

# ./configure
# make
# make install

4. Konfigurasi SARG

# cd /usr/local/sarg/
# cp sarg.conf sarg.conf.ori
# vi sarg.conf

Di file ini, rubahlah konfigurasi sarg sesuai dengan kebutuhan. Di bawah ini adalah konfigurasi sarg penulis:

language English
access_log /usr/local/squid/var/logs/access.log
graphs yes
graph_days_bytes_bar_color orange
title “Squid User Access Reports”
font_face Tahoma,Verdana,Arial
header_color darkblue
header_bgcolor blanchedalmond
font_size 9px
header_font_size 9px
title_font_size 11px
background_color white
text_color #000000
text_bgcolor lavender
title_color green
logo_image none
logo_text “”
logo_text_color #000000
image_size 80 45
background_image none
password none
temporary_dir /tmp
output_dir /var/www/html/squid-reports
output_email none
resolve_ip no
user_ip yes
topuser_sort_field BYTES reverse
index yes
use_comma no
long_url yes

5. Generate SARG
Untuk menjalankan SARG, maka ketikkan perintah di bawah ini untuk men-generate SARG:

# /usr/bin/sarg -l /var/log/squid/access.log

Maka secara ototmatis di dalam folder /var/www/html ada folder baru yang bernama squid-reports.
6. Restart Webserver

# service httpd restart

7. Melihat SARG
Untuk melihat tampilan SARG, maka ketikkan perintah berikut di browser:

http://alamat_ip/squid-reports

maka akan ada tampilan sebagai berikut:

Klik item yang berada pada kolom FILE/PERIOD, maka akan ada tampilan sebagai berikut:

Jika sudah ada tampilan seperti itu, maka SARG sudah berhasil diinstalasi di dalam sistem.

7. Penjadwalan Generate SARG

Untuk men-generate SARG, kita harus mengetikkan di dalam konsol perintah seperti berikut:

# /usr/bin/sarg -l /var/log/squid/access.log

Namun, alangkah capeknya jika kita mengetikkan perintah tersebut secara manual. Maka dari itu kita menggunakan crontab untuk melakukan eksekusi otomatis. Misalnya kita ingin agar setiap 1 jam sekali perintah di atas dieksekusi secara otomatis oleh sistem, maka terlebih dahulu kita membuat skrip misalnya di folder /home dengan nama sarg.txt dan tambahkan skrip berikut:

#!/bin/bash
/usr/bin/sarg -l /var/log/squid/access.log

Setelah itu, berikan perintah agar skrip tersebut dapat dieksekusi:

# chmod +x sarg.txt

Setelah itu kita konfigurasi crontab-nya:

# crontab -e

tambahkan skrip berikut:

0 * * * * /home/sarg.txt

Dan setelah itu sistem akan men-generate SARG secara otomatis.

Diposkan oleh Eka Bagus di Kamis, Januari 20, 2011 0 komentar

//

SQSTAT

sqstat adalah sebuah aplikasi yang dibuat oleh Alex Samorukov. Aplikasi ini berfungsi untuk memonitor squid secara real time sehingga kita bisa melihat secara langsung IP berapa yang sedang mendownload dan lain sebagainya. Untuk menginstal sqstat ke dalam sistem kita, maka ikuti langkah-langkah berikut ini:
1. Download paket
2. Ekstrak Paket

# gunzip sqstat-1.20.tar.gz
# tar -xvf sqstat-1.20.tar

3. Pindah Folder ke webserver

# mv sqstat-1.20 /var/www/html/; cd /var/www/html

4. Merubah Nama

# mv sqstat-1.20 sqstat

5. Konfigurasi sqstat

# cd sqstat
# cp config.inc.php.defaults config.inc.php
# vi config.inc.php

Di dalam file config.inc.php, rubah ip address dan port squid kita. Di sini, penulis memasukkan ip dan port squid penulis:

/* Squid proxy server ip address or host name */
$squidhost[0]=”192.168.0.250″; /* Squid proxy server port */
$squidport[0]=3128;

Setelah itu kita akan merubah file squid.conf

# vi /etc/squid/squid.conf

Di dalam file tersebut, tambahkan skrip berikut ini:

acl manager proto cache_object
acl webserver src 192.168.0.250/255.255.255.255
http_access allow manager webserver
http_access deny manager

6. Restart Webserver

# service httpd restart

7. Tes sqstat
Buka browser lalu ketikkan:

http://alamat_ip/sqstat
Maka akan ada tampilan sebagai berikut:

Rubahlah Auto refresh dari nilai 0 menjadi 5 agar aplikasi ini dapat refresh setiap 5 detik lalu tekan tombol Update.
6. Troubleshooting
Umumnya error yang terjadi adalah pada saat pengetesan sqstat di browser yaitu ada pernyataan error:

SqStat error
Error (1): Cannot get data. Server answered: HTTP/1.0 403 Forbidden

Hal ini dikarenakan kita salah menempatkan skrip: http_access deny manager di file squid.conf. Tempatkanlah skrip tersebut dibagian paling bawah pada item http_access.

Jika tidak ada tampilan gambar seperti di atas, tetapi hanya berupa list saja pada browser, maka ketikkan:

# mv sqstat.php index.php