当我从远程计算机使用代理时 /var/log/squid/access.log 为空

当我从远程计算机使用代理时 /var/log/squid/access.log 为空

我已经将 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
所以问题是日志记录以某种方式被关闭以供远程代理使用。

权限:

  • /var/log/squid/-0777
  • /var/log/squid/* - 0666

cat /var/log/squid/cache.log | grep access 给出
logfileOpen: opening log /var/log/squid/access.log

没有任何错误。

答案1

我的网络接口是 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

解决了这个问题。

相关内容