实验需求:搭建squid代理服务器,使内网主机192.168.100.1能够访问公网web服务器1.1.1.1
192.168.100.254/24
eth0(内网接口)
内网客户端主机192.168.100.1-------------squid代理服务器-------------- 公网web服务器1.1.1.1
eth1(公网接口)
1.1.1.254/8
一.搭建squid代理服务器
1.安装提供代理服务的软件包
# yum -y install squid
2.修改主配置文件
# vim /etc/squid/squid.conf
……
59 #http_access deny all
60 http_access allow all //允许所有用户使用
……
66 cache_mem 8 MB
67 minimum_object_size 0 KB //小于多少KB数据不要缓存,0为不限制
68 maximum_object_size 4096 KB //大于4MB数据不要缓存
69 cache_swap_low 90
70 cache_swap_high 95 //磁盘使用量超过95%开始删除旧缓存,直到90%为止
71 # Uncomment and adjust the following to add a disk cache directory.
72 cache_dir ufs /var/spool/squid 100 16 256
……
3.启动服务
# service squid start
# chkconfig squid on
4.启动公网服务器1.1.1.1web服务,并制作测试网页
5.配置客户端并测试I
在浏览器里指定代理服务器的ip地址(192.168.100.254)和端口号(3128)
客户端访问公网网址服务器
http://1.1.1.1/网页文件名,若能访问则测试成功
二.将上述实验修改为透明代理(必须在客户端的网关主机上搭建)
(客户端不用在浏览器里指定代理服务器的ip地址和端口号,就可以直接访问公网上的网站服务器)
1.修改squid服务的代理方式为透明代理
vim /etc/squid/squid.conf
63 http_port 3128 transparent
service squid restart
2.在代理服务器上配置防火墙规则,把本机接收到的访问目标端口是80和443的请求转给本机的3128端口。
# iptables -t nat -A PREROUTING -s 192.168.100.0/24 -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
# iptables -t nat -A PREROUTING -s 192.168.100.0/24 -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 312
# service iptables save
3.客户端添加网关并测试
# route add default gw 192.168.100.254
客户端取消浏览器的代理设置
直接反问http://1.1.1.1/网页文件名,若能访问则测试成功。