squid透明代理(Transparent Proxy)
原理:
透明代理提供与传统代理相同的功能和服务,其“透明”之处在于:
客户端不需要在浏览器中指定代理服务器的地址和端口号,代理服务对客户端用户说是“透明”的,用户甚至并不知道自己已经在使用代理服务了。
在很多企业网络中,代理服务器往往也就是局域网接入internet的网关,因此,管理员就机会将局域网访问web站点的数据转交(Redirect,重定向)给网关本机的代理服务程序。
而这个数据转交的工作有防火墙策略来完成,局域网的客户机并不需要知道具体的实现过程。减少了客户端的设置,透明代理一般只使用与代理服务器同时也为网关服务器的企业网络。
透明代理服务配置过程:
案例:
在代理服务器内网卡(192.168.1.1/24)中启用squid服务,并添加透明代理支持。
该服务器同时作为局域网内(192.168.1.0/24)各主机网关服务器设置iptables防火墙规则,将局域网用户访问internet网站数据包进行重定向,交给squid服务处理。
1.修改squid.conf配置文件,添加透明代理支持
vi /etc/squid/squid.conf
http_port 192.168.1.1 transparent
visible_hostname proxy.linuxfan.cn
http_access allow all
/etc/init.d/squid restart
2.设置iptables规则,将访问HTTP的数据重定向给代理服务器
iptables -t nat -I PREROUTING -i eth1 -s 192.168.1.0/24 -p tcp
--dport 80 -j REDIRECT --to-ports 3128
客户端设置IP地址、网关设置正确就可以了
3.查看squid访问日志记录
tail -f /var/log/squid/access.log