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”. 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 Speedy
IP Address : 192.168.0.1
Netmask : 255.255.255.0
DNS :
202.134.0.155, 203.130.196.5, 222.124.204.34
Proxy Server
eth0 (connected to Modem Speedy)
IP Address : 192.168.0.2
Netmask : 255.255.255.0
Gateway : 192.168.0.1
eth1 (connected to LAN)
IP Address : 192.168.1.1
Netmask : 255.255.255.0
LAN
IP Address : 192.168.1.2 – 192.168.1.254
Netmask : 255.255.255.0
Default Gateway : 192.168.1.1
DNS 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
eth1
iface lo
inet loopback
# The
primary network interface
iface eth0
inet static
address
192.168.0.2
netmask
255.255.255.0
broadcast
192.168.0.255
network
192.168.0.0
gateway
192.168.0.1
iface eth1
inet static
address
192.168.1.1
netmask
255.255.255.0
broadcast
192.168.1.255
network
192.168.1.0
Restart
network untuk mendapatkan efek.
/etc/init.d/networking
restart
atau
/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.155
nameserver
203.130.196.5
nameserver 222.124.204.34
Edit file /etc/sysctl.conf dengan menghilangkan tanda
# pada baris #net.ipv4.ip_forward=1.
sebelum
#net.ipv4.ip_forward=1
sesudah
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.2
netmask
255.255.255.0
broadcast
192.168.0.255
network
192.168.0.0
gateway
192.168.0.1
iface eth1
inet static
address
192.168.1.1
netmask
255.255.255.0
broadcast
192.168.1.255
network
192.168.1.0
post-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.
Langkah selanjutnya adalah membuat rules tambahan
untuk mengontrol penggunaan internet. Baik itu blocking situs, bandwidth
management, maupun rules lain. Seperti janji saya, artikel tentang ini akan
saya terbitkan segera.
Tidak ada komentar:
Posting Komentar