Untuk kali ini DSI akan melanjutkan artikel kemarin yang membahas Install squid3 pada part #1 dan part #2 namun belum support untuk melakukan transparent.
Transparent Proxy biasanya diterapkan agar admin proxy tidak perlu manual setting pada browser user / pelanggan saat membelokkan traffic browsing ke service proxy. Tproxy dan Intercept adalah mode transparent yang bisa diterapkan pada squid 3.1 ke atas.
Baca artikel instalasi squid :
Cara setting transparent proxy squid3 ini menggunakan mode tproxy dengan mikrotik yang akan melakukan firewall. Karena ini melanjutkan maka di anggap anda sudah mengikuti cara install squid3 pada artikel sebelumnya.
Install Squid3 untuk Transparent Proxy
Langkah Pertama
- Seperti biasa buka program putty lalu ssh ke PC ubuntu server kemudian login menggunakan user ‘root’
- Install Paket pendukung untuk Tproxy pada OS ubuntu
apt-get install libcap-* -y
- Hapus Instalasi squid sebelumnya
cd squid-3*
make uninstall
make clean
- Lakukan compile ulang squid anda dengan mengaktifkan opsi ‘–enable-linux-netfilter’
./configure --prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib/squid --sysconfdir=/etc/squid --localstatedir=/var --libdir=/usr/lib --with-default-user=proxy --with-logdir=/var/log/squid --with-pidfile=/var/run/squid.pid --enable-ssl-crtd --with-openssl --enable-linux-netfilter
make && make install
- Pada squid.conf tambahkan ‘http_port 3129 tproxy’ tepat di bawah ‘http_port 3128’ dan edit pada port 3127 menjadi ‘https_port 3127 tproxy ssl-bump…..’
https_port 3127 tproxy ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid/ssl_cert/myCA.pem
http_port 3128
http_port 3129 tproxy
- atau hapus isi squid.conf yang sudah ada lalu copy script di bawah ini jangan lupa edit, kemudian masukan ulang pada squid.conf
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
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all
https_port 3127 tproxy ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid/ssl_cert/myCA.pem
http_port 3128
http_port 3129 tproxy
acl step1 at_step SslBump1
acl step2 at_step SslBump2
acl step3 at_step SslBump3
ssl_bump peek step1 all
ssl_bump bump all
# BAGIAN YANG PERLU DI SESUAIKAN
# DISINI SAYA MENGGUNAKAN PARTISI /cache untuk cache_dir, jika nama partisi anda berbeda silahkan sesuaikan
# UNTUK UKURAN cache_dir sesuaikan juga, disini yang mencontohkan 100gb,
cache_dir aufs /cache 100000 100 256
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
# END
- Tambahkan Iptable pada ubuntu server dan simpan pada file “/etc/rc.local” tepat di atas ‘exit 0’
nano /etc/rc.local
copy script di bawah ini, lalu masukan di atas ‘exit 0’
iptables -t mangle -F
iptables -t mangle -X
echo 0 > /proc/sys/net/ipv4/conf/lo/rp_filter
echo 1 > /proc/sys/net/ipv4/ip_forward
ip rule add fwmark 1 lookup 100
ip route add local 0.0.0.0/0 dev lo table 100
iptables -t mangle -N DIVERT
iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
iptables -t mangle -A DIVERT -j MARK --set-mark 1
iptables -t mangle -A DIVERT -j ACCEPT
iptables -t mangle -A PREROUTING -p tcp --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 3129
iptables -t mangle -A PREROUTING -p tcp --dport 8080 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 3129
iptables -t mangle -A PREROUTING -p tcp --dport 443 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 3127
- Sampai disini squid kita sudah support untuk transparent mode, untuk mengakhiri langkah pertama, silahkan restart ubuntu server anda.
reboot
Langkah Kedua
- Sekarang buka mikrotik anda lewat winbox
- copy script dibawah ini, kemudian paste ke dalam ‘new terminal’ pada menu winbox
/ip firewall mangle
add action=mark-connection chain=prerouting comment="HTTP + HTTPS TO PROXY" dst-port=80,8080,443 new-connection-mark=to_proxy protocol=tcp src-address=192.168.2.0/24
add chain=prerouting src-mac-address=08:00:27:F7:75:7D
add action=mark-routing chain=prerouting connection-mark=to_proxy new-routing-mark=tproxy_route passthrough=no
/ip route
add distance=1 gateway=192.168.1.2 routing-mark=tproxy_route
Ket:
192.168.1.2 adalah IP Ubuntu server (squid)
192.168.2.0/24 adalah Network Lan
08:00:27:F7:75:7D adalah Mac-Address Ubuntu
Jika pada jaringan lokal anda terdapat dua network yang berbeda atau lebih, anda cukup copy mangle yang pertama dan tentukan IP dan port yang mau di belokkin ke proxy
ketika anda sudah masukan mangle di atas dan mau uji coba, pastikan squid anda sudah berjalan dengan baik, dan jika pada mikrotik anda terdapat mangle-mangle yang lain di sarankan di disable terlebih dulu, tujuanya untuk memastikan tproxy anda berjalan dengan semestinya.
firewall mangle di atas belum termasuk bypass HIT traffic, Bypass domain / IP dan Limit bandwidth. Mudah-mudahan lain waktu DSI akan menyajikan mangle yang sudah lengkap.
Demikian cara install squid3 yang sudah support transparent mode, semoga tutorial kali ini bisa bermanfaat buat pembaca semuanya.
Kami mohon Kritik dan saran mengenai artikel ini jika terdapat kesalahan baik penulisan atau pun script. Jangan lupa share artikel ini jika anda terbantu dengan tutorial di atas.
silahkan berkomentar dibawah ini untuk permasalahan mengenai artikel di atas.
Terimakasih atas kunjungan anda.
Selamat siang DSI.
Saya sudah ikuti semua tutorial install squid mulai part 1, 2 dan 3 dengan benar. saat cek “squid -k check” tidak ada laporan error. namuk ketika saya konekkan dengan microtik RB450G dengan setting mangle tproxy, hasilnya koneksi ke internet gagal, kadang ada laporan di log squid MISS aborted. Apa ada yang salah dengan settingan saya? mohon bantuannya…!
Berikut squid.conf saya saat ini:
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
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all
https_port 3127 tproxy ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid/ssl_cert/myCA.pem
http_port 3128
http_port 3129 tproxy
acl step1 at_step SslBump1
acl step2 at_step SslBump2
acl step3 at_step SslBump3
ssl_bump peek step1 all
ssl_bump bump all
cache_dir aufs /cache 948000 100 256
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
# END
Mohon dicek apa sudah benar atau masih ada yang perlu dibenarkan. terima kasih
mangle selain tproxy bisa coba agan disable dulu, dan pastikan di NAT yang di action masquarade hanya interface yang ke public
Selamat pagi. Terima kasih atas respon baliknya gan.
Seperti arahan agan untuk disable semua mangle kecuali tproxy sudah saya lakukan. Namun yang jadi kendala saat ini, bagaimana cara settingan “action masquarade hanya interface yang ke public” saya masih bingung soalnya saya masih sangat “NEWBIE”
mungkin ada script yang bisa saya jadikan acuan saya pakai Microtik RB450G.
Seperti ini pengaturan IP jaringan saya:
IP modem: 192.168.1.1 (eth 1).
IP Microtik to proxy: 192.169.70.1 (eth 5).
IP Proxy to Microtik: 192.168.70.2 (LAN CPU Mesin Proxy, Single Ethernet).
IP Client: 192.168.66.0/24 (eth 2).
Saya ping ke semua IP di atas melalui RUN Win7 Semua OK dan replay dengan baik.
Berikut settingan NAT masquarade di microtik saya:
comment: masquarade hotspot network hotspot.
chain: srcnat.
src address: 192.168.66.0/24 (tanpa tanda ! pada kotak).
action: masquarade.
Mohon bantuannya DSI. Terima kasih sebelumnya.
Bisa tidak untuk yang transparent proxynya langsung dari Ubuntu tanpa perlu pakai Mikrotik? Jadi Ubuntunya nanti selain jadi proxy juga jd gateway dan rencananya dns server, dhcp server juga ada di ubuntu.
Terima Kasih
bisa gan, tapi pada tutorial di atas harus pakai mikrotik, saya belum menulis artike tentang ubuntu yang sekaligus jadi proxy dan gateway.
malam bang saya lagi belajar squid
squidnya sudah berjalan…
hanya saya ketikkan perintah /etc/init.d/squid status
● squid.service – LSB: Squid HTTP Proxy
Loaded: loaded (/etc/init.d/squid; bad; vendor preset: enabled)
Active: active (exited) since Sen 2017-01-30 20:31:35 WIB; 1h 29min ago
Docs: man:systemd-sysv-generator(8)
Process: 4861 ExecStart=/etc/init.d/squid start (code=exited, status=0/SUCCESS)
Jan 30 20:31:35 jaganstu-VirtualBox systemd[1]: Starting LSB: Squid HTTP Proxy…
Jan 30 20:31:35 jaganstu-VirtualBox squid[4861]: * Starting Squid HTTP proxy squid
Jan 30 20:31:35 jaganstu-VirtualBox squid[4861]: …fail!
Jan 30 20:31:35 jaganstu-VirtualBox systemd[1]: Started LSB: Squid HTTP Proxy.
itu errornya dimana ya bang? di squid.conf nya atau script store-id.pl nya atau apa nya ya bang?
karena di lognya banyak miss nya bang…mohon pencerahannya ya bang…
Selamat pagi. Terima kasih atas respon baliknya gan.
Seperti arahan agan untuk disable semua mangle kecuali tproxy sudah saya lakukan. Namun yang jadi kendala saat ini, bagaimana cara settingan “action masquarade hanya interface yang ke public” saya masih bingung soalnya saya masih sangat “NEWBIE”
mungkin ada script yang bisa saya jadikan acuan saya pakai Microtik RB450G.
Seperti ini pengaturan IP jaringan saya:
IP modem: 192.168.1.1 (eth 1).
IP Microtik to proxy: 192.169.70.1 (eth 5).
IP Proxy to Microtik: 192.168.70.2 (LAN CPU Mesin Proxy, Single Ethernet).
IP Client: 192.168.66.0/24 (eth 2).
Saya ping ke semua IP di atas melalui RUN Win7 Semua OK dan replay dengan baik.
Berikut settingan NAT masquarade di microtik saya:
comment: masquarade hotspot network hotspot.
chain: srcnat.
src address: 192.168.66.0/24 (tanpa tanda ! pada kotak).
action: masquarade.
Kemudian settingan masquarade berikutnya:
comment: masquarade Proxy Squid.
chain: srcnat.
src address: 192.168.70.2 (tanpa tanda ! pada kotak).
out interfaces: eth 1 (ke publik)
action: masquarade.
Hasilnya tetap sama. Sy coba ping ke 202.134.0.155 koneksi speedy dari pc linux proxy squid menggunakan putty, muncul pesan “no connection unreachable” padahal semua kabel sudah pada posisi masing-masing dengan benar.
Mohon bantuannya DSI. Terima kasih sebelumnya.
Hi 🙂
I’m trying to setup from your wiki (thanks btw).
I have tested part 1 and part 2 -> OK
For the part 3, it doesn’t works :
– settings 3128 for all proxy setting in IE -> works
– if i remove the proxy settings -> not working.
Important, my Ubuntu server has only one lan and then it’s maybe why it failed ?
Before testing with my Mikrotik router, i have setup a client PC with gateway IP of ubuntu/squid3 server, so all data should go to ubuntu and TPROXY should redirect the stream right ?
Thanks if you have an idea 🙂
Back 🙂
I have setup a second card on UBUNTU server and now it works 😛
That’s great, now i need to figure out how to have parenal control in this way because none are filtered now. (when using a proxy in setting filter was working)
This is my next step.
Selamat Sore DSI.
Kalau tampilan browser gini, yang sala apanya ya?
The following error was encountered while trying to retrieve the URL: /
Invalid URL
Some aspect of the requested URL is incorrect.
Some possible problems are:
Missing or incorrect access protocol (should be “http://” or similar)
Missing hostname
Illegal double-escape in the URL-Path
Illegal character in hostname; underscores are not allowed.
Your cache administrator is webmaster.
Mohon bantuannya. Terima kasih
transparentnya belum berjalan semestinya..
coba mangle selain tproxy disable dulu semua, kemudian yang hanya di NAT_Masquarade hanya interface public
Terima kasih atas responnya.
DSI, mohon settingan NAT_Masquarade interface public gimana?
Apa ada script yang bisa saya gunakan?
Mohon pencerahanya…! Saya masih sangat NEWBIE.
Selamat Pagi DSI. Mau tanya nih.
setelah proxy transparent berjalan sy cek log squid, yang muncul kebanyakan TAG NONE dan TCP MISS?
Kalau HIT nya jarang muncul, kalaupun muncul paling sesekali saja.
contohnya seperti ini seperti ini:
1486682952.693 396 192.168.66.253 TAG_NONE/200 0 CONNECT 157.240.7.26:443 – ORIGINAL_DST/157.240.7.26 –
1486682952.812 318 192.168.66.253 TAG_NONE/200 0 CONNECT 157.240.7.26:443 – ORIGINAL_DST/157.240.7.26 –
dan
1486683319.680 327 192.168.66.253 TCP_MISS/200 11212 GET https://external-sin6-1.xx.fbcdn.net/safe_image.php? – ORIGINAL_DST/157.240.7.26 image/jpeg
1486683319.717 362 192.168.66.253 TCP_MISS/200 11424 GET https://external-sin6-1.xx.fbcdn.net/safe_image.php? – ORIGINAL_DST/157.240.7.26 image/jpeg
apa masih ada yang salah ya dengan settingan saya?
mohon pencerahan DSI. Terima kasih
Selamat pagi DSI.
saya sudah ikuti semua tutorial yang ada mulai part 1,2,3 dan HIT.
Apa ada tutorial configurasi MISS yang cocok untuk digunakan pada lajutan tutorial diatas?
Mohon pencerahan. Terima kasih
tidak ada gan, kalo untuk lanjutan config yang siap pakai kita kasih berbayar
https://dokter-squid.com/product/panduan-proxy/
Mengenai config siap pakai lanjutan yang berbayarnya.
Apa bisa diaplikasikan untuk server proxy cache hotspot RT/RW?
bisa..namun tetap untuk cache https mesti import sertifikat.. jadi biasanya kami selalu merekomdasikan cache https hanya pada warnet saja.