代理服务器squid

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服务器了:

你可能感兴趣的:(代理服务器squid)