代理服务器和NAT技术

来源:互联网 发布:淘宝领优惠券是真的吗 编辑:程序博客网 时间:2024/06/05 08:34

一、代理服务器

代理服务器是什么
代理服务器(Proxy Server)是一种重要的服务器安全功能,它的工作主要在开放系统互联(OSI)模型的会话层,从而起到防火墙的作用。代理服务器大多被用来连接INTERNET(国际互联网)和Local Area Network(局域网)。
代理,就是代而劳之的意思。代理服务器就是代理网络用户去取得网络信息,形象的说:它是网络信息的中转站,使得一个网络终端和另一个网络终端不直接进行相连,代理网络用户去取得信息。主要工作在OSI的会话层中。
代理请求过程
完整的代理请求过程为:首先客户端与代理服务器创建连接,接着根据代理服务器所使用的代理协议,请求对目标服务器创建连接或者获得目标服务器的指定资源。后一种情况,代理服务器可能对目标资源下载至缓存,如果客户端所要获取的资源在代理服务器的缓存之中,则代理服务器不向目标服务器发送请求,而是返回了缓存的资源。一些代理协议允许代理服务器改变客户端的原始请求、目标服务器的原始响应,以满足代理协议的需要。代理服务器的选项和设置在计算机程序中,通常只包括一个“防火墙“,允许用户输入代理地址,,它会遮盖他们的网络活动,可以允许绕过互联网过滤实现网络访问。
代理服务器主要功能
代理服务器主要是代理网络用户去取得网络信息。形象点就是网络信息的中转站。更重要的是代理服务器是Internet链路级网关所提供的一种重要的安全功能,主要的功能有:

  • 突破自身IP访问限制,访问国外站点。教育网,过去的169网等。
  • 提高访问速度:代理服务器都设置了一个较大的硬盘缓冲区,当有外界的信息通过的时候,同时也将其保存在缓冲区中,当有用户访问相同信息时,则直接返回缓冲区内容,以提高访问速度。
  • 链接内网与Internet,充当防火墙:因为所有的内部网用户通过代理服务器访问外界时,只映射一个IP地址,所以外界不能直接访问到内部网;同时可以设置IP地址过滤,限制内部网对外部的访问权限。
  • 节省IP开销:代理服务器允许大量的伪IP地址,节约上网资源,即代理服务器可以减少对IP地址的需求,对于使用局域网方式接入Internet,如果为局域网内的每一个用户都申请一个IP地址,其费用可想而知。但使用代理服务器只需要代理服务器有一个合法的IP地址,LAN内其他用户可以使用10...*这样的私有IP地址,这样可以节约大量的IP,降低网路的维护成本。
  • 隐藏真实IP:上网者可以通过这种方式隐藏自己的IP,以免受到攻击。
  • 设置用户验证和记账功能,没有登记的用户无权通过代理服务器访问Internet网。并对用户的访问时间、访问地点、信息流量进行统计。

常见代理分类以及各自特点

  • HTTP代理
    www对于每一个上网的人都再熟悉不过了,www连接请求就是采用的http协议,所以我们在浏览网页,下载数据(也可采用ftp协议)时就是用http代理。它通常绑定在代理服务器的80、3128、8080等端口上。
  • socks代理
    Socks 不要求应用程序遵循特定的操作系统平台,Socks 代理与应用层代理、HTTP层代理不同,Socks 代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。所以,Socks代理比其他应用层代理要快得多。它通常绑定在代理服务器的1080端口上。如果您在企业网或校园网上,需要透过防火墙或通过代理服务器访问 Internet就可能需要使用SOCKS。
  • VPN代理
    指在共用网络上建立专用网络的技术。之所以称为虚拟网主要是因为整个VPN网络的任意两个结点之间的连接并没有传统专网建设所需的点到点的物理链路,而是架构在公用网络服务商ISP所提供的网络平台之上的逻辑网络。用户的数据是通过ISP在公共网络(Internet)中建立的逻辑隧道(Tunnel),即点到点的虚拟专线进行传输的。通过相应的加密和认证技术来保证用户内部网络数据在公网上安全传输,从而真正实现网络数据的专有性。

