Untuk mengatur penggunaan internet di
kantor atau sekolah Proxy Server merupakan suatu hal yang wajib agar
user tidak menyalahgunakan fasilitas koneksi internet seperti membuka
situs – situs yang tidak baik misalnya situs – situs yang mengandung
pornografi, perjudian, kekerasan, dsb. Atau juga mengontrol penggunaan
Berikut ini akan coba saya tulis cara
instalasi Proxy Server menggunakan Squid pada Debian dan konfigurasi
minimum agar Squid bisa berjalan. Sedangkan untuk konfigurasi tingkat
lanjut seperti penambahan rules, blocking situs, bandwidth management
akan saya tulis pada artikel yang berbeda Insya Allah.
Persiapan
PC yang sudah terinstall Linux. Dalam
kasus ini saya menggunakan Debian Lenny. Secara umum langkahnya sama.
Perbedaannya hanya pada saat proses installasi paket Squid. Jika pada
Debian dan turunannya (Ubuntu dll) menggunakan “apt-get”, pada RedHat
dan turunannya (Centos dll) menggunakan “yum”. PC ini harus memiliki
paling tidak 2 interface. 1 interface terhubung ke LAN dan 1 lagi ke WAN
yang dalam contoh kali ini terhubng ke modem speedy.
Network Topology
Modem Speedy —> Proxy Server —> LAN
Modem SpeedyIP Address : 192.168.0.1Netmask : 255.255.255.0DNS : 202.134.0.155, 203.130.196.5, 222.124.204.34
Proxy Servereth0 (connected to Modem Speedy)IP Address : 192.168.0.2Netmask : 255.255.255.0Gateway : 192.168.0.1eth1 (connected to LAN)IP Address : 192.168.1.1Netmask : 255.255.255.0
LANIP Address : 192.168.1.2 – 192.168.1.254Netmask : 255.255.255.0Default Gateway : 192.168.1.1DNS Server : 192.168.1.1
Setting Network dan IPtables
Lakukan setting network di Proxy Server
dengan mengedit file /etc/network/interfaces (untuk distro selain Debian
dan Ubuntu silakan menyesuaikan) sebagai berikut:
auto lo eth0 eth1Restart network untuk mendapatkan efek.
iface lo inet loopback
# The primary network interface
iface eth0 inet static
address 192.168.0.2netmask 255.255.255.0broadcast 192.168.0.255network 192.168.0.0gateway 192.168.0.1iface eth1 inet static
address 192.168.1.1netmask 255.255.255.0broadcast 192.168.1.255network 192.168.1.0
/etc/init.d/networking restartatau
/etc/init.d/networking force-reload
Cek hasil konfigurasi network dengan perintah “ifconfig” (tanpa tanda petik). Pastikan hasil konfigurasi telah sesuai.
Edit file /etc/resolv.conf sebagai berikut untuk DNS Server:nameserver 202.134.0.155nameserver 203.130.196.5nameserver 222.124.204.34
Edit file /etc/sysctl.conf dengan menghilangkan tanda # pada baris #net.ipv4.ip_forward=1.
sebelum#net.ipv4.ip_forward=1sesudah
net.ipv4.ip_forward=1
Simpan konfigurasi kemudian aktifkan dengan perintah berikut:
sysctl -p
Lakukan konfigurasi IPtables sebagai berikut:
iptables -t nat -A POSTROUTING -o eth0 -j SNAT –to-source 192.168.0.2
iptables -t nat -A PREROUTING -p tcp -i eth1 –dport 80 REDIRECT –to-ports 3128
Baris pertama melakukan source NAT semua
paket yang keluar dari eth0 yang terhubung ke modem speedy sehingga
semua client di LAN IP Addressnya akan terbaca 192.168.0.2 (IP Address
Proxy Server yang terhubung ke modem speedy) oleh modem speedy. Hal ini
dilakukan agar semua client di LAN bisa akses internet.
Sedangkan baris ke 2 berfungsi
mengalihkan semua paket yang masuk ke eth1 dari LAN yang menuju port 80
(port web server) ke port Squid yaitu port 3128. Tanpa baris ini maka
fungsi Squid sebagai proxy server tidak akan bekerja.
Konfigurasi IPtables di atas bersifat
sementara. Jika komputer direstart maka konfigurasi IPtables akan
hilang. Untuk mengatasi hal ini lakukan langkah – langkah berikut:
Simpan konfigurasi IPtables ke suatu file (dalm contoh ini ke file /etc/iptables.up.rules) dengan perintah berikut:
iptables-save > /etc/iptables.up.rules
Edit file /etc/network/interfaces.
Tambahkan baris “post-up iptables-restore < /etc/iptables.up.rules”
agar konfigurasi IPtables di load setelah interface up. Setelah diedit
hasilnya adalah sebagai berikut:
auto lo eth0 eth1
iface lo inet loopback
# The primary network interface
iface eth0 inet static
address 192.168.0.2netmask 255.255.255.0broadcast 192.168.0.255network 192.168.0.0gateway 192.168.0.1iface eth1 inet static
address 192.168.1.1netmask 255.255.255.0broadcast 192.168.1.255network 192.168.1.0post-up iptables-restore < /etc/iptables.up.rules
Installasi Squid
Setelah network dan Iptables selesai dikonfigure maka tahap selanjutnya adalah installasi Squid. Gunakan perintah berikut:
apt-get install squid
Setelah Squid terinstall lakukan konfigurasi minimum sebagai berikut:
http_port 3128 transparent
cache_dir ufs 20480 16 256
acl localnet 192.168.1.0/24
http_access allow localnet
http_access deny all
Kemudian restart squid dengan perintah berikut:
/etc/init.d/squid restart
Pastikan squid berjalan dengan menggunakan perintah berikut:
ps ax | grep squid
Jika squid telah berjalan maka seharusnya
output dari perintah di atas tidak kosong. Atau bisa gunakan utility
“nmap” yang terlebih dahulu harus diinstall dengan perintah “apt-get
install nmap” (tanpa tanda petik). Ketikkan perintah berikut maka
seharusnya ada baris “3128/tcp open squid-http” yang menandakan Squid
telah berjalan:
nmap localhost
Install dnsmasq
Tahap selanjutnya adalah menginstall
dnsmasq yang berfungsi sebagai caching DNS server (memetakan nama doamin
ke IP Address) sehingga di client tidak perlu menggunakan DNS server
public (DNS Server speedy.) Hal ini akan mengurangi traffic ke DNS
server public sehingga sedikit banyak akan menekan penggunaan bandwidth.
Install dnsmasq dengan perintah berikut:
apt-get install dnsmasq
Setalah terinstall cek apakah dnsmasq telah berjalan dengan perintah berikut:
ps ax | grep dnsmasq
Atau bisa juga dengan perintah “nmap
localhost” (tanpa tanda petik). Jika dnsmasq telah berjalan maka output
perintah tadi akan ada baris “53/tcp open domain”.
Semua konfigurasi telah selesai kita
lakukan. Langkah selanjutnya adalah melakukan test dari PC client untuk
akses ke internet. Jika halaman web terbuka maka Proxy Server telah
berhasil kita buat. Konfigurasi IP Address client bisa dilihat di bagian
Network Topology artikel ini.

No comments:
Post a Comment