实验名称:squid 服务器的应用
实验目标:
任务一:实现正向代理
任务二:实现透明代理
任务三:实现反向代理
提示1、在启动squid服务程序之前需要先确认Linux主机具有完整的域名,如果没有可以在hosts文件中进行设置
提示2、squid服务器第一次启动前的初始化工作可以使用squid –z命令手工完成,如不手工进行,squid启动脚本也会自动完成初始化工作。
实验拓扑:
此时虚拟机B为外网的一台 squid代理服务器、
根据拓扑配置好实验环境,在这里就不演示了
任务一:实现正向代理
分析:在B上做squid代理,(B可以是企业内部的一台有着外网ip的计算机,或是外网的计算机)然后在客户端访问外网web服务器,在后查看是那个ip地址在访问自己 如果是代理服务器的ip则说明代理成功
Squid服务器在RHEL5系统中已经默认安装了
确认主机具有完整的域名
在B上配置
修改squid主配置文件
然后退出保存
唉、在启动服务的时候出现了一个错误
服务总是启动不成功,然后再网上搜了下 ,解决方案如下
把squid.conf中的visible_hostname改为:
visible_hostname 192.168.15.2 (为本机ip)
然后启动服务
记得要初始化
A还需开启路由功能,还需要在B上添加一条路由,使xp可以ping通squid代理服务器,因为xp要和代理服务器通信
最后一步设置客户端IE
然后再客户端访问Cweb服务器
可以访问、最后在C 服务器上查看是那个ip访问了自己、如果是代理服务器的ip1.1.1.3访问自己说明代理成功
按住shift+上页 翻到上面
都是代理服务器的ip在访问自己的80端口,成功.
任务二:实现透明代理
分析:透明顾名思义是看不见的代理,客户端不用作任何操作,(客户端是不连外网的)但前提条件squid服务器必须在客户端网关服务器上做,即在A上做squid代理服务器,最后通过squid代理服务器上网。
开始试验,在网关服务器A上
然后再A上安装squid软件包,我这Linux没有安装,这里就不演示安装步骤了,上面有
安装成功后,修改主配置文件
然后退出保存
初始化
然后启动服务
再添加一条规则
注明:客户端不用作任何操作,只用把网关设置上,这个实验A也需开启路由功能
最后用xp进行访问C web server
访问成功,然后再C上查看访问自己的计算机应该是虚拟机A 因为他是代理服务器
代理成功,访问本机网站的都虚拟机A的ip 1.1.1.1
其实没有什么要配置的命令,大概只需要将squid服务安装到A上略加修改配置文件即可
任务三:实现反向代理
分析:反向顾名思义是为服务器做的代理,比如新浪网、百度网、等等、它们在世界各地都有反向代理,客户访问它们的代理服务器即可以访问相应的网站、这样一来百度着一些大的网站服务器就会负担减轻,可以为web服务器加速,它通过在繁忙的WEB服务器和Internet之间增加一个高速的WEB缓冲服务器(即:WEB反向代理服务器)来降低实际的WEB服务器的负载
在本实验中c为一台web服务器,将在B上做反向代理,实验效果是客户机192.168.15.10访问1.1.1.3 可以出现Cweb服务器的网站内容,这样就提到反向代理的作用,
配置squid服务器
n 修改squid.conf配置文件中的设置
# vi /etc/squid/squid.conf
//在配置文件中设置以下的配置行
http_port 80 vhost vport
cache_peer 1.1.1.2 parent 80 0 no-query originserver
icp_port 3130
n 重新启动squid服务器
# service squid reload
实验开始
根据拓扑配置好实验环境,在B上安装squid软件包,就不演示步骤了,上面有安装步骤
现在修改squid主配置文件
然后退出保存,重启服务
现在已经配置好了 ,但是不知道那里出了问题,用xp访问1.1.1.3连接不到1.1.1.2的网站,正常情况下应该是可以访问的
现在好了,我吧不能访问的原因找到了,xp连B虚拟机都ping不通肯定不能访问了 ,因为xp要访问反向代理服务器,达到访问C web服务器的效果,那么肯定要首先能ping通B虚拟机,我在A上开启了路由功能即可以访问,如下图
成功。。。
试验总结:再做反向代理的时候把我整的无言了 ,经过研究才发现是iptables里面的问题 ,要注意防火墙的设置情况
转载于:https://blog.51cto.com/liweiyang/731748