什么是squid代理服务器
Squid是基于Unix的代理服务器(proxy server),它缓存比起点源点更接近请求者的互联网内容。Squid支持缓存多种不同的网络对象,包括那些通过HTTP 和 FTP访问的人。
Squid是基于Unix的代理服务器(proxy server),它缓存比起点源点更接近请求者的互联网内容。Squid支持缓存多种不同的网络对象,包括那些通过HTTP和FTP访问的人。缓存频繁要求网页、媒体文件和其它加速回答时间并减少带宽堵塞的内容。
Squid代理服务器(Squid proxy server)一般和原始文件一起安装在单独服务器而不是网络服务器上。Squid通过追踪网络中的对象运用起作用。Squid最初担当中介,仅仅是把客户要求传递到服务器并存储要求对象的拷贝。如果同一个客户或同一批客户在要求还在Squid缓存(cache)时要求相同的对象,Squid就可以立刻服务,加速下载并保存带宽。
本文介绍Squid的三种工作模式中的透明代理
实验环境
web服务器:192.168.0.2 VMnet1
squid服务器:
192.168.0.1 VMnet1
192.168.1.1 VMnet4
client:192.168.1.2 VMnet4
具体步骤
1:先关闭防火墙和SElinux,再配置IP和网卡,这里就不演示了
双网卡配置可以参考这篇文章
2:在web服务器上做一个简单的网页
现在用client访问web服务器是访问不了的,所以我们需要配置squid服务器
3:配置squid
先安装squid
yum -y install squid
再编辑配置文件
vim /etc/squid/squid.conf
将deny改为allow,在3128后面加上transparent
重启squid服务
systemctl restart squid
4:配置iptables
将源IP地址为192.168.1.0的80端口的数据包转发到3128端口,实现代理
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 3128
可以使用iptables -t nat -nL查看
5:客户端访问
先将客户端的网关改为squid服务器的IP地址
访问web服务器
与正向代理的区别
透明代理和正向代理的功能完全一致,但是透明代理的客户端不需要设置代理服务器的IP和代理端口,对用户是透明的
如有错误欢迎指正