用Squid代理服务实现对校园网数字资源的远程访问
2011-04-01王宇一陈正权
王宇一,陈正权
(江苏信息职业技术学院 现代教育技术中心,江苏 无锡 214153)
随着校园数字化建设的推进,校园网上的数字资源越来越多,广大师生员工对校园网的访问也越来越多,学校各项工作的开展几乎都依赖于校园网.众所周知,校园网上的资源分为两种:一种是面向公众的开放信息,登录到Internet的任何人均可浏览;另一种是仅对校园网内用户开放的内部资源,如期刊数据库、电子图书、精品课程等.对于有数字版权的数字资源要遵守数字版权保护的规定,这就使得学校所购买的数字资源都有IP地址范围的限制访问,即校内用户可使用而校外合法用户却无法使用这些数字资源[1],为此本文提出了一种Squid代理服务技术来解决这个问题.
1 Proxy Server的工作机制
代理服务器是接受网络用户的服务请求,代替网络用户去访问目标服务器,然后将用户所要的信息取回并传送给用户.许多Proxy Sever均具有缓冲功能,且存储空间较大,可将新取的数据不断地储存到代理服务器的Cache中.若其他用户请求的数据在Proxy Server的Cache中已经存在而且是最新的,那么它就不用到目标服务器去取数据,而是将Cache中的数据直接传送给用户,大大地提高了响应速度和浏览效率[2].
本文选用的Squid软件是基于cache(高速缓存)代理服务器软件,它支持多种协议,如HTTP、FTP、SSL等,该软件具有功能强、效率高、响应快、运行稳定和设置简单等优点,只要对配置文件(squid.conf)进行修改即可实现代理功能.
2 Proxy Server的作用
2.1 共享上网,分隔内外网
通过代理服务器共享上网,可加快内网用户的访问速度,解决公网IP的不足,让众多LAN用户共享上网,还可作为Firewall将内外网隔开,并具有监控网络和记录传输信息的作用,而且加强了LAN的安全,方便了上网用户的管理.
2.2 通过代理,加速访问
在网络出现故障或拥塞时,通过Proxy Server访问目标网站,可明显加快访问速度.比如假设甲是代理服务器,乙要访问丙,但乙到丙出现问题,此时乙绕道通过甲,再由甲到丙.此外在代理服务器的缓存文件中存有不少数据,如果当前所访问的数据就在此文件中,那么就直接读取,就不需要去访问远程的WWW服务器,这样就大大加快了访问速度.
2.3 隐藏自己,以防攻击或攻击目标
有了代理服务器,我们可以隐藏自己真实的地址,以防黑客攻击.其实黑客也是经常通过代理服务器来实施各种攻击活动的,比如扫描、刺探,对内网进行渗透等,一般黑客是通过多级跳板中转后来攻击目标机器的,这样就可以隐藏自己的身份,保证自身的安全.
2.4 突破限制,提高速度
对于LAN对上网用户的端口、目标网站、游戏、QQ软件等限制,可以用代理服务器来突破.目前许多站点都提供了下载资源,但有IP地址和线程的限制,为了提高下载速度,突破下载限制,我们可以设置一个线程一个代理,用来突破IP的限制,这样就可通过不同的代理服务器同时从WEB和FTP上下载多个资源.由于用户账号的限制,代理服务器就不能突破论坛里面对资源的限制[3].
2.5 保护私有资源,只允许授权用户访问私有资源
一般防火墙只允许内网访问外网,但禁止外网访问内网,这就造成了合法用户无法从外网访问内网.为此,互联网工作委员会专门制定了RFC1928,即SOCKS v5协议.该协议是位于应用层与传输层之间,它以代理原理为基础,对用户的合法性进行验证,同时给合法用户授予一定的访问权限,这样合法用户就可以访问被保护的内网资源.
3 squid代理服务在远程访问数字资源中的具体应用
现在不少学校都购置了如维普、知网、超星、汇文等数字资源.由于数字版权保护的原因,它们大多采用了访问控制技术,通过限制访问者的IP地址来限制服务的地域范围.例如,在江苏信息学院,要浏览或下载这些资源,必须是校园网用户,否则就不能使用.但有不少教职工希望在家里也能访问这些数字资源.为了满足教职工的要求,我们架设了Squid代理服务器,通过代理服务器的用户身份验证来实现对校园网数字资源的远程访问.在Squid代理服务器上,我们为每一位需求者设置一个账户,通过用户身份验证后,他们在家中只要简单设置即可访问.
3.1 服务器端的安装与配置
3.1.1 Squid的安装
先从http://www.acmeconsulting.it/SquidNT/download.html上下载Squid for Windows版本,然后解压此ZIP文件到C盘的根目录生成一个squid文件夹,即C:squid.接着在命令提示符窗口中运行如下命令:
C:squid>copy c:squidetcsquid.conf.default squid.conf.
3.1.2 Squid的配置
1)配置squid.conf文件
双击打开【我的电脑】,双击打开C:squid文件夹中的squid.conf文件,用文本编辑器对配置文件Squid.conf进行修改,内容如下:
auth_param basic program c:/squid/libexec/ncsa_auth.exe c:/squid/etc/passwd
auth_param basic children 10 #指定认证程序的进程数
auth_param basic realm 苏信院代理 #浏览器窗口弹出输入用户/密码对话框时的显示内容
auth_param basic credentialsttl 10 minute #基本的用户认证有效时间10分钟,超过时间需再次认证
auth_param basic casesensitive off #不区分大小写
acl password proxy_auth REQUIRED #用户需要通过认证才能访问Internet
#定义访问Squid的IP地址、访问列表及其对应的名称
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32 #定义所有来自127.0.0.1/32的机器对应的名称为localhost
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 #http
acl CONNECT method CONNECT
http_access allow manager localhost #允许本地的manager上网
http_access deny manager #不允许非本地的manager上网
http_access deny!Safe_ports #拒绝通过非Safe_ports列表中端口进行http访问
http_access deny CONNECT!SSL_ports #拒绝通过非ssl_ports列表中端口连接进行http请求
http_access allow password #允许认证通过的用户访问
http_access allow all #设置访问控制列表为允许所有客户机访问
http_reply_access allow all
icp_access allow all
http_port 3128 #告诉squid在默认端口3128侦听HTTP请求,也可是http_port 192.168.16.1:3128
icp_port 3130
http_port 80 transparent#做透明代理,使用者不需要在浏览器上做任何配置,只要在 NAT主机上配置即可
cache_peer lib.jsit.edu.cn parent 3128 3130 proxy-only
hierarchy_stoplist cgi-bin?
cache_mem 1024 MB #设置缓存大小为1024MB
cache_dir squidvarsquid 4096 16 256 #设置硬盘缓冲区最大4096MB,16个一级目录,256个二级目录
cache_dir ufs c:/squid/var/cache 8192 16 256
cache_mgr webmaster@jsit.edu.cn #设置服务器管理员邮箱,出错时便于联系
visible_hostname proxy.jsit.edu.cn #如不配置,则在启动squid服务的时候会报错
#设置squid主机名称为proxy.jsit.edu.cn(一般为IP地址),出错时会显示在页面上
coredump_dir c:/squid/var/cache
最后保存对squid.conf配置文件的编辑修改,并关闭此文件.
2)生成squid中所需要的用户认证文件即passwd文件
首先从Apache中找到htpasswd.exe文件,把它复制到C:>squidin中,然后进入到windows命令提示符窗口中,运行如下命令:
C:squidin>htpasswd-c C:squidetcpasswd jsit 第一次生成密码文件要加参数-c
Automatically using MD5 format.
New password:*********
Re-type new password:*********
Adding password for user jsit
C:squidin>htpasswd-b C:squidetcpasswd wangyy 5498 #往passwd文件中增加用户wangyy,密码为5498
3.1.3 Squid的运行启动
配置完毕后在命令窗口中运行如下命令:
c:squidsbin>squid-i #注册squid为windows服务
squid-z #生成高速缓存的目录
squid #启动squid
到此squid服务器就搭建成功并启动运行了.
3.2 客户端的设置
打开Internet Explorer浏览器的任意一个窗口,在IE窗口中依次使用菜单:“工具”菜单→“Internet选项”菜单项→“连接”选项卡,然后针对不同的用户进行不同的设置.
3.2.1 ADSL拨号用户
在“拨号与虚拟专用网络设置”下面选择所用的拨号连接,(此连接名称是你自己命名的,演示使用的是江苏信息),点击【设置(S)…】按钮,选择“对此连接使用代理服务器”,输入IP地址(或域名)和端口号.
3.2.2 使用路由器的ADSL用户或LAN用户
在“连接”选项卡窗口中,点下方的【局域网设置(L)…】,在弹出的窗口中的“代理服务器”选项下面输入IP地址(或域名)和端口号.
最后设置完成后,再次打开网页时,代理服务器系统会要求输入密码,例如用户名:jsit密码:******,这样即可进入校园网,和校内用户一样,使用内网的数字资源了.
4 结束语
Squid代理服务器安装调试结束就投入了使用,并在校园网内发布了其使用方法,由于这种方法无需安装客户端软件,客户端的设置也很简单,教职工很快就掌握了使用方法,满足了教职工在校外使用数字资源的需求,因此,利用Squid代理服务来实现对校园网数字资源的远程访问具有一定的实用价值.
[1]李默,杨彬.Squid技术在图书馆电子资源远程访问中的应用[J].科技情报开发与经济,2007,17(31):11-13.
[2]任瑶.代理服务器在访问电子资源方面的应用[J].图书馆学研究,2004(12):26-28.
[3]焦煜.用Squid实现网外用户对局域网的访问[J].福建电脑,2006(7):162-167.