柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!
全部博文(1669)
分类: 系统运维
2013-01-23 10:15:05
2013-01-22 10:57:13| 分类: mem_squid_porxy | 标签: |字号大中小
代理服务器(Proxy Server)是一种重要的安全功能,它的工作主要在(OSI)模型的对话层,从而起到防火墙的作用。代理服务器大多被用来连接INTERNET(国际互联网)和INTRANET(局域网)。
代理服务器的主要功能:
(1)设置用户验证和记账功能,可按用户进行记账,没有登记的用户无权通过代理服务器访问Internet网。并对用户的访问时间、访问地点、信息流量进行统计。 (2)对用户进行分级管理,设置不同用户的,对外界或内部的Internet地址进行过滤,设置不同的访问权限。 (3)增加缓冲器(Cache),提高访问速度,对经常访问的地址创建,大大提高热门站点的访问效率。通常代理服务器都设置一个较大的硬盘缓冲区(可能高达几个GB或更大),当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,以提高访问速度。 (4)连接与Internet,充当防火墙(Firewall):因为所有内部网的用户通过代理服务器访问外界时,只映射为一个,所以外界不能直接访问到内部网;同时可以设置IP地址过滤,限制内部网对外部的访问权限。 (5)节省IP:代理服务器允许使用大量的伪IP地址,节约网上资源,即用代理服务器可以减少对IP地址的需求,对于使用局域网方式接入Internet ,如果为局域网(LAN)内的每一个用户都申请一个IP地址,其可想而知。但使用代理服务器后,只需代理服务器上有一个合法的IP地址,LAN内其他用户可以使用私有IP地址,这样可以节约大量的IP,降低网络的维护成本。
而squid就是常用的代理服务器软件;
(squid的透明代理的详细配置请看:http://sf418.blog.51cto.com/5627295/979572)
(squid的反向代理的详细配置请看:http://sf418.blog.51cto.com/5627295/979571)
下面我们用一个简单的案例来介绍一下squid的控制机制:
先设置squid服务器的配置:
内网卡:
外网卡:
再查看一下网关信息:
看看能不能喝internet通信:
通信正常,如果不能通信,要编辑这个脚本(做dns指向):
保证有效的dns;
好了既然和internet通信正常,我们就接着往下做:
创建光盘挂载点:
回到Server目录下安装squid软件包:
进入squid配置文件:
为了要让代理服务器向客户返回错误信息,需要加上这条命令:
另外 因为squid是默认拒绝所有,所有要想通信就加上一行命令:
然后保存退出;;
打开一个xp系统,来测试和外网通信情况:
先看其ip情况(只配置ip即可):
再看浏览器设置:
设置好后::打开浏览器:
成功访问到了;
我们在看一下其日志:
我们可以用squid代理来上网了,再看看它的控制功能:
首先为了防止别人蹭网速,先写在squid配置文档上添加一行:
然后重点来了:
先看squid服务器基于ip的控制:
编辑squid配置文件:
如果我不想让这些ip的机器上网就可以这样编辑:
然后是策略,策略名、动作(deny拒绝)、元素名称;
重回到xp系统测试:
不能访问了吧!(因为xp系统的ip是145.22,正好在拒绝的范围内);
我们再把xp系统的ip换一下试试看:
打开浏览器:
又能访问到外网了!!
而编写命令的格式是固定的,如下(在squid配置文件里有):
编写好控制元素,就是策略名、动作、元素名称;
上面的例子是基于ip的控制,下面我们再看一个基于域名的控制:
基于域名的控制:
例如,不让访问带有新浪的域名:
控制元素、元素名称(自己起的,关键自己能看明白)、目标域、域名
然后是策略,策略名、动作(deny拒绝)、元素名称。(这里没有写来源,默认是all)
做好后保存退出,重启服务;
在测试:
Sina是不能访问了,再看看能不能访问其他的网站:
成功了,除了sina不能访问外,其他都能成功访问!
我们再看一个基于时间的控制:
格式为;
例如,工作时间周一到周五的上午六点到下午六点不能上网:
然后保存退出;
再测试:
先看一下时间:
当然是按照Squid服务器时间为准:
现在正好不在工作时间:
可以上网,我们改变一下时间:
工作时间被拒绝了!
因为还有很多控制,读者可以自己试试看,我们在看最后一个基于内容的控制:
例如,刚才是工作时间不能上网,先在我们让工作时间可以上网(刚才已经改到工作时间),但不能浏览关于jpg属性的图片:
策略可以这样编写(当然也可用两条语句来写,它相当于http_access allow worktime;
http_access deny badcontent):
在测试:
可以看一下图片的属性:
好了 squid的控制功能就说的这了。