说明:

透明代理提供的服务功能与传统代理是一致的,但是其“透明”的实现依赖于默认路由和防火墙的重定向策略,因此更适用于为局域网主机服务,而不适合为Internet中的客户机提供服务。其基本的原理可详见上一篇squid传统代理
.
.

安装环境:

squid 透明代理_第1张图片
.
.

安装步骤如下:

(安装squid详见上一篇)

.
.
1 . 安装完成squid后,将服务器与主机更改为仅主机模式
为代理服务器添加一个网卡,并更改为相应的ip地址与上面实验环境中相同

squid 透明代理_第2张图片
.
.

2 .开启路由功能

echo "1" > /proc/sys/net/ipv4/ip_forward   #开启路由功能
iptables -F
iptables -t nat -F  #清空注册表
setenforce 0

squid 透明代理_第3张图片
.
.
3 .配置squid支持透明代理

vim /etc/squit.conf
http_port 192.168.100.1:3128 transparent   #设置监听端口及透明模式

squid 透明代理_第4张图片
.
.
4 .设置iptables的重定向策略

iptables -t nat -I PREROUTING -i ens33 -s 192.168.100.0/24 -p tcp --dport 80 -j REDIRECT --to 3128   #加策略,nat表,路由处理后,指定内网口,针对源地址段落,重定向到3128
iptables -t nat -I PREROUTING -i ens33 -s 192.168.100.0/24 -p tcp --dport 443 -j REDIRECT --to 3128

iptables -I INPUT -p tcp --dport 3128 -j ACCEPT       #在input链中,针对tcp协议,目标端口3128,允许转发

squid 透明代理_第5张图片
.
.
5 . 开启服务,使用win7访问12.0.0.12,查看访问日志
service squid krestart
.
.

日志中访问ip地址为12.0.0.1,透明代理设置成功