Seperti tulisan yang duludul Squid dan Transparant Proxy kali ini saya butuh untuk mengupdate squid menjadi squid3. Nah, sesuai dengan kesukaan saya yang dulu, selalu saya menjadikan squid saya ini transparent(bukan transparant rupanya
) karena memang saya ini malas. Maksudnya saya malas untuk memasukkan alamat proxy ke setiap browser yang ada di kompi client.
Kali ini saya akan menuliskan secara lengkap untuk menjadikan sebuah komputer yang diinstall ubuntu linux untuk dijadikan sebuah gateway lengkap dengan nameserver(dns server), NAT, dan proxy dengan squid yang ditransparent. Tetapi tidak termasuk firewall dan yang lainnya.
Kita mulai dengan menginstall ubuntu. Jangan sampai terlupakan sewaktu diminta untuk mengisi alamat ip pada eth0. Misal 192.168.0.1
Kita siapkan koneksi 1Mbps
biar proses downloadnya kuwenceng. Bisa gunakan Speedy untuk daerah medan. Supaya nggak repot, install softwarenya dengan Synaptic Package Manager. Tahukan dimana Synapticnya berada? (menu System, Adminitrasi, nah ketemu tuh). Tambahkan repositorinya melalui menu Settings, Repositories, Download from pilih Main Server( soalnya karena sudah terlanjur installnya dengan bahasa Indonesia, kebetulan saya install yang 64bit dan di server Indonesia nggak lengkap, tapi untuk i386 mungkin lengkap).
Ok, paket yang dipilih adalah, (cari memalui Search)
- pdnsd (Proxy DNS Server) untuk nameservernya kalau suka yang laen ya terserah.
jika diminta pilihan pdns diinstall dengan pilihan resolvconf
- resolvconf (untuk keperluan pdnsd)
- squid3 dan squid3-common (ini saja sudah cukup, tapi kalau suka yang lebih, silahkan dicoba sendiri)
sudah dapat dan diceklist semua yang dibutuhkan, klik Apply.
Jreng!!!… loh blom konek ya? hmmm
ini sedikit cara untuk konek ke speedy di ubuntu tanpa bridge-bridgean.
langsung saja sudo pppoeconf dari terminal dan lanjutin tuh.
jika sudah selesai install paketnya, tutup saja synapticnya. kita masuk ke terminal. Tahu dimana terminal kan? bukan di Amplas atau di Pinang Baris. tapi di menu Application, Aksesori dan Terminal) nggak perlu cari tiket. nggak ada loketnya disitu.
:~$ sudo pico /etc/squid3/squid.conf
setiap diminta memasukkan password ketika perintah sudo, masukkan password login kita. dan :~$ ini tidak ikut diketik tapi maksudnya adalah ketikkan perintah tersebut di belakangnya.
cari dengan ^w (control w) 3128 sampai ketemu seperti dibawah ini dan langsung ganti 3128 dengan 8008 untuk port proxynya.
# Squid normally listens to port 3128
http_port 8008 transparent
Jangan lupa setelah 3128 diganti dengan 8008 tambahkan transparent di belakangnya
Opsi transparent ini gantinya 4 baris di squid lama
jadi 4 baris seperti dibawah ini tidak dibutuhkan lagi
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
kemudian ^w lagi dan cari acl localnet src 192.168.0.0/16
buang tanda # di depannya
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
#acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
#acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
http_access allow localnet
http_access allow localhost
# And finally deny all other access to this proxy
http_access deny all
selesai pengeditan squid.conf, kalau masih suka lagi lihat-lihat isi confignya squid silahkan, tapi kalau yakin sudah simpan dengan ^x dan pilih y untuk yes
karena begitu diinstall squid langsung jalan boleh dicoba dengan merestart squid dengan perintah
:~$ sudo /etc/init.d/squid3 restart
nah squid3 sudah selesai, kita lanjutkan sedikit twiking pada pdnsd (proxy DNS)
:~$ sudo pico /usr/share/pdnsd/pdnsd-resolvconf.conf
global {
perm_cache=65536;
cache_dir="/var/cache/pdnsd";
run_as="pdnsd";
server_ip = 192.168.0.1; // Use eth0 here if you want to allow other
// machines on your network to query pdnsd.
tahukan mana yang berubah, 192.168.0.1 ini mengijikan mesin kita digunakan sebagai dns server.
simpan lagi seperti diatas ( ^x y)
file config pdnsd satu lagi ada di /etc/pdnsd.conf
untuk merestart pdnsd ~$ sudo /etc/init.d/pdnsd restart
selanjutnya adalah memainkan iptables untuk NAT dan Transparent proxy
kita ganti isi /proc/sys/net/ipv4/ip_forward yang tadinya 0 menjadi 1
caranya
:~$ sudo echo 1 > /proc/sys/net/ipv4/ip_forward
atau boleh juga perintah ini dimasukkan dalam file autostartup /etc/rc.local
:~$ sudo pico /etc/rc.local
isi seperti ini
# By default this script does nothing.
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -A FORWARD -s 192.168.0.0/24 -d 0/0 -j ACCEPT
# transparant proxy
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 8008
# anti proxy
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 8080 -j REDIRECT –to-port 8008
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 3128 -j REDIRECT –to-port 8008
exit 0
simpan dan kemudian restart komputer anda. kalau malas merestart silahkan gunakan sudo dan jalankan perintah seperti di dalam /etc/rc.local tadi.
misalnya
:~$ sudo iptables -t nat -A POSTROUTING -j MASQUERADE
:~$ sudo iptables -A FORWARD -s 192.168.0.0/24 -d 0/0 -j ACCEPT
dan
:~$ sudo iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 8008
atau bisa juga dengan sekali perintah saja apabila /etc/rc.local tadi sudah diisi.:~$ sudo /etc/init.d/rc.local restart
selesai
-i eth0 disini dikarenakan yang konek ke internet adalah dari eth0 dan juga ke eth0
ethernetnya cuma sebiji. jika suka, boleh juga -i eth0 nggak usah diikutkan, seperti yang saya dapat dari blog http://davidnakoko.wordpress.com
Mudah-mudahan nggak ada yang terlewatkan, dan semoga berjalan dengan baik.
Tulisan diatas terutamanya adalah catatan untuk saya sendiri, jadi mungkin ada yang berbeda dengan selera orang lain, silahkan gunakan selera sendiri yang penting sukses. Ini saya tulis semudah mungkin untuk dimengerti oleh orang yang barusan migrasi dari windows. atau baru mulai bermain dengan linux.
Semoga bermanfaat.






