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 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.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=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.
Jika menggunakan lebih dari 1 koneksi internet saya sarankan untuk membaca artikel saya tentang loadbalancing.
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
aturan
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
thanks buat koreksinya. maksudnya juga gitu. ga tau kenapa saat di submit karakternya jadi berubah. yang seharusnya – – jadi -.
ok makasih
ud jalan nih
thanks banget
Thanks untuk tutorialnya, proxy serverku sekarang bisa berjalan dengan baik….
tapi sy tidk bisa menggunakan alamat proxy saya di jaringan lain, bagaimana solusinya…
di jaringan yang lain bagaimana maksudnya? tinggal atur di iptablesnya aja.
mantap gan, posting yang banyak ya….nyang beginian , maklum masih newbie
ok gan. kalo ada waktu tapi. maklum. sibok…
gan mo nanya nich, kalo pake virtual box buatnya bisa gak proxy supaya bisa ngeblog web nya tapi gak ada koneksi internet…
kalo ga ada koneksi internet apanya yang mau di block gan?
cara dapatin DNS speedy nya gmn? kan cm ada 2 DNS alt dan pref?
ya itu gan yang dimasukin. di atas ane kasih 3. tapi sebenernya pake 1 DNS server juga gpp. asal ga sering down aja DNS servernya.
terima kasih mas tutorialnya .,
akan saya coba nanti ..
saya ketik debian:~#/etc/network/interfaces koeluar tulisan
-bash: /etc/network/interfaces:permission denied
kenapa yaa???
maklum nie br belajar debian buat tugas akhir tolong pencerahannya gan…
itu maksudnya mau ngapain gan? mau ngedit interface? pake command sbb:
vi /ect/network/interfaces
bagaiman cara install ssh di debian???
atp-get install openssh-server
hmmm ..gan
klo iptables yang
iptables -t nat -A POSTROUTING -o eth0 -j SNAT –to-source 192.168.0.2
sama gak sama fungsi
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
trs klo ngsave gitu nnti bisa d remove tuh perintah iptablesnya ??
klo ane di taro command nya di /etc/rc.local
walaupun tiap matiin ilang tp tiap reboot ulang ke sistem nnti ke load sendiri ibarat startup 😀
thanks gan … just sharing 😀
sama fungsinya gan script iptables yang agan bikin. bisa jg command iptables tadi ditaruh di file /etc/rc.local. ane sendiri lebih suka bikin file terpisah misal ada konfigurasi iptables yang lain. jadi enak manage-nya.
Misi gan, nanya nih ane, kebetulan lagi butuh buat transparent proxy.
kalo udah dikonfigurasi, di forward pake iptables juga udah bisa, tapi proxynya belum transparan (masih harus atur lagi) kira-kira dimananya yang salah ya?
makasih, jawabannya ditunggu!
liat konfigurasi dibagian port gan. harusnya seperti ini:
http_port 3128 transparent
trus iptablesnya diatur redirect semua request ke port 80 (http) ke port 3128 (port squid, sesuaikan dengan setingan agan)
iptables -t nat -A PREROUTING -i eth1 (interface yang konek ke modem) -p tcp –dport 80 -j REDIRECT –to-port 3128 (port squid)
Tanya gan
kalau Membersihkan cache proxy caranya gmn ya ??
thanks ..
tinggal hapus aja directory cache-nya gan. trus create lagi. misal directory cache-nya di /var/spool/squid/.
jangan lupa sebelumnya stop dulu squid-nya
atau
hapus directory cache-nya
trus create ulang directori-nya
kemudian start squidnya
atau
Pingback: Membuat Proxy Server Dengan Lusca Head | Udibagas's Blog
Pingback: Blocking Situs Dengan SquidGuard pada Ubuntu | Udibagas's Blog
Bedanya dengan DHCP Server Apa ya Bozzz ?????
pak,, saya uda buat, dan uda jalan dengan baik..
problemnya adalah,, proxy berjalan dalam satu PC/IP saja,,,
saya buka web site ‘A’ dikomputer 192.168.1.1 kan otomatis akan tersimpan konten2 nya di directory cachenya. lha ketika saya mengakses website ‘A’ tadi di 192.168.1.2 “SEHARUSNYA KAN akan lebih cepat,, (TCP_HIT)” tapi ini tidak,, alias 192.168.1.2 menyimpan kembali konten2 website ‘A’, sama yang di lakukan 192.168.1.1 . . . .
ini kan blm menghemat bandwith pak…
gmn solusinya
kapan yang lainnya dikasi gann…
lgi butuh artikel bandwidth management gan..
tpi buat yg ini makasi gann>
sangat membantu..
klo gak ada internet yg di blog *BATOKMU* gan
bagaimana klo topologinya seperti ini Modem Fastnet -> Router Linksys Linksys WRT54G/GS/GL -> HUB -> Proxy Server Ubuntu dengan network card hanya 1 di server 😦
gan, mau instal squid nya ini pake repo yg di dvd setup debian atau download repository online ? kalo repository online apa alamatnya gan ? dan gmana nambahin nya ke daftar repository debian kta ?
pake yang di repo gan..