代理服务器(Proxy Server)是一种重要的服务器安全功能,它的工作主要在开放系统互联(OSI)模型的会话层,从而起到防火墙的作用。代理服务器大多被用来连接INTERNET(国际互联网)和Local Area Network(局域网)。
代理(英语:Proxy),也称网络代理,是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。一些网关、路由器等网络设备具备网络代理功能。一般认为代理服务有利于保障网络终端的隐私或安全,防止攻击。[1]
提供代理服务的电脑系统或其它类型的网络终端称为代理服务器(英文:Proxy Server)。一个完整的代理请求过程为:客户端首先与代理服务器创建连接,接着根据代理服务器所使用的代理协议,请求对目标服务器创建连接、或者获得目标服务器的指定资源(如:文件)。在后一种情况中,代理服务器可能对目标服务器的资源下载至本地缓存,如果客户端所要获取的资源在代理服务器的缓存之中,则代理服务器并不会向目标服务器发送请求,而是直接返回缓存了的资源。一些代理协议允许代理服务器改变客户端的原始请求、目标服务器的原始响应,以满足代理协议的需要。代理服务器的选项和设置在计算机程序中,通常包括一个“防火墙”,允许用户输入代理地址,它会遮盖他们的网络活动,可以允许绕过互联网过滤实现网络访问。[1]
代理服务器英文全称是(Proxy Server),其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站。代理服务器就好象一个大的Cache,这样就能显著提高浏览速度和效率。更重要的是:Proxy Server(代理服务器)是Internet链路级网关所提供的一种重要的安全功能,主要的功能有:[1]
突破自身IP访问限制,访问国外站点。教育网、过去的169网等
网络用户可以通过代理访问国外网站。
访问一些单位或团体内部资源,如某大学FTP(前提是该代理地址在该资源 的允许访问范围之内),使用教育网内地址段免费代理服务器,就可以用于对教育网开放的各类FTP下载上传,以及各类资料查询共享等服务。
突破中国电信的IP封锁:中国电信用户有很多网站是被限制访问的,这种限制是人为的,不同Serve对地址的封锁是不同的。所以不能访问时可以换一个国外的代理服务器试试。
提高访问速度:通常代理服务器都设置一个较大的硬盘缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时, 则直接由缓冲区中取出信息,传给用户,以提高访问速度。
隐藏真实IP:上网者也可以通过这种方法隐藏自己的IP,免受攻击。
鉴于上述原因,代理服务器大多被用来连接INTERNET都是独立的大型
(国际互联网)和INTRANET(局域网)。在国内,所谓中国多媒体公众信息网和教育网都是独立的大型国家级局域网,是与国际互联网隔绝的。出于各种需要,某些集团或个人在两网之间开设了代理服务器,如果我们知道这些代理服务器的地址,就可以利用它到达国外网站。[1]
(1)设置用户验证和记账功能,可按用户进行记账,没有登记的用户无权通过代理服务器访问
Internet网。并对用户的访问时间、访问地点、信息流量进行统计。[1]
(2)对用户进行分级管理,设置不同用户的
访问权限,对外界或内部的Internet
地址进行过滤,设置不同的访问权限。[1]
代理服务器流程图
(3)增加缓冲器(Cache),提高访问速度,对经常访问的地址创建
缓冲区,大大提高热门站点的访问效率。通常代理服务器都设置一个较大的硬盘
缓冲区(可能高达几个GB或更大),当有外界的信息通过时,同时也将其保存到
缓冲区中,当其他用户再访问相同的信息时,则直接由
缓冲区中取出信息,传给用户,以提高访问速度。[1]
(4)连接
内网与Internet,充当
防火墙(Firewall):因为所有
内部网的用户通过代理服务器访问外界时,只映射为一个
IP地址,所以外界不能直接访问到内部网;同时可以设置IP地址过滤,限制内部网对外部的
访问权限。[1]
(5)节省IP
开销:代理服务器允许使用大量的伪IP
地址,节约网上资源,即用代理服务器可以减少对IP地址的需求,对于使用局域网方式接入Internet ,如果为局域网(LAN)内的每一个用户都申请一个IP地址,其
费用可想而知。但使用代理服务器后,只需代理服务器上有一个合法的IP
地址,LAN内其他用户可以使用10.*.*.*这样的私有IP地址,这样可以节约大量的IP,降低网络的维护成本。[1]
HTTP代理
www对于每一个上网的人都再熟悉不过了,www连接请求就是采用的
http协议,所以我们在浏览网页,下载数据(也可采用ftp协议)时就是用
http代理。它通常绑定在代理服务器的80、3128、8080等端口上。[1]
socks代理
相应的,采用socks协议的代理服务器就是
SOCKS服务器,是一种通用的代理服务器。Socks是个电路级的底层
网关,是DavidKoblas在1990年开发的,此后就一直作为Internet RFC标准的开放标准。Socks 不要求
应用程序遵循特定的
操作系统平台,Socks 代理与
应用层代理、
HTTP层代理不同,Socks 代理只是简单地传递数据包,而不必关心是何种
应用协议(比如FTP、HTTP和NNTP请求)。所以,
Socks代理比其他
应用层代理要快得多。它通常绑定在代理服务器的
1080端口上。如果您在
企业网或校园网上,需要透过
防火墙或通过代理服务器访问 Internet就可能需要使用SOCKS。一般情况下,对于拨号上网用户都不需要使用它。注意,浏览网页时常用的代理服务器通常是专门的
http代理,它和SOCKS是不同的。因此,您能浏览网页不等于 您一定可以通过SOCKS访问Internet。常用的
防火墙,或代理
软件都支持SOCKS,但需要其
管理员打开这一功能。如果您不确信您是否需要SOCKS或是否有SOCKS可用,请与您的网络管理员联系。为了使用socks,您需要了解一下内容:[1]
② SOCKS服务所在的端口
知道了上述信息,您就可以把这些信息填入“网络配置”中,或者在第一次登记时填入,您就可以使用
socks代理了。[1]
在实际应用中SOCKS代理可以用作为:
电子邮件、新闻组
软件、网络传呼ICQ、网络聊天MIRC和使用代理服务器上联众打游戏等等各种游戏
应用软件当中。[1]
VPN代理
指在共用网络上建立
专用网络的技术。之所以称为
虚拟网主要是因为整个VPN网络的任意两个结点之间的连接并没有传统专网建设所需的点到点的物理
链路,而是架构在公用网络服务商ISP所提供的网络平台之上的
逻辑网络。用户的数据是通过ISP在公共网络(Internet)中建立的逻辑
隧道(Tunnel),即点到点的虚拟专线进行传输的。通过相应的加密和认证技术来保证用户内部
网络数据在公网上安全传输,从而真正实现网络数据的专有性。[1]
反向代理
反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量。 安装反向代理服务器有几个原因:
加密和SSL加速
负载平衡
缓存静态内容
压缩 减速上传
安全 外网发布
RTSP代理:代理客户机上的Realplayer访问Real
流媒体服务器
POP3代理:代理客户机上的邮件
软件用POP3方式收发邮件
路由问题分析
配置服务器的RAS服务和拨号网络后,进行
拨号连接。此时的代理服务器中相当于存在两块接口卡,即
服务器(6张)
一个网卡和一个
调制解调器,可以把它看作是一个
路由器,为客户和外界提供路由转发功能,因此必须查看并调整服务器的
路由设置,以保证服务器与客户的正常通讯。
拨号前服务器路由表(表1):
NETWORK ADDRESS NETMASK GATEWAY ADDRESS INTERFACE METRIC
-
0.0.0 0.0.0.0.0 10.119.40.254 10.119.40.49 1
拨号后服务器路由表(表2):
NETWORK ADDRESS NETMASK GATEWAY ADDRESS INTERFACE METRIC
-
0.0.0.0 0.0.0.0 10.119.40.254 10.119.40.49 2
-
0.0.0 0 0.0.0.0 10.18.168.168 10.18.168.168 1
其中10.18.168.168为INTERNET服务器分配给本拨号网络(
调制解调器)的IP
地址。经对比表1和表2,在拨号前后的
缺省路由有了变化。分析这一现象,主要是由于在服务器中“拨号网络”,“TCP/IP设置”的选项中,选择了“使用拨号网络的
默认网关”的缘故,这样服务器每次向10.119.40.0网段的客户发送信息都首先经过10.18.168.168的
地址。当网络上的客户
要求访问INTERNET站点时,每次都要通过局域网到NT服务器,然后至MODEM。所以必须保障客户机与服务器的正常连通,使
路由过程通过10.119.40.49局域网
网卡进行。应用
PING命令进行检测,服务器可以PING通客户机,而客户机PING服务器时出现超时(TIME OUT)。这一现象表明由于代理服务器的
默认路由发生了变化,从而使客户与服务器的连通首先要经过10.18.168.168来转发。解决这一问题须做以下设置,假设某客户所在网段为122.103.1.0,SUBMASK:255.255.255.0,需向路由表中填加指定项目,即执行命令ROUTE ADD 122.103.1.0 255.255.255.0 10.119.40.49。其中10.119.40.49为NT服务器的网卡IP
地址,再查看服务器路由表如下:
NETWORK ADDRESS NETMASK GATEWAY ADDRESS INTERFACE METRIC
-
0.0.0 0.0.0.0 10.119.40.254 10.119.40.49 2
-
0.0.0 0.0.0.0 10.18.168.168 10.18.168.168 1
-
103.1.0 255.255.255.0 10.199.40.254 10.119.40.49 1
进一步分析,我们还可以通过修改默认路由的方法来达到我们的目的,即使用ROUTE ADD 0.0.0.0 0.0.0.0 10.119.40.49 1 IF METRIC=2
使路由表设置为:
NETWORK ADDRESS NETMASK GATEWAY ADDRESS INTERFACE METRIC
-
0.0.0 0.0.0.0 10.119.40.254 10.119.40.49 1
作为特殊情况,我们分析一下局域网
远程用户的
路由问题。在局域网中存在远程用户,它们通常经过专用的通讯线路与局域网连接,如果它们试图通过代理服务器访问INTERNET,必须在NT服务器上配置路由表。由于这类远程用户访问INTERNET需要经过2次拨号服务,在PROXY代理服务器上直接的
路由设置尤其必要。如上所述,局域网的客户还可以通过修改默认路由的方法使服务器和客户连通。对于远程客户则不然,必须直接设置代理服务器的路由。假设远程用户(拨号
网络服务器)所在的网段为122.100.1.0,SUBMASK:255.255.255.0,须加入
路由:ROUTE ADD 122.100.1.0 255.255.255.0 10.119.40.49,才能保证远程用户的直通性。否则,在客户拨通局域网时,远程客户机能PING通网上其它所有的设备,惟独PING NT服务器时超时错误。这说明代理服务器的默认路由此时并没有起作用。[1]
常用端口:
在 Internet 上的每一台
主机(Hosts)都有唯一的一个
地址(IP),但同一台主机可能同时提供一种以上的服务,比如
FTP服务、
WWW服务等等,那么每一种服务就要占用该主机的一个端口(PORT)。[1]
HTTP代理:80/8080/3128/8081/9080
SOCKS代理:1080
FTP代理:21
Telnet代理:23