使用Squid部署代理缓存服务(标准正向、透明正反向代理)
正向代理让用户可以通过Squid服务程序获取网站页面等数据,具体工作形式又分为标准代理模式与透明代理模式。
标准正向代理模式:
将网站的数据缓存在服务器本地,提高数据资源被再次访问时的效率,但用户必需在上网时指定代理服务器的IP地址与端口号,否则将不使用Squid服务。
透明正向代理模式:
功能作用与标准正向代理模式完全相同,但用户不需要指定代理服务器的IP地址与端口号,所以这种代理服务对于用户来讲是完全透明的。
反向代理则是为了降低网站服务器负载而设计的,反向代理服务器负责回应用户对原始网站服务器的静态页面请求,即如果反向代理服务器中正巧有用户要访问的静态资源则直接将缓存的内容发送给用户,减少了对原始服务器的部分数据资源请求。
一、
安装服务:yum install squid -y
添加网卡:(桥接)
设置新网卡的IP:
在另一个虚拟机上安装httpd服务,然后写入东西
yum install httpd -y
systemctl restart httpd
写入内容:
修改这个虚拟机的IP:
打开客户机设置IP:
修改一下squid服务的配置文件
重启服务:systemctl restart squid
实验:
服务端查看日志:
透明正向代理
使用透明正向代理,不需要在浏览器中设置代理模式就能访问
先关闭浏览器中的代理模式:
再清除缓存,以免影响实验
这个时候再输入地址已经访问不到了
配置:
客户端的网关设置成squid服务端的IP:
修改服务端配置文件:
vi /etc/squid/squid.conf
修改防火墙重定向策略:
iptables -t nat -I PREROUTING -i ens33 -s 192.168.5.0/24 -p tcp --dport 80 -j REDIRECT --to 3128
iptables -t nat -I PREROUTING -i ens33 -s 192.168.5.0/24 -p tcp --dport 443 -j REDIRECT --to 3128
添加防火墙策略并应用允许3128端口通过
iptables -I INPUT -p tcp --dport 3218 -j ACCEPT
重载服务:service squid reload
重启/开机自启动服务:systemctl restart/enable squid
最后可以检查配置是否有错误:
squid -k parse
没有错误,可以在客户机浏览器上检查:
透明反向代理:
反向代理的作用是将网站中的静态资源本地化,也就是将一部分本应该由原始服务器处理的请求交给Squid缓存服务处理。
编辑Squid服务程序的配置文件(正向代理与反向代理不能同时使用,请还原您前面修改过的参数):
修改配置文件:
vi /etc/squid/squid.conf
第59行,修改格式为:http_port Squid服务器地址:监听端口号 vhost
第60行,添加格式为:cache_peer 原网站服务器地址 parent 服务器端口号 0 originserver
重启/开机自启动服务:systemctl restart/enable squid
客户端浏览器实验: