Я настроил squid для работы с NAT, используя
apt-get install squid
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.1:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
Добавили в /etc/squid/squid.conf
acl internal_network src 192.168.0.0/24
http_access allow internal_network
access_log /var/log/squid/access.log squid
Проблема: /var/log/squid/access.log пуст, когда я использую прокси с удаленных компьютеров.
Когда я делаю telnet localhost 3128
тогда он записывает в журнал:
1308144959.810 0 127.0.0.1 TCP_DENIED/400 1693 NONE NONE:// - NONE/- text/html
Проблема в том, что для удаленного использования прокси-сервера каким-то образом отключено ведение журнала.
Разрешения:
cat /var/log/squid/cache.log | grep access
дает
logfileOpen: opening log /var/log/squid/access.log
без ошибок.
Мой сетевой интерфейс был br0, а не eth0 или eth1
iptables -t nat -A PREROUTING -i br0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.1:3128
исправил проблему.