网络技术实验 代理服务器的架设
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
深圳大学实验报告课程名称:计算机网络技术
实验名称:代理服务器的架设
学院:
专业:班级:
组号:指导教师:
报告人:学号:
实验地点:实验时间:
实验报告提交时间:
教务处制
图一
图二
图三测试深圳大学网站
认证
用户/密码认证为Squid管理提供了更多便利,最常用的认证方式是NCSA。从Squid 2.5版本开始,NCSA认证包含在了basic中,而非以前单独的认证模块。下面来看看实现认证的具体操作。
首先需要借助Apache的密码管理程序htpasswd来生成用户名/密码对应的文件,就像下面这行代码:
以下是代码片段:
htpasswd -c C:/passwd/password guest
在输入两遍guest用户的密码后,一个guest用户就生成了。如果以后需要添加用户,把上面的命令去掉-c参数再运行即可。
Squid 2.5在认证处理上有了较大的改变,这里就只讨论2.5版本的处理方法,2.4及以下版本请参考squid.conf.default。在2.5版的squid.conf中,包括以下几个相关选项:
通过以上的配置即可完成认证工作。有的读者可能要问:认证只针对普通用户,而高级用户是直接上网的,该怎么处理呢?其实,这两种用户是可以共存的。如前所述,Squid是顺序处理http_access的,所以在http_access处理过程中,如果先处理normal用户,那么当前用户无论是否属于高级用户,都会被要求进行认证;相反如果先处理高级用户,剩下的就只有需要认证的普通用户了。例如以下配置代码:
以下是代码片段:
...
http_access allow normal (需要认证)
http_access allow advance (不需要认证)
...
不管是否为noauth用户,都要求进行用户名/密码验证。正确的方法是将二者位置交换,代码如下:
以下是代码片段:
...
http_access allow advance
http_access allow normal
...
这时,高级用户不会受到任何影响。
总结
下面把整个squid.conf总结一下:
以下是代码片段:
# 服务器配置
http_port 192.168.0.1:3128
cache_mgr netsnake@
cache_dir null /tmp
cache_access_log /var/squid/access.log
cache_log /var/squid/cache.log
cache_store_log /var/squid/store.log
visible_hostname No1.proxy
client_mask 255.255.255.255
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_user_host_header on
# 用户分类
acl advance arp 00:01:02:1f:2c:3e 00:01:02:3c:1a:8b ...
acl normal proxy_auth REQUIED
acl all src 0.0.0.0
# 行为分类
acl mmxfile urlpath_regex \.mp3\\$ \.avi\\$ \.exe\\$
acl conncount maxconn 3
acl worktime time MTWHF 8:30-12:00 14:00-18:00
acl sinapage dstdomain
acl qq dstdomain