Membangun Network Services di
Linux
Sub Materi : 1. Routing Static
2. Network Address Translation (NAT) 3. SSH Server
4. DHCP Server 5. DNS Server
6. Linux Apache MySQL PHP 7. Proxy Squid
8. Postfix Mail Server
M. Agung Nugroho
blog. http://agung.getux.com email. m.agung@amikom.ac.id
Table of Contents
Membangun Network Services di Linux...1
SSH Server ...2
Mengenal SSH Server ...2
Instalasi OpenSSH ...2
Web Server dengan Linux, Apache, MySQL, PHP...3
Instalasi MySQL...3
Instalasi Apache ...3
Instalasi PHP5 dan module apache mysql ...3
Instalasi PhpMyAdmin...4
DNS Server dengan Bind9...5
Membuat Virtual Host (multiple domain dalam 1 server)...9
Membuat DHCP Server...12
Mengenal DHCP Server ...12
Instalasi DHCP Server...12
Konfigurasi DHCP Sever ...12
Proxy Server ...16
Instalasi Paket Squid dari Repository ...17
Konfigurasi Squid ...17
Cache Managemen ...18
Content Filtering Menggunakan Squid ...19
Konfigurasi Tranparent Proxy ...20
Menjalankan Squid ...21
SSH Server
Mengenal SSH Server
Pengguna telnet, rlogin, dan ftp mungkin tidak menyadari bahwa password mereka ditransmisikan melalui Internet tanpa enkripsi, tetapi OpenSSH mengenkripsi semua lalu lintas (termasuk password) untuk secara efektif menghilangkan pembajakan koneksi, percakapan, dan serangan lainnya. Selain itu, OpenSSH menyediakan kemampuan tunneling yang aman dan beberapa metode autentikasi, dan mendukung semua versi protokol SSH.
Instalasi OpenSSH
Untuk menginstal aplikasi client dan server OpenSSH, gunakan perintah ini pada terminal prompt:
$ sudo aptget install opensshserver opensshclient
$ sudo aptget install opensshserver opensshclient
Untuk me-restart layanan ssh, gunakan perintah : $ sudo /etc/init.d/sshd stop
$ sudo /etc/init.d/sshd stop
$ sudo /etc/init.d/sshd start
$ sudo /etc/init.d/sshd start
Metode pengamanan sederhana, sebenarnya sudah terdapat pada file konfigurasi /etc/ssh/sshd_config. Untuk melakukan perubahan, gunakan perintah :
$ sudo pico /etc/ssh/sshd_config
$ sudo pico /etc/ssh/sshd_config
Agar anda tidak login ssh sebagai root, edit baris berikut sehingga seperti ini : Port 2999 Port 2999 # Authentication: # Authentication: LoginGraceTime 30 LoginGraceTime 30 # PermitRootLogin yes # PermitRootLogin yes
Web Server dengan Linux, Apache, MySQL, PHP
Dalam contoh ini, misalkan anda memiliki IP 192.168.7.253 Instalasi MySQL$ sudo aptget install mysqlserver mysqlclient
$ sudo aptget install mysqlserver mysqlclient
Anda akan diminta untuk memasukkan user dan password: New password for the MySQL "root" user:
New password for the MySQL "root" user: < Password SQL anda< Password SQL anda
Repeat password for the MySQL "root" user:
Repeat password for the MySQL "root" user: < Password SQL anda< Password SQL anda
Instalasi Apache
$ sudo aptget install apache2
$ sudo aptget install apache2
Kemudian buka browser anda, dan ketik url localhost atau 192.168.7.253
Document root apache secara default terletak di /var/www, dan konfigurasi file terletak di /etc/apache2/apache2.conf. Konfigurasi tambahan terletak di /etc/apache2 seperti /etc/apache2/mods-enabled (untuk module apache), /etc/apache2/sites-enabled (untuk virtual hosts), dan /etc/apache2/conf.d.
Instalasi PHP5 dan module apache mysql
$ sudo aptget install php5 libapache2modphp5 php5mysql
$ sudo aptget install php5 libapache2modphp5 php5mysql
phppear php5xcache php5suhosin
phppear php5xcache php5suhosin
Perintah diatas untuk menginstal php dan module yang terkait apache dan php. Setelah selesai instalasi module php5 dan module mysql, selanjutnya kita lakukan restart services apache.
$ sudo /etc/init.d/apache2 restart
$ sudo /etc/init.d/apache2 restart
Untuk melakukan testing apakah php5 sudah berjalan atau tidak, masuklah ke direktori /var/www dan buatlah file infophp.php dengan teks editor.
$ sudo pico /var/www/infophp.php
Masukkan code berikut ini : <?php <?php phpinfo(); phpinfo(); ?> ?>
Selanjutnya, bukalah browser anda, dan ketik url http://localhost/infophp.php atau http://192.168.7.253/infophp.php. Gunakan phpinfo ini untuk melihat module-module yang telah terinstall di mesin anda.
Instalasi PhpMyAdmin
PhpmyAdmin merupakan interface untuk memudahkan dalam manajemen database mysql. Untuk instalasi phpmyadmin, lakukan perintah berikut :
$ sudo aptget install phpmyadmin
$ sudo aptget install phpmyadmin
Kemudian akan muncul beberapa pertanyaan:
Web server to reconfigure automatically:
Web server to reconfigure automatically: < apache2< apache2
Configure database for phpmyadmin with dbconfigcommon?
Configure database for phpmyadmin with dbconfigcommon? < No< No
Setelah itu, anda dapat mengaksek phpMyAdmin pada alamat berikut http://192.168.7.253/phpmyadmin/:
DNS Server dengan Bind9
Dalam contoh ini misalkan konfigurasi yang akan kita buat adalah sebagai berikut : Nama Host : lab7.com
IP Host : 192.168.7.253
Install bind dengan perintah :
$ sudo aptget install bind9
$ sudo aptget install bind9
Edit file named.conf menggunakan editor pico atau editor lain sesuai selera dengan perintah:
$ sudo pico /etc/bind/named.conf
$ sudo pico /etc/bind/named.conf
Lalu tambahkan zonenya (sesuaikan dengan kondisi server anda). zone "
zone "lab7lab7.com.com" IN { " IN { type master;
type master;
file "/etc/bind/
file "/etc/bind/lab7.com lab7.com .db"; .db";
allowupdate { none; };
allowupdate { none; };
};
};
zone "
zone "77.168.192.168.192..inaddr.arpa" IN { inaddr.arpa" IN { type master;
type master;
file "/etc/bind/
file "/etc/bind/lab7.comlab7.comptr.db"; ptr.db"; allowupdate { none; };
allowupdate { none; };
};
};
Simpan konfigurasi diatas.
Setelah itu buatlah 2 file yang ada pada file named.conf yang anda buat tadi (lab7.com.db dan lab7.com-ptr.db). Baiklah, mari kita mulai dengan lab7.com.db :
$ sudo pico /etc/bind/lab7.com.db
dan isikan dengan : $TTL
$TTL 604800 604800
@
@ IN IN SOASOA lab7.com. lab7.com. admin.lab7.com. (admin.lab7.com. ( 1 ; 1 ; Serial Serial 604800 ; 604800 ; Refresh Refresh 86400 ; 86400 ; Retry Retry 2419200 ; 2419200 ; Expire Expire 604800 ) ; 604800 ) ; Negative Cache TTL Negative Cache TTL ; ; @ @ ININ NSNS ns1.lab7.com. ns1.lab7.com. @ @ ININ AA 192.168.7.253 192.168.7.253 localhost localhost ININ AA 127.0.0.1 127.0.0.1 www www ININ AA 192.168.7.253 192.168.7.253 ns1 ns1 ININ AA 192.168.7.253192.168.7.253 Lalu buat file konfigurasi kedua, yaitu lab7.com-ptr.db :
$ sudo pico /etc/bind/lab7.comptr.db
$ sudo pico /etc/bind/lab7.comptr.db
dan isikan dengan parameter : $TTL
$TTL 604800 604800
@
@ ININ SOASOA lab7lab7.com. .com. root.lab7.comroot.lab7.com. ( . ( 1 ; 1 ; Serial Serial 604800 ; 604800 ; Refresh Refresh 86400 ; 86400 ; Retry Retry 2419200 ; 2419200 ; Expire Expire 604800 ) ; 604800 ) ; Negative Cache TTL Negative Cache TTL ; ; IN IN NSNS ns1.lab7.com ns1.lab7.com 253
253 ININ PTRPTR lab7lab7.com..com. Simpan konfigurasi.
Edit file /etc/hosts :
$ sudo pico /etc/hosts
$ sudo pico /etc/hosts
lalu edit sesuai dengan parameter server anda : 127.0.0.1
127.0.0.1 localhost localhost 192.168.7.253
192.168.7.253 lab7.comlab7.com serverserver Simpan kembali. Kemudian edit file resolv.conf :
$ sudo pico /etc/resolv.conf
$ sudo pico /etc/resolv.conf
Input parameter seperti dibawah ini (sesuaikan dengan parameter server anda) : domain
domain lab7.com lab7.com search
search lab7.com lab7.com nameserver
nameserver 192.168.7.253192.168.7.253
Simpan kembali perubahan tersebut. Kemudian edit file named.conf.options : options { options { directory "/var/cache/bind"; directory "/var/cache/bind"; forwarders { forwarders { 202.91.9.2 202.91.9.2;; }; }; authnxdomain yes;
authnxdomain yes; # conform to RFC1035 # conform to RFC1035
listenonv6 { any; }; listenonv6 { any; };
};
};
Langkah selanjutnya adalah merestart services Bind : $ sudo
$ sudo /etc/init.d/bind9 restart/etc/init.d/bind9 restart
Untuk testing dapat menggunakan perintah nslookup : $ nslookup www.lab7.com $ nslookup www.lab7.com Output : Server: Server: 192.168.7.253 192.168.7.253 Address: Address: 192.168.7.253#53 192.168.7.253#53
Name:
Name: www.lab7.com www.lab7.com Address: Address: 192.168.7.253192.168.7.253 $ host lab7.com $ host lab7.com Output : lab7.com has address 192.168.7.253 lab7.com has address 192.168.7.253
Membuat Virtual Host (multiple domain dalam 1 server)
Apache mendukung virtual hosting dengan basis IP dan nama domain, sehingga memungkinkan 1 server memiliki banyak domain. Mari kita mulai :)
Kita pastikan port yang digunakan adalah port 80 (http). Edit file ports.conf dengan perintah berikut :
$ sudo pico
$ sudo pico /etc/apache2/ports.conf/etc/apache2/ports.conf
Kemudian ganti menjadi seperti dibawah ini (sesuaikan IP dengan milik anda) : NameVirtualHost
NameVirtualHost 192.168.7.253:80 192.168.7.253:80
Listen 80
Listen 80
Selanjutnya, menjalankan perintah berikut untuk menonaktifkan default virtual host apache.
$ a2dissite default
$ a2dissite default
Setiap konfigurasi virtual host tersimpan dalam sebuah file yang diberi nama domain dan terletak pada direktori /etc/apache2/sites-available/. Dalam contoh ini, Anda akan membuat file dengan basis nama domain lab7.net dan lab7.com.
Pertama kita buat terlebih dahulu file lab7.net (/etc/apache2/sites-available/lab7.net). Sesuaikan IP dengan yang anda miliki.
File: /etc/apache2/sites-available/lab7.net <VirtualHost 192.168.7.253:80> <VirtualHost 192.168.7.253:80> ServerAdmin admin@lab7.net ServerAdmin admin@lab7.net ServerName lab7.net ServerName lab7.net ServerAlias www.lab7.net ServerAlias www.lab7.net DocumentRoot /srv/www/lab7.net/public_html/ DocumentRoot /srv/www/lab7.net/public_html/ ErrorLog /srv/www/lab7.net/logs/error.log ErrorLog /srv/www/lab7.net/logs/error.log CustomLog /srv/www/lab7.net/logs/access.log combined CustomLog /srv/www/lab7.net/logs/access.log combined
</VirtualHost>
</VirtualHost>
Selanjutnya, membuat file konfigurasi lab7.com (/etc/apache2/sites-available/lab7.com) : File: /etc/apache2/sites-available/lab7.com <VirtualHost 192.168.7.253:80> <VirtualHost 192.168.7.253:80> ServerAdmin admin@lab7.com ServerAdmin admin@lab7.com ServerName lab7.com ServerName lab7.com ServerAlias www.lab7.com ServerAlias www.lab7.com DocumentRoot /srv/www/lab7.com/public_html/ DocumentRoot /srv/www/lab7.com/public_html/ ErrorLog /srv/www/lab7.com/logs/error.log ErrorLog /srv/www/lab7.com/logs/error.log CustomLog /srv/www/lab7.com/logs/access.log combined CustomLog /srv/www/lab7.com/logs/access.log combined </VirtualHost> </VirtualHost>
Seluruh file web akan diletakkan pada direktori /srv/www. Direktori ini dapat anda sesuaikan dengan kebutuhan, tidak harus di /srv
Buat direktori yang kita butuhkan dengan perintah berikut : $ sudo mkdir p /srv/www/lab7.net/public_html $ sudo mkdir p /srv/www/lab7.net/public_html $ sudo mkdir /srv/www/lab7.net/logs $ sudo mkdir /srv/www/lab7.net/logs $ sudo mkdir p /srv/www/lab7.com/public_html $ sudo mkdir p /srv/www/lab7.com/public_html $ sudo mkdir /srv/www/lab7.com/logs $ sudo mkdir /srv/www/lab7.com/logs
Enable the sites by issuing these commands: $ a2ensite lab7.net
$ a2ensite lab7.net
$ a2ensite lab7.com
$ a2ensite lab7.com
$ sudo /etc/init.d/apache2 restart
$ sudo /etc/init.d/apache2 restart
Ketika anda membuat atau melakukan editing file virtual host, lakukan reload konfigurasi dengan perintah berikut :
$ sudo /etc/init.d/apache2 reload
Membuat DHCP Server
Mengenal DHCP Server
DHCP (Dynamic Host Cotrol Protocol) server merupakan sistem yang digunakan untuk melayani client-client untuk mengkonfigurasi ip secara otomatis sehingga kita tidak perlu untuk mengkonfigurasi client-client dengan menseting pengaturan jaringan secara manual satu-persatu, dengan menggunakan DHCP server client cukup di seting untuk menggunakan ip otomatis maka client akan secara otomatis akan mendapatkan konfigurasi jaringan yang kita tentukan sebelumnya pada DHCP server seperti konfigurasi ip, netmask, default gateway, dan juga DNS server.
Instalasi DHCP Server
$ sudo aptget install dhcp3server
$ sudo aptget install dhcp3server
Konfigurasi DHCP Sever
File konfigurasi DHCP server terdapat di /etc/dhcp3/dhcpd.conf, secara default file ini memang telah di buat ketika kita menginstall aplikasi dhcp3-server akan tetapi untuk menyesuaikan opsi konfigurasi dengan kondisi jaringan di tempat kita maka kita harus mengeditnya dan menyesuaikan dengan konfigurasinya sesuai dengan yang kita inginkan.
Edit file konfigurasi /etc/dhcp3/dhcpd.conf $ sudo pico /etc/dhcp3/dhcpd.conf
$ sudo pico /etc/dhcp3/dhcpd.conf
Edit file konfigurasi /etc/default/dhcp3-server, untuk menyesuaikan interface yang akan digunakan.
$ sudo pico /etc/default/dhcp3server
Contoh config : defaultleasetime 360; defaultleasetime 360; maxleasetime 7200; maxleasetime 7200; option subnetmask 255.255.255.0; option subnetmask 255.255.255.0; option routers 192.168.1.254; option routers 192.168.1.254; # option domainnameservers 172.16.30.7; # option domainnameservers 172.16.30.7; option broadcastaddress 192.168.1.255; option broadcastaddress 192.168.1.255; subnet 192.168.1.0 netmask 255.255.255.0 { subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.1 192.168.1.100; range 192.168.1.1 192.168.1.100; } }
Opsi konfigurasi di atas dapat di jelaskan sebabai berikut : default-lease-time merupakan default waktu sewa yang akan diberikan oleh DHCP server kepada clientnya, opsi max-lease-time merupakan waktu sewa maksimal yang akan diberikan kepada client , option subnet-mask menentukan subnetmask, client yang menerima ip dari server DHCP akan mendapatkan netmask sesuai yang diberikan pada opsi ini, option routers opsi ini akan menentukan default gateway dari client yang mendapatkan ip dari DHCP server, option domain-name-servers opsi ini akan menentukan DNS server yang akan digunakan oleh client, option broadcast-address opsi ini menentukan alamat broadcast dari client, opsi subnet dan netmask merupakan opsi pengaturan subnet dan netmask, sedangkan opsi range merupakan opsi daftar ip yang akan disewakan ke client, juka dalam contoh kita mengisikanya dengan 192.168.1.1 192.168.1.100 berarti range ip dari 192.168.1.1 sampai dengan 192.168.1.100 akan diberikan kepada client.
Menjalankan Daemon DHCP Setelah kita yakin dengan konfigurasi DHCP server kita maka tugas kita adalah menjalankan daemon dhcpd agar DHCP server dapat melayani perminta permintaan konfigurasi jaringan dari client, untuk menjalankan daemon dhcpd dapat kita lakukan dengan perintah service
$ sudo /etc/init.d/dhcp3server start
$ sudo /etc/init.d/dhcp3server start
DHCP Untuk Banyak Jaringan DHCP server dapat di set up untuk bisa melayani permintaan konfigurasi jaringan dari beberapa network dengan range ip yang berbeda, sebagai contoh ketika kita memiliki 3 interface card (NIC) dengan 1 interface menghadap ke jaringan internet dan 2 interface terhubung dengan jaringan ln dengan ip yang berbeda, berikut adalah contoh konfigurasi dhcpd untuk dua jaringan dengan ip 192.168.1.0/24 dan 192.168.2.0/24 subnet 192.168.1.0 netmask 255.255.255.0 { subnet 192.168.1.0 netmask 255.255.255.0 { defaultleasetime 360; defaultleasetime 360; maxleasetime 720; maxleasetime 720; option broadcastaddress 192.168.1.255; option broadcastaddress 192.168.1.255; option routers 192.168.1.254; option routers 192.168.1.254; option domainnameservers 192.168.1.254; option domainnameservers 192.168.1.254; range 192.168.1.1 192.168.1.100; range 192.168.1.1 192.168.1.100; } } subnet 192.168.2.0 netmask 255.255.255.0 { subnet 192.168.2.0 netmask 255.255.255.0 { defaultleasetime 720; defaultleasetime 720; maxleasetime 1440; maxleasetime 1440; option broadcastaddress 192.168.2.255; option broadcastaddress 192.168.2.255; option routers 192.168.2.254; option routers 192.168.2.254; option domainnameservers 192.168.2.254; option domainnameservers 192.168.2.254; range 192.168.2.1 192.168.2.200; range 192.168.2.1 192.168.2.200; } }
Dengan konfigurasi di atas maka jaringan LAN yang terhubung dengan ethernet pada server DHCP yang mempunyai ip 192.168.1.254 akan mendapatkan ip 192.168.1.1
192.168.1.254, dan mendapatkan default waktu sewa selama 1 jam, dan maksimal waktu sewa selama 2 jam, begitu juga pada jaringan LAN yang terhubung dengan ethernet dari DHCP server yang mempunyai ip 192.68.2.254 maka akan mendapatkan range ip dari 192.168.2.1 sampai dengan 192.168.2.200 dengan default gateway 192.168.2.254 dan DNS server 192.168.2.254 dan mendapatkan waktu sewa selama 720 detik (2 jam) dan maksimal sewa selama 14400 detik (4 jam). Konfigurasi DHCP untuk IP Statis
Pada contoh-contoh konfigurasi di atas semua range ip address yang di deklarasikan dapat digunakan oleh semua client, artinya client dapat saja mendapatkan ip yang berbeda setiap kali client meinta konfigurasi dari server, DHCP server dapat di set agar memberikan ip statis ke pada suatu client, metode yang digunakan adalah dengan menandai alamat MAC (Medium Access Control) atau alamat hardware, sehingga server DHCP akan memberikan ip statis kepada host yang almat MAC nya terdaftar dalam konfigurasi dhcpd, berikut adalah contoh pemberian alamat static pada DHCP server. defaultleasetime 360; defaultleasetime 360; maxleasetime 7200; maxleasetime 7200; option subnetmask 255.255.255.0; option subnetmask 255.255.255.0; option routers 192.168.1.254; option routers 192.168.1.254; option domainnameservers 172.16.30.7; option domainnameservers 172.16.30.7; option broadcastaddress 192.168.1.255; option broadcastaddress 192.168.1.255; subnet 192.168.1.0 netmask 255.255.255.0 { subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.1 192.168.1.100; range 192.168.1.1 192.168.1.100; } } host statichost { host statichost { option hostname “statichost”; option hostname “statichost”; hardware ethernet 00:90:F2:65:DC:D2; hardware ethernet 00:90:F2:65:DC:D2;
fixedaddress 192.168.1.50;
fixedaddress 192.168.1.50;
}
}
Dengan konfigurasi diatas maka client yang memiliki alamat MAC 00:90:F2:65:DC:D2 akan selalu mendapatkan ip 192.168.1.50, dan alamat tersebut tidak akan disewakan kepada client lain.
Proxy Server
Proxy umumnya digunakan untuk memberikan layanan caching ke jaringan lokal, dengan mengunakan squid cache client-client proxy tidak perlu mengakses langsung halaman web yang ditujunya, melainkan cukup dengan mengambilnya di cache server (proxy), cara kerjanya adalah ketika ada client yang mengkses suatu alamat web, maka squid akan menyimpan file-file halaman web tersenut ke dalam cache lokal proxy tersebut untuk kemudian diberikan lagi kepada client yang mengakses halaman web yang sama, ketika ada client yang mengakses halaman web yang sama proxy server hanya melakukan pengecekan ke server yang dituju, apakah obyek yang disimpan di cache local proxy masih sama dengan yang ada di server web tujuan, apabila ternyata telah ada perubahan barulah proxy server memintakanya untuk client yang mengakses server web tujuan, sementara itu file yang diberikan kepada client tersebut juga akan disimpan di direktori cache pada proxy sever, dan begitu seterusnya sehingga secara tidak langsung metode ini akan menghemat bandwidth dan secara tidak langsung akan mempercepat koneksi internet, selain fungsi diatas proxy server juga dapat digunakan untuk membuat kebijakan keamanan untuk jaringan lokal. Aplikasi proxy server yang paling populer digunakan adalah squid, dikarenakan squid memiliki tingkat performa yang baik dan keamanan yang relatif lebih baik daripada aplikasi-aplikasi proxy server lainya.
Instalasi Paket Squid dari Repository
Untuk memudahkan kita dalam menginstall squid proxy server maka kita akan menggunakan instalasi squid dari repository dengan menggunakan apt-get, adapun cara instalasi squid :
$ sudo aptget install squid
$ sudo aptget install squid
Konfigurasi Squid
Setelah proses instalasi squid proxy server selesai maka yang harus kita lakukan selanjutnya adalah menyesuaikan konfigurasi default squid agar sesuai dengan kebutuhan kita, adapun file konfigurasi squid terdapat di /etc/squid/squid.conf. Berikut adalah beberapa opsi-opsi konfigurasi dasar yang harus kita sesuaikan
Access Control list (ACL) Access Control list (ACL) acl local_net src 192.168.1.0/24 acl local_net src 192.168.1.0/24 http_access allow local_net http_access allow local_net
Opsi diatas dapat dijelaskan sebagai berikut : Pernyataan acl *local_net src* menunjukan jaringan local kita yang akan kita perbolehkan untuk mengakses mesin proxy server, sebagai contoh disini kita hanya akan mengizinkan jaringan 192.168.1.0/24 yang diperbolehkan mengakses proxy server Pernyataan http_access allow local_net harus diletakan sebelum baris http_access deny all. berikut contoh penggunaan acl dalam squid
acl local_net src 192.168.1.0/24 acl local_net src 192.168.1.0/24 http_access allow localhost http_access allow localhost http_access allow local_net http_access allow local_net http_access deny all http_access deny all Logging Logging
Secara default squid akan membuat beberapa file log (catatan) yang berhubungan dengan aktifitas squid itu sendiri, dan berikut adalah konfigurasi default squid yang digunakan access_log /var/log/squid/access.log squid access_log /var/log/squid/access.log squid cache_log /var/log/squid/cache.log cache_log /var/log/squid/cache.log cache_store_log none cache_store_log none
Dengan opsi diatas squid akan menyimpan pesan-pesan error dalam file /var/log/squid/cache.log, kemudian informasi akses dari client akan disimpan dalam file access_log /var/log/squid/access.log dan pada bagian opsi cache store log karena tidak terlalu penting maka kita dapat menonaktifkanya dengan mengisikan opsi none sehingga menjadi cache_store_log none
Cache Managemen
Pada bagian ini merupakan opsi konfigurasi yang digunakan untuk melakukan manajemen cache, adapun opsi penting yang harus kita perhatikan adalah sebagai berikut :
cache_dir ufs /var/spool/squid 100 16 256
cache_dir ufs /var/spool/squid 100 16 256
Keterangan opsi diatas adalah menentukan letak (path) dari direktori cache yang akan kita gunakan, sedangkan ufs merupakan metode cache storing yang nantinya akan digunakan, ada beberapa metode yang dapat digunakan dalam opsi ini, yaitu ufs,aufs dan diskd, opsi selanjutnya menentukan besaran ukuran directori yang nantinya disitu akan dialokasikan untuk menaruh cache squid, ukuran yang digunakan disini adalah MegaByte(MB), sehingga apabila kita mengisinya dengan 100, maka berarti kita akan mengalokasikan direktori untuk meletakan cache squid sebesar 100MB, opsi
nantinya akan memiliki jumlah direktori sebanyak 16 dan masing-masing direktori akan memiliki sub direktori sebanyak 254.
Content Filtering Menggunakan Squid
Selain difungsikan sebagai cache server, squid juga dapat sekaligus berfungsi sebagai content filtering untuk mengeblok alamat-alamat situs yang tidak boleh di akses oleh client. Opsi yang digunakan pada dasarnya adalah hanya dengan mamanfaatkan fitur ACL pada squid, contoh penggunaannya adalah sebagai berikut
acl block dstdomain "/etc/squid/block"
acl block dstdomain "/etc/squid/block"
http_access deny block
http_access deny block
Sedangkan isi dari file /etc/squid/block adalah alamat-alamat situs yang akan kita larang untuk di akses oleh clien proxy, contoh isi file block adalah sebagai berikut
rapidshare.com rapidshare.com facebook.com facebook.com friendster.com friendster.com indowebster.com indowebster.com
Setelah ini maka alamat-alamat yang terdapat di dalam file /etc/squid/block tidak akan dapat diakses lagi oleh client dengan pesan error access denied, selain alamat-alamat yang dapat kita block sebenarnya kita juga dapat memblok eksternsi-ekstensi file yang akan kita larang untuk di akses oleh client dengan jam dan pada hari-hari tertentu, berikut adalah contoh untuk memblock beberapa ekstensi file yang akan kita larang untuk di akses oleh client pada jam dan hari tertentu
acl blok url_regex i \.mpeg$ \.avi$ \.mpg$
acl blok url_regex i \.mpeg$ \.avi$ \.mpg$
acl jam_kerja time MTWHF 08:0016:00
http_access deny blok jam_kerja Keterangan opsi diatas adalah sebagai berikut : kita akan menolak client mengakses file-file dengan ekstensi mpeg, avi dan mpg pada hari senin sampai jumat (MTWHF) mulai jam 08-14.
Konfigurasi Tranparent Proxy
Transparent proxy merupakan metode dimana kita menempatkan proxy server diantara jaringan LAN dan jaringan internet kemudian semua koneksi web dari jaringan LAN yang menuju inernet akan secara otomatis di belokan untuk dipaksa melalui proxy server kita, metode ini akan mempermudah kita dalam melakukan pengaturanya, karene dengan menggunakn metode ini kita tidak harus menseting cient satu-persatu untuk menggunkan proxy server, dan metode ini sangat cocok untuk penerapkan kebijakan keamanan krena client mau atau tidak mau harus melewti proxy untuk mengkses internet, dan berikut adalah seting squid dan juga iptables untuk konfigurasi transparent proxy. Agar squid bisa menjalankan fungsi transparent proxy maka kita peru menmbahkan beris berikut ada file konfigurasi squid
http_port 3128 transparent
http_port 3128 transparent
kemudian kita harus menambahkan rules iptables berikut :
/sbin/iptables t nat A PREROUTING i eth0 p tcp dport 80 /sbin/iptables t nat A PREROUTING i eth0 p tcp dport 80 j REDIRECT toport 3128 j REDIRECT toport 3128 /sbin/iptables t nat A PREROUTING i eth0 p udp dport 80 /sbin/iptables t nat A PREROUTING i eth0 p udp dport 80 j REDIRECT toport 3128 j REDIRECT toport 3128
dengan menggunakan rules diatas maka semua koneksi (tcp/udp) yang menuju port 80 akan secara otomatis di belokan ke port proxy server (3128).
Menjalankan Squid
Ketika kita pertama kali akan menjalankan squid maka kita harus menjalankan perintah berikut agar squid membuat file cache terlebih dahulu.
# squid z
# squid z
Kemudian untuk menjalankan squid kita dapat menggunakan perintah berikut : # /etc/init.d/squid start