故障:在web服务器上的日志文件中查看发现虽然是squid的透明模式,来访的IP地址却还是客户机ip。
在解决问题之前来访记录都是客户机的IP地址。

分析:因为客户机是可以ping通web的说明网络没有问题。检查squid进程和端口发现一切正常。因为存在路由的关系,并且透明模式是关闭代理的,所以客户机并没有通过代理去访问web,而是直接通过路由去访问web。
解决:在代理服务器上设置端口映射的规则,将来访的80、443端口映射成3128端口。并方通3128端口。
iptables -t nat -I PREROUTING -i ens33 -s 192.168.80.0/24 -p tcp --dport 80 -j REDIRECT --to 3128
iptables -t nat -I PREROUTING -i ens33 -s 192.168.80.0/24 -p tcp --dport 443 -j REDIRECT --to 3128
iptables -I INPUT -p tcp --dport 3128 -j ACCEPT
再次查看日志发现来访ip改为代理端ip地址。
本文介绍了解决squid透明代理模式下,web服务器日志显示客户机IP而非代理服务器IP的问题。通过设置iptables规则,将80和443端口请求重定向到3128端口,确保所有HTTP和HTTPS请求都通过代理服务器,从而在日志中记录正确的代理IP。

1万+

被折叠的 条评论
为什么被折叠?



