Detail Server
Squid Transparent Proxy Version: 3.3.8
OS: Ubuntu Server 14.04
Server IP: 192.168.1.3
File konfigurasi squid
(tidak termasuk komentar menggunakan grep)
root@ubuntu:~# grep -v '^$\|^\s*\#' /etc/squid3/squid.conf
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
acl mylocalnetwork src 192.168.1.0/24
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access allow mylocalnetwork
http_access deny manager
http_access allow localhost
http_access deny all
http_port 3128 transparent
cache_mem 8 MB
maximum_object_size_in_memory 32 KB
memory_replacement_policy heap GDSF
cache_replacement_policy heap LFUDA
cache_dir aufs /opt/squid/cache 10000 14 256
maximum_object_size 128000 KB
cache_swap_low 95
cache_swap_high 99
coredump_dir /var/spool/squid3
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern -i \.(gif|png|jp?g|ico|bmp|tiff?)$ 10080 95% 43200
refresh_pattern -i \.(rpm|cab|deb|exe|msi|msu|zip|tar|xz|bz|bz2|lzma|gz|tgz|rar|bin|7z|doc?|xls?|ppt?|pdf|nth|psd|sis)$ 10080 90% 43200
refresh_pattern -i \.(avi|iso|wav|mid|mp?|mpeg|mov|3gp|wm?|swf|flv|x-flv|axd)$ 43200 95% 432000
refresh_pattern -i \.(html|htm|css|js)$ 1440 75% 40320
refresh_pattern -i \.index.(html|htm)$ 0 75% 10080
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 1440 90% 10080
quick_abort_min 0 KB
quick_abort_max 0 KB
quick_abort_pct 100
store_avg_object_size 13 KB
visible_hostname localhost
Log cumi
-------------------------------------------------------------
-----------------------------------------------------------
----------------------------------------------------------
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| Loaded Icons.
2014/07/03 22:11:57| HTCP Disabled.
2014/07/03 22:11:57| Pinger socket opened on FD 13
2014/07/03 22:11:57| Squid plugin modules loaded: 0
2014/07/03 22:11:57| Adaptation support is off.
2014/07/03 22:11:57| Accepting NAT intercepted HTTP Socket connections at local=0.0.0.0:3128 remote=[::] FD 11 flags=41
2014/07/03 22:11:57| Done reading /opt/squid/cache swaplog (2 entries)
2014/07/03 22:11:57| Finished rebuilding storage from disk.
2014/07/03 22:11:57| 2 Entries scanned
2014/07/03 22:11:57| 0 Invalid entries.
2014/07/03 22:11:57| 0 With invalid flags.
2014/07/03 22:11:57| 2 Objects loaded.
2014/07/03 22:11:57| 0 Objects expired.
2014/07/03 22:11:57| 0 Objects cancelled.
2014/07/03 22:11:57| 0 Duplicate URLs purged.
2014/07/03 22:11:57| 0 Swapfile clashes avoided.
2014/07/03 22:11:57| Took 0.08 seconds ( 24.94 objects/sec).
2014/07/03 22:11:57| Beginning Validation Procedure
2014/07/03 22:11:57| Completed Validation Procedure
2014/07/03 22:11:57| Validated 2 Entries
2014/07/03 22:11:57| store_swap_size = 12.00 KB
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| pinger: Initialising ICMP pinger ...
2014/07/03 22:11:57| pinger: ICMP socket opened.
2014/07/03 22:11:57| pinger: ICMPv6 socket opened
2014/07/03 22:11:57| Pinger exiting.
2014/07/03 22:11:58| storeLateRelease: released 0 objects
Aturan Iptables
(menggunakan antarmuka tunggal "eth0" untuk sementara waktu)
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.3:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
Konfigurasi Klien
Masalahnya adalah saya tidak bisa mengakses internet di mesin klien saya dengan IP Squid sebagai Gateway & DNS Primer, seperti yang ditunjukkan di bawah ini.
Di klien Ubuntu
auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.3
dns-nameservers 192.168.1.3
Pada klien Windows
Ketika saya mengubah DNS pada klien Ubuntu ke dns-nameservers 192.168.1.1
& klien Windows ke ip router yang sama, 192.168.1.1
bukan ip squid (192.168.1.3), maka saya bisa mengakses internet pada keduanya. Ini mungkin bukan cara yang harus dilakukan karena halaman dapat dirender langsung dari router dan mungkin bukan dari server squid menggunakan cache (tentu saja saya dapat melihat log yang dihasilkan di /var/log/squid3/cache.log). Saya juga melihat router saya berkedip untuk halaman yang sudah diakses, ini mungkin berarti ia mengirimkan permintaan melalui internet alih-alih mengambil dari cache squid.
Saya masih belum dikompromikan. Jika saya masih bisa mengakses halaman yang dikunjungi di mesin klien saya dari cache setelah internet dimatikan, saya akan puas.
Bagaimana prosedur untuk mengkonfigurasi klien untuk Squid Transparent Proxy ?, tolong bantu saya?
Perbarui 1
root@ubuntu:~# iptables -t nat -L -n -v
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DNAT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 to:192.168.1.3:3128
0 0 REDIRECT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 redir ports 3128
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 MASQUERADE all -- * eth0 192.168.1.0/24 0.0.0.0/0
Perbarui 2
Ini berfungsi pada edisi sebelumnya Ubuntu 10.04(lucid)
dengan versi squid Squid Cache: Version 2.7.STABLE7
, dan di bawah ini adalah file konfigurasi squid bekerja dan saya bisa mengakses internet di mesin klien ketika gateway & DNS klien diatur ke ip lucid:
root@lucid:~# grep -v '^$\|^\s*\#' /etc/squid/squid.conf
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
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 mynet src 192.168.1.0/24 # RFC1918 possible internal network
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
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 Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow mynet
http_access deny all
icp_access allow localnet
icp_access deny all
http_port 3128 transparent
hierarchy_stoplist cgi-bin ?
cache_mem 8 MB
maximum_object_size_in_memory 32 KB
cache_dir ufs /var/spool/squid 2000 16 256
access_log /var/log/squid/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Package(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
hosts_file /etc/hosts
offline_mode on
coredump_dir /var/spool/squid
Saya tidak yakin mengapa ini tidak berhasil Ubuntu 14.04
dengan versi Squid Squid Cache: Version 3.3.8
. Saya pasti kehilangan beberapa pengaturan dalam versi baru cumi-cumi atau dalam destro baru !.
sumber
squid3 -k parse
, semuanya bersih.Jawaban:
Saya tidak yakin, tapi tolong lihat dengan daftar periksa ini:
Edit file squid.conf dan ubah baris berikut untuk mengaktifkan mode proxy transparan:
service squid restart service squid reload
Tambahkan entri ke tabel NAT iptables ke lalu lintas masuk port-forward pada antarmuka bagian dalam (sisi LAN) ke server Squid pada port 3128 (dengan asumsi eth0 adalah antarmuka di dalam dengan alamat IP 192.168.1.3
Sekarang Anda dapat melihat iptables Anda, tabel filter default, dan tabel nat, menggunakan perintah berikut
Sekarang Anda dapat menambahkan (tambahkan) ke tabel filter iptable dengan perintah berikut, untuk menerima input pada port 3128 untuk Squid
Coba ini juga
Anda memerlukan satu port 'intersep' dan satu 'forward proxy' dalam konfigurasi walaupun Anda tidak menggunakan forward proxy:
Catatan : Opsi "transparan" telah ditinggalkan oleh opsi "intersep" sejak 2010.
sumber
intercept
seperti yang disarankan oleh HBruijn. Aturan nat Iptables sudah ada dan INPUT ke server proxy tidak diblokir untuk port / sumber apa pun, semua paket yang masuk diizinkan untuk saat ini.Menurut Squid WiKi Anda memiliki pengaturan yang salah dalam opsi http_port , dengan Squid 3.1+ dan DNAT seharusnya
intercept
bukantransparent
.Meskipun output dari log Squid Anda sepertinya mengindikasikan soket yang dicegat sedang aktif.
Hal kedua adalah bahwa server Linux perlu mengizinkan penerusan TCP-IP
sysctl net.ipv4.ip_forward=1
sumber
intercept
, hasilnya sama bahwa saya tidak dapat mengakses internet pada klien dengan192.168.1.3
gateway dan dns primer. Ya, penerusan TCP-IP diaktifkan di sysctl.conf.Kesalahan:
No forward-proxy ports configure
(dalam/var/log/squid3/cache.log
)Baca Wiki .
Dalam pengalaman saya, proxy transparan membutuhkan port NAT ke
squid.conf
(keduanya)sumber
Setelah hanya menambahkan "intersep" ke opsi http_port, saya masih mengalami masalah dalam kombinasi dengan mode pengalihan iptables, jika klien dikonfigurasi untuk menggunakan proxy:
"GALAT: Tidak ada porta proxy maju yang dikonfigurasi." dan "PERINGATAN: Loop penerusan terdeteksi untuk:"
Setelah melalui pernyataan di atas saya menggunakan ini, sebagai hasil terbaik sekarang:
a) gunakan entri port ganda di squid.conf seperti ini:
Ini akan menampilkan port 8080 sebagai port forward biasa untuk konfigurasi sisi klien dan memberikan port kedua untuk meneruskan traffic yang dialihkan.
b) gunakan aturan iptables seperti ini:
Seperti ini, Anda akan memiliki port proxy klasik (8080) untuk mengonfigurasi pada klien Anda dan port penegakan untuk lalu lintas yang tidak dienkripsi.
Mengapa Anda ingin melakukan ini? Nah, jika Anda tidak suka HTTPS-traffic melewati proxy (kebutuhan untuk mengkonfigurasi klien biasa) dan jika Anda ingin mendukung, tetapi tidak ingin (atau tidak bisa) mengkonfigurasi, perangkat atau program kurang pintar.
sumber
Di Ubuntu 14.04 Squid Transparent Proxy Version: 3.3.8, Anda harus menghapus transparan dari konfigurasi http_port 3128 yang saya maksud hanya meninggalkan
tidak
untuk beberapa alasan tidak berfungsi sekarang.
sumber
dengan:
berhasil
(Kesalahan: Tidak ada porta proxy maju yang terkonfigurasi di /var/log/squid3/cache.log)
sumber