Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有普遍的用途,从做为网页服务器的前置cache服务器缓存相关请求来提升Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其余网络搜索,到经过过滤流量帮助网络安全,到局域网经过代理上网。Squid主要设计用于在Unix一类系统运行。
正向代理:
这里我利用linux系统做为squid服务器,因此首先要来在linux上安装squid。
当本地站点没有缓存时,须要DNS主动转向Internet进行请求信息,为要进行解析,须要有DNS指向,配置/etc/resolv.conf文件,指明DNS,这里我使用的是电信的
而后把squid服务启起来service squid start
为了实现代理,须要配置squid的配置文件,对其进行相应的修改
vim /etc/squid/squid.conf
首先,配置一下出现错误时的规则
意思是说,当没法访问时,页面显示转到其网关192.168.2.254(固然能够根据实际需求进行配置,这里只是实验说明),显示错误页面效果,让用户明白访问出错。
而后重启squid服务service squid restart
这时能够测试一下,但测试以前,要对内部主机作代理:
而后测试一下
这是由于咱们没有配置代理的其余信息,是上不去网的,由图能够看出,刚才作的已经生效了。
而后接着对配置文件进行配置,来达到想要的效果。这里先容许一下全部的,来看下效果
不要忘了重启squid服务
说明,代理已经生效了。可是容许全部固然不是理想的状况,这时,能够对其余地方进行编辑配置,来达到理想的效果
这里先以控制一台主机为例:
上图中的badip是本身起的名字,590、591两行表示拒绝192.168.2.100访问外网
配置完成之后,一样要重启服务,这里把其中一台主机地址改成192.168.2.100,而后来看测试结果
而后把地址改为其余的再测试
要作其余的效果,能够根据本身的需求根据配置文件里的说明来编辑配置文件便可,这里我就不在一一举例。
透明代理:
把全部的经过80多口的流量都重定向到3128端口
刚才咱们在浏览器里设置了代理,在作透明代理时,咱们要把其取消,并在填写地址时要填写上网关、DNS。
而后要把squid服务器的数据转发功能打开,编辑/etc/sysctl.conf
而后执行以下命令:
而后作端口的重定向(把全部的经过80多口的流量都重定向到3128端口)
这条命令什么意思,来看另外一命令就清楚了
而后去配置squid的配置文件来作策略
这里不作其余配置,依然先容许全部,而后依然要重启服务,测试
而后再来作一个例子
而后重启服务测试
反向代理:
为了说明问题,首先要在内部主机搭建一www服务器,这里,为了,说明问题,只是简答的搭建了一下
配置squid配置文件
而后重启服务,测试
在外部pc浏览器内输入http://192.168.102.44便能访问到内部www服务器了: