六、透明代理服务
适用于企业的网关主机,客户机不需要指定代理服务器地址、端口等信息,通过iptables将客户机的Web访问数据转交给代理服务程序处理。
实验拓扑图如下:
6.1 修改squid 主配置文件/etc/squid/squid.conf
http_port 3128 transparent
cache_mem 64 MB
maximum_object_size 4 MB
cache_dir ufs /var/spool/squid 100 16 256
access_log /var/log/squid/access.log
acl localnet src 192.168.1.0/24
http_access allow localnet
http_access deny all
visible_hostname squid.david.dev
cache_mgr mchina_tang@qq.com
在http_port 3128 后添加transparent 关键字。
6.2 reload
reload 让上面的配置生效。
# /etc/init.d/squid reload
6.3 添加iptables规则,把内部的http请求重定向到3128端口
A. 启动iptables 服务
# /etc/init.d/iptables start
B. 清除现有iptables filter 表规则
# iptables -F
C. 保存iptables 设置
# /etc/init.d/iptables save
D. 查看nat 表设置
# iptables -t nat -L -n
E. 在nat表中新增一条规则
# iptables -t nat -I PREROUTING -i eth0 -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
F. 保存
G. 设置iptables 开机启动
# chkconfig iptables on
6.4 修改客户端IP地址
将默认网关设置为squid 服务器的内网ip地址。
6.5 在浏览器中,取消代理设置
6.6 测试
透明代理测试成功。