имеется сквид. настроен на transparent. iptables'ом редиректит с 80 на 3128. на клиентах шлюзом указана машина с сквидом. итог: трафик не идет. если вручную прописать прокси - все работает. и на 80 и на 3128. но если добавить правило с маскарадингом из подсети - начинает нормально работать прокся!! т.е. трафик идет на сквид, не мимо (логи).
# squid -v Squid Cache: Version 2.7.STABLE9
root@base-gateway:~# cat /etc/squid/squid.conf
acl all src 0.0.0.0/0.0.0.0
acl localnet src 192.168.1.0/24
http_port 192.168.1.1:3128 transparent
blablabla
root@base-gateway:~# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
root@base-gateway:~# iptables -t nat -L -n
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- 192.168.1.0/24 0.0.0.0/0 tcp dpt:80 redir ports 3128
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE tcp -- 192.168.1.0/24 8.8.8.8 tcp dpt:53
MASQUERADE tcp -- 192.168.1.0/24 0.0.0.0/0 tcp dpt:443
в таком варианте трафик идет только при ручном указании прокси.
добавляем
MASQUERADE all -- 192.168.1.0/24 0.0.0.0/0