代理服务器原理:

http://www.cnblogs.com/Aiapple/p/5955882.html

二、NAT技术

什么是NAT
NAT的全名:Network Address Translation;即网络地址的转换,用户将访问Internet上公网的私有IP地址转换为合法的共有IP地址。因此我们可以认为,NAT在一定程度上,能够有效的解决公网地址不足的问题。
这里写图片描述
简单地说,NAT就是在局域网内部网络中使用内部地址,而当内部节点要与外部网络进行通讯时,就在网关(可以理解为出口,打个比方就像院子的门一样)处,将内部地址替换成公用地址,从而在外部公网(internet)上正常使用,NAT可以使多台计算机共享Internet连接,这一功能很好地解决了公共 IP地址紧缺的问题。通过这种方法,可以只申请一个合法IP地址,就把整个局域网中的计算机接入Internet中。这时,NAT屏蔽了内部网络,所有内部网计算机对于公共网络来说是不可见的,而内部网计算机用户通常不会意识到NAT的存在。
NAT功能
NAT不仅能解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
1.宽带分享:这是 NAT 主机的最大功能。
2.安全防护:NAT 之内的 PC 联机到 Internet 上面时,他所显示的 IP 是 NAT 主机的公共 IP,所以 Client 端的 PC 当然就具有一定程度的安全了,外界在进行 portscan(端口扫描) 的时候,就侦测不到源Client 端的 PC。
NAT分类
NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat和端口多路复用OverLoad。

  • 静态转换是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。
    动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。
  • 端口多路复用(Port address Translation,PAT)是指改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,Port Address Translation).采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。
  • ALG(Application Level Gateway),即应用程序级网关技术:传统的NAT技术只对IP层和传输层头部进行转换处理,但是一些应用层协议,在协议数据报文中包含了地址信息。为了使得这些应用也能透明地完成NAT转换,NAT使用一种称作ALG的技术,它能对这些应用程序在通信时所包含的地址信息也进行相应的NAT转换。例如:对于FTP协议的PORT/PASV命令、DNS协议的 “A” 和 “PTR” queries命令和部分ICMP消息类型等都需要相应的ALG来支持。
    如果协议数据报文中不包含地址信息,则很容易利用传统的NAT技术来完成透明的地址转换功能,通常我们使用的如下应用就可以直接利用传统的NAT技术:HTTP、TELNET、FINGER、NTP、NFS、ARCHIE、RLOGIN、RSH、RCP等。

NAT服务器和代理服务器的差异

在内部局域网络使用私有 IP 的客户端,不论透过 Proxy 或者 NAT 均可以直接取得 WWW 的服务,那么 NAT 与 Proxy 有没有什么不同的地方啊。

NAT 服务器的功能:就如同第九章提到的数据, Linux 的 NAT 功能主要透过封包过滤的方式, 并使用 iptables 的 nat 表格进行 IP 伪装 (SNAT) ,让客户端自行前往因特网上的任何地方的一种方式。主要的运作行为是在 OSI 七层协议的二、三、四层。由于是透过封包过滤与伪装,因此客户端可以使用的端口口号码 (第四层) 较弹性;
Proxy 服务器的功能:主要透过 Proxy 的服务程序 (daemon) 提供网络代理的任务,因此 Proxy 能不能进行某些工作,与该服务的程序功能有关。 举例来说,如果你的 Proxy 并没有提供邮件或 FTP 代理,那么你的客户端就是无法透过 Proxy 去取得这些网络资源。 主要运作的行为在 OSI 七层协议的应用层部分(所谓的比较“高阶”之意)

NAT 服务器是由较底层的网络去进行分析的工作,至于通过 NAT 的封包是干嘛用的, NAT 不去管他!

至于 proxy 则主要是由一个daemon 的功能达成的,所以必需要符合该 daemon 的需求,才能达到某些功能。

原创粉丝点击