membangan jaringan network di linux.pdf
TRANSCRIPT
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. [email protected]
Dokumen Tutorial Versi. 0.5-Rev1
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
Table of ContentsMembangun Network Services di Linux...........................................................................1
SSH Server ...................................................................................................................2Mengenal SSH Server .............................................................................................2Instalasi OpenSSH ..................................................................................................2
Web Server dengan Linux, Apache, MySQL, PHP......................................................3Instalasi MySQL......................................................................................................3Instalasi Apache ......................................................................................................3Instalasi PHP5 dan module apache mysql ..............................................................3Instalasi PhpMyAdmin.............................................................................................4
DNS Server dengan Bind9............................................................................................5Membuat Virtual Host (multiple domain dalam 1 server)............................................9Membuat DHCP Server..............................................................................................12
Mengenal DHCP Server ........................................................................................12Instalasi DHCP Server............................................................................................12Konfigurasi DHCP Sever ......................................................................................12
Proxy Server ...............................................................................................................16Instalasi Paket Squid dari Repository ...................................................................17Konfigurasi Squid .................................................................................................17Cache Managemen ................................................................................................18Content Filtering Menggunakan Squid .................................................................19Konfigurasi Tranparent Proxy ...............................................................................20Menjalankan Squid ................................................................................................21
Sumber Referensi........................................................................................................22
Membuat Network Services di Linux - 1
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
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 2999Port 2999
# Authentication: # Authentication:
LoginGraceTime 30 LoginGraceTime 30
# PermitRootLogin yes# PermitRootLogin yes
StrictModes yesStrictModes yes
Membuat Network Services di Linux - 2
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
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 php5suhosinphppear 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$ sudo pico /var/www/infophp.php
Membuat Network Services di Linux - 3
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
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/:
Membuat Network Services di Linux - 4
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
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$ sudo pico /etc/bind/lab7.com.db
Membuat Network Services di Linux - 5
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
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
localhostlocalhost ININ AA 127.0.0.1 127.0.0.1
wwwwww 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
; ;
ININ NSNS ns1.lab7.com ns1.lab7.com
253 253 ININ PTRPTR lab7lab7.com..com.
Simpan konfigurasi.
Membuat Network Services di Linux - 6
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
Edit file /etc/hosts :
$ sudo pico /etc/hosts$ sudo pico /etc/hosts
lalu edit sesuai dengan parameter server anda :
127.0.0.1127.0.0.1 localhost localhost
192.168.7.253192.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.2202.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
Membuat Network Services di Linux - 7
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
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.253lab7.com has address 192.168.7.253
Membuat Network Services di Linux - 8
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
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) :
NameVirtualHostNameVirtualHost 192.168.7.253:80 192.168.7.253:80
Listen 80Listen 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 [email protected] ServerAdmin [email protected]
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
Membuat Network Services di Linux - 9
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
</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 [email protected] ServerAdmin [email protected]
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
Terakhir, restart layanan Apache untuk mengetahui hasil perubahan yang kita
lakukan :
Membuat Network Services di Linux - 10
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
$ 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$ sudo /etc/init.d/apache2 reload
Membuat Network Services di Linux - 11
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
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$ sudo pico /etc/default/dhcp3server
Membuat Network Services di Linux - 12
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
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
Membuat Network Services di Linux - 13
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
$ 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
sampai dengan 192.168.1.100 dengan default gateway 192.168.1.254 dan DNS server
Membuat Network Services di Linux - 14
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
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;
Membuat Network Services di Linux - 15
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
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.
Membuat Network Services di Linux - 16
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
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
Membuat Network Services di Linux - 17
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
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
selanjutnya adalah jumlah directori tree yang akan kita buat dalam directory cache, pada
contoh diatas kita mengisinya dengan 16 dan 254, maka artinya di dalam direktori cache
Membuat Network Services di Linux - 18
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
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 acl jam_kerja time MTWHF 08:0016:00
Membuat Network Services di Linux - 19
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
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).
Membuat Network Services di Linux - 20
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
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 # /etc/init.d/squid start
Membuat Network Services di Linux - 21
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
Sumber Referensi
• http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-
on-ubuntu-10.04-lamp
• http://www.aqsha-a.co.cc/instalasi-dan-konfigurasi-dns-server-dengan-bind9-
pada-ubuntu-server-9-10/
• http://library.linode.com/web-servers/apache/installation/ubuntu-10.04-lucid
• http://ugos.ugm.ac.id/wiki
• http://www.jonathanmoeller.com/screed/?p=1677
• http://seeksadmin.com/blog/2007/basic-ssh-security/
• http://www.ubuntugeek.com/how-to-install-and-configure-dhcp-server-in-
ubuntu-server.html
• Apache: http://httpd.apache.org/
• PHP: http://www.php.net/
• MySQL: http://www.mysql.com/
• Ubuntu: http://www.ubuntu.com/
• phpMyAdmin: http://www.phpmyadmin.net/
Membuat Network Services di Linux - 22