Squid代理服务器应用案例-多出口多用户认证上网_第1页
Squid代理服务器应用案例-多出口多用户认证上网_第2页
Squid代理服务器应用案例-多出口多用户认证上网_第3页
Squid代理服务器应用案例-多出口多用户认证上网_第4页
Squid代理服务器应用案例-多出口多用户认证上网_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【51CTO垄断特辑】最近,朋友迎来了一个小项目,顾客想在美国的机械室租几台服务器,在那里制作互联网用的代理服务器,在国内使用。 具体的需要如下:1、客户这个服务器有多个出口ip地址2、客户想通过认证方式使用代理服务器连接互联网3、客户希望通过不同的认证用户从不同的出口ip访问网络4 .隐藏代理信息,隐藏真实的因特网ip这个客户的需求相当明确,根据上面的列表,道理也很清楚。 本文的目的是介绍笔者实现这一需求的想法和步骤。看看我设计的逻辑图。如图所示,红色用户1通过红色出口ip1接入互联网,绿色用户2通过绿色出口ip2接入互联网,用户3和用户4通过同一相应颜色的出口接入互联网。然后,根据上述的需要,一个一个地进行分解。一、需求分析1 .服务器具有多个出口ip地址这什么也说不出来。 客户的出口ip如下2 .使用认证方式使用代理服务器连接互联网这里使用squid的认证功能。 squid的认证功能的大分类为basic_auth、digest_auth、external_acl、negotiate_auth、ntlm_auth种(注: squid-2.7.STABLE9版本),在各大分类下为n笔者这里介绍的是NCSA的方式,该认证方式与apache的auth认证方式相似,用用户名密码进行认证,密码文件也用htpasswd程序制作。 具体的结构将在后面说明。3 .实现由不同的认证用户从不同的出口ip访问网络首先,实现不同的出口ip接入网络主要通过squid的tcp_outgoing_address部署来实现,该参数可以根据source ip和用户名来分配不同的出口ip。这样,与第二种需求的用户认证结合起来,就能实现第三种需求。 具体结构将在后面叙述。4 .隐藏代理信息,隐藏真实的因特网ip这个需求应该考虑很多人使用哪个轮廓,对,是squid的名为header_access的参数。 主要隐藏HTTP_VIA、VIA、x-for。 具体的结构将在后面说明。二、设置配置首先,下载squid安装软件包(下载地址)。 笔者在这里使用的是2.7 STABLE9,操作的当前目录是/tmp,以下目录都是基于这个目录的。 squid源文件的路径是/tmp/squid-2.7.STABLE9.tar.gz安装步骤如下tarzxvfsquid-2.7.stable9. tar.gzcd squid-2.7.STABLE9./configure -prefix=/usr/local/squid- enable-async-io=320- enable-icmp- enable-delay-pools- enable-kill-parent-hack- enable-SNMP- enable-ARP-ACL -。 s- enable-removal-policies=heap LRU- enable-default-err-language=simplify _ Chinese- enable-x -加速器- vary- enable - threads=320- with-pthreads- with-dl- with-maxfd=65536- enable-basic-auth-helpers=db,ncsa- enable-digest-auth-hellmake生成安装如果以上步骤没有错误,squid已正确安装。下一步执行CD/usr /本地/squid /# (以后的所有操作都在此目录中执行。)grep-v # etc/squid.conf.default|uniqletc/squid.conf将创建一个没有注释的配置文件。接下来,编辑该文件vi etc/squid.conf编辑内容修改如下:是20 ACL连接方法连接2122 http _ accessallowmanagerlocalhost这两行的中间有include /usr/local/squid/etc/auth.conf。 稍后将详细讨论auth.conf文件的内容。是32 icp_access deny all3334 http_port 3128这两行中间加入: always_direct allow all表示允许转发所有ip请求。删除49 broken _ vary _ encodingallowapache行之后的所有内容,并添加以下内容forwarded_for off隐藏x-for标头header_access HTTP_VIA deny all隐藏HTTP_VIA标头header_access VIA deny allVIA隐藏磁头cache_effective_group daemon设定squid执行用户组,在此使用系统附带的daemon用户组.cache_effective_user守护进程设定执行squid的用户,在此使用附属于系统的daemon用户.visible _ hostname测试#您可以自己更改设置错误页上显示的服务器名称cache _ dir aufs/usr /本地/squid/cache 10016256可以设置squid高速缓存,自己调整cache_store_log none关闭store.log如果有更改,保存并退出。然后创建auth.conf。VI/usr /本地/squid/etc/auth.conf输入以下内容:设定与认证相关的配置内容,指定密码文件1 auth _ parambasicprogram/usr /本地/squid/libexec/ncsa _ auth/usr /本地/squid/etc/passwd2设置2 auth_param basic children 10 #认证子进程数3 auth _ parambasiccredentialsttl2hours #认证有效期间的设定4 auth _ parambasiccasesensitiveoff #设置是否区分大小写5#以下三行分别定义了三个用户组。 每个用户组都指定了一个用户文件。6 ACL用户组1代理_ auth /usr /本地/squid/etc/IP 1用户7 ACL用户组2代理_ auth/usr /本地/squid/etc/ip2用户8 ACL用户组3代理_ auth/usr /本地/squid/etc/IP 3用户9#以下三个允许这三组用户访问网络10 http _ access allow用户组111 http _ access allow用户组212 http _ access allow用户组313#这三个用于分配哪个组的用户走哪个出口ip14t CP _ outgoing _地址用户组115 TCP _ outgoing _ address 用户组216t CP _ outgoing _ address 用户组3编辑完成后,保存退出。然后,创建用户文件、VI/usr/local/squid/etc/IP 1用户,填写以下内容用户1用户2保存结束。 此处对用户数量没有限制,每个用户名占用一行。如果最初没有那么多用户,建议您使用touch命令创建文件。 否则,启动squid时会发生错误。接下来,创建用户的密码文件。 要第一次创建密码文件,请使用以下命令htpasswd-CB/usr /本地/squid/etc/passwd用户111111倒数第二个字段是用户名,最后一个字段是用户密码如果您以前创建过密码文件,请使用以下命令。htpasswd-b/usr /本地/squid/etc/passwd用户211111命令解释同上。迄今为止,轮廓等相关工作基本完成。 对squid的初始化进行说明。首先,mkdir cache创建cache目录然后运行chown -R daemon.daemon以更改当前目录和所有子目录的所有者和所属组。 笔者在这里使用了系统自己的守护程序用户和组。完成这些作业后,执行sbin/squid -z来初始化squid,如果没有错误消息,即使初始化作业完成,下一步也可以启动squid服务。 启动命令是sbin/squid -ND然后,通过以下命令确认3128端口是否启动netstat -ln|grep 3128发生以下情况时,表示squid服务正在正常运行TCP 03336503: * listen到目前为止,支持用户认证的多出代理服务器已完全部署,请立即打开浏览器,配置代理服务器进行测试。 浏览网页后,确认是否显示验证提示。您还可以登录到proxy checker工具网站,查

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论