用代理服务器联通网络

2017-11-23 08:36
网络安全和信息化 2017年6期
关键词:代理服务器日志总部

笔者单位组织架构进行了调整,总部直接管理三级单位,取消了中间的二级单位。

与此同时,为了解决组织架构扁平化给总部带来的管理难题,单位决定新上一套管理信息系统,该系统采用了B/S架构,服务器架设在总部,各三级单位通过内网直接访问服务器。

但目前单位的网络存在着一个问题:该内网是VPN专网,VPN设备配置为按层级联通,即三级单位只能与二级单位通讯 ,二级单位只能与总部通讯。要部署新的管理信息系统,必须解决三级单位与总部的通讯问题。

最好的解决方法是调整VPN设备的设置,各三级单位直接和总部联通。但经测试后,发现该VPN设备性能有问题,当总部连接的VPN设备达到一定数量时,会出现各种网络中断问题,这种方法不可行。

还有一个办法就是更换VPN设备,但需要大量的经费,而且也不是短时间能解决的。

为解决燃眉之急,笔者想到了既然改变目前的网络架构不可行,那能否在二级单位对三级单位的通信进行中转,间接实现三级单位对总部的通讯。

基于这个想法,经研究,笔者在二级单位的服务器上安装代理服务器软件,各三级单位通过代理服务器访问总部,成功的解决了问题。

代理服务器(Proxy Server)是介于浏览器和Web服务器之间的一台服务器。其功能就是代理网络用户取得网络信息,也就是说它是网络信息的中转站。

代理服务器主要有三个作用:充当防火墙、节省IP地址和提高访问速度。

在本案例中,主要应用代理服务器的防火墙和提高速度的功能,通过代理服务器,将三级单位的IP地址映射为二级单位的IP地址,从而绕开了VPN设备的限制。而且经过代理服务器缓存后,降低了总部服务器的负载,提高了三级单位的访问速度。

常见代理服务器主要有以下类型:HTTP代理、FTP代理、POP3代理、SOCKS代理。

在本案例中,新上线的信息系统是标准的WEB应用,使用HTTP代理和SOCKS代理都可以达到目的,HTTP代理配置简单,SOCKS代理有性能优势,考虑到用户端的配置难度,本案例选择了HTTP代理。

常用的代理服务器软件有国外的 Squid、Sygate、WinGate,国内的CCproxy等。这些软件都支持HTTP代理,能满足需求,考虑到软件版权问题,选用了开源代理服务器软件Squid。

Squid是一款高性能的代理服务器软件,很多商业版本的代理服务器都是基于Squid进行开发的。Squid支持正向代理、反向代理等代理模式,支持HTTP、FTP和SSL等协议。Squid官方版只支持Unix/Linux,但一些爱好者提供了Windows的版本,扩大了应用面。

下面就以Squid 2.7 For Windows为例介绍Squid 的简单设置。Squid 2.7 For Windows是Squid常用的稳定版本,最新的STABLE8版本发布于2010年3月,支持从Windows NT 4.0到Windows 2008 Server等版本的操作系统。具体安装配置方法如下:

1.下载程序包

从http://squid.acmeconsulting.it/download/squid-2.7.STABLE8-bin.zip下载Squid安装包,然后将安装包解压至C盘根目录。

注意,Squid的默认安装目录是C:squid,最好不要更改这个目录,不然要大量修改配置文件,比较麻烦。

2.重命名etc文件夹下的配置文件

进入C:squidetc文件夹,这个文件夹存放squid的配置文件。复制squid.conf.default并重命名为 squid.conf,复 制 mime.conf.default重命名为mime.conf,复制 cachemgr.conf.default并重命名为cachemgr.conf。

图1 “连接”选项卡

3.修改squid.conf文件相关配置

使用记事本打开squid.conf修改相关配置。squid.conf采用了常用的Linux配置方式,每一行从配置指令开始,后面跟着数值或关键字。该文件中包含了大量以#开头的注释。

注意,和windows下的习惯不一样,squid.conf中的内容是大小写敏感的。

使用查找功能查找http_access deny all行,修改为http_access allow all。此行定义允许所有IP地址的用户通过squid访问HTTP端口,此处为方便开放了所有地址,为提高安全等级,可以定义详细的访问控制策略。

其他用缺省值,保存文件。

4.启动squid

进入命令行cmd窗口,进入C:squidsbin目录,运行以下命令。

C:squidsbin>squid-z

此命令生成缓存目录,此命令只需运行一次,下次启动squid时不用运行。

C:squidsbin>squid-k parse

此命令分析squid.conf,如有配置错误,则会提示错误,如果没有错误信息则说明配置文件无误,可以启动squid。

C:squidsbin>squid-d1

以调试模式运行squid,如在输出的信息中看到Ready to serve requests,说明服务运行正常。

现在squid已经可以提供服务了。下面以Internet Explore 8浏览器为例进行配置,其他浏览器可以参考此设置。

打 开IE8菜 单“工具-->Internet选项”弹出Internet选项配置窗口,选择“连接”选项卡,如图1。

点击“局域网设置”,弹出“局域网(LAN)设置”窗口,如图2。地址处输入代理服务器地址,端口为squid默认的3128。如果要设置访问本地地址的服务器时不使用代理服务器,选中“跳过本地地址的代理服务器”,然后“高级”中具体配置即可。

以上的配置只是squid的简单应用,仅供测试用。如果正式部署使用,还应在squid.conf中修改一些配置,设置缓存大小,缓存目录、日志目录等参数。具体如下:

1.为防止C盘空间不足,影响windows运行,将缓存文件和日志文件存放到C盘以外的其他磁盘。本案例建立d:squidvar目录,在var目录下建立logs和cache目录,其中logs目录用于存放日志,cache目录用于存放硬盘缓存数据。

2.查找# cache_mem 8 MB,修改为 cache_mem 1024 MB。此行定义缓存Squid使用1G内存作为缓存,该参数应在内存允许的情况下尽量地设置的大一些以提高代理服务器性能。

图2 “局域网(LAN)设置”窗口

此行设置cache_dir地址和磁盘缓存参数,第一个数字参数不能小于cache_mem设置的大小,否则运行squid-z时会有警告信息“WARNING cache_mem is larger than total disk cache space!”。

ufs是squid的一种存储格式,d:/squid/var/cache是缓存目录,2048表示使用2G磁盘空间作为缓存,16,256表示第一级和第二级目录的数量。

如果修改了此行参数需运行squid-z来重新生成缓存目录。

此行设置客户端访问代理服务器的日志文件为d:/squid/var/logs/access.log,日志格式为squid。该日志记录了代理服务器的活动情况,包含所有的HTTP或者ICP请求。

此行设置缓存状态日志文件为d:/squid/var/logs/cache.log。

此行设置存储缓冲对象的状态日志文件为d:/squid/var/logs/store.log。

7.在Windows下,可将squid安装为服务,启动自动运行命令:

9.Squid自带客户端管理工具,可查看squid服务器的详细运行信息和管理squid服务器,在维护中有很大的作用,常见命令为:C:squidin>squidclient mgr:info

此命令可查看Squid运行状态信息

此命令可查看Squid内存使用情况

此命令可以清除某个指定url的缓存。

猜你喜欢
代理服务器日志总部
一名老党员的工作日志
扶贫日志
RAYDATA总部办公室
地铁信号系统中代理服务器的设计与实现
雅皮的心情日志
Bloomberg欧洲新总部
Adobe总部改造
IP地址隐藏器
游学日志
Dave&Bella办公总部