192.168.1.1-路由器设置 > 路由器设置 > 192.168.0.1 >

基于IP Filter的NAT透析(图(2)

文章摘要

图3-2嗅探器捕获的内网访问外网web服务器的数据报 ②对方确认阶段(SNYACK第二次握手):外网WEB服务器接收到了以202.115.65.225为源地址的连接请求,所以它会自动发会一个SYN连接请求并捎带一个ACK确认数据报,这个请看如下

 

  

  图3-2嗅探器捕获的内网访问外网web服务器的数据报

  ②对方确认阶段(SNYACK第二次握手):外网WEB服务器接收到了以202.115.65.225为源地址的连接请求,所以它会自动发会一个SYN连接请求并捎带一个ACK确认数据报,这个数据报将被防火墙外网卡rl1接收,防火墙收到后分析IP包的端口号并从临时路由表中计算出该数据该转发到哪一个客户机,当然在我们的例子中它会把该数据报发还给192.168.0.3的客户机,正如图3-2②所示。

  ③连接的最后确认(ACK第三次握手):内网客户机收到WEB服务器的ACK+SYN数据报

  后认为连接已经成功了,然后发送最后一个确认数据报给对方,防火墙对该数据报的处理步骤同①。

  ④发送HTTP连接请求:客户机发送的第一个携带HTTP数据的包从这里开始,第一个数据报是HTTP连接请求。

  ⑤WEB服务器回复数据报:WEB服务器顺利接收到HTTP请求马上给予回复的数据报,数据报如果标号是200则表示HTTP连接正常,接下来就可以把对方请求的WEB页传给客户机。

  完成了的5个过程,一个对用户透明的HTTP连接就建立了起来,对于客户端的用户来说,好像是直接连接到WEB服务器上去的,这都有赖于IPnat的功劳。

  3.2用rdr指令实现NAT转换

  为了让外网的客户机可以通过IP202.115.65.225访问到位于内网中的web、mail、Ftp服务器,IPnat的rule相应的设置为:

  rdrrl1202.115.65.225/32port80->192.168.0.221port80

  rdrrl1202.115.65.225/32port21->192.168.0.251port21

  rdrrl1202.115.65.225/32port25->192.168.0.251port25

  rdrrl1202.115.65.225/32port110->192.168.0.251port110

  这条规则从字面上也很好解释,rdr是rewritesdestinationaddresses的意思,其功能是把防火墙上接收到的数据报改变目的地址(转发)到另外的一台或多台主机上,的指令可以解释为,把rl1(外网卡)上接收到的数据报按照指定的端口转发到指定的位于内网的服务器上,80、21、25、110分别代表web、Ftp、smtp和pop3服务,所以这四条指令会把外网对防火墙的web、Ftp和mail请求转发到IP为192.168.0.251内网服务器上,下面以web服务为例来分析其工作流程。

  如图3-3所示,IP地址为202.115.65.38的客户端欲用IP地址202.115.65.225访问位于局域网内部的IP地址为192.168.0.221的WEB服务器,连接过程如下:

  

  图3-4从外网客户机上捕获的数据报

  ①发起连接阶段(SYN):客户机202.115.65.38建立临时端口1123发起对202.115.65.225的80(http)端口的连接请求。该连接请求被传送到了防火墙的外网卡rl1上,按照前面设置的IPnat的规则,防火墙会把在rl1上对80端口的请求数据报要改变其目的地址为192.168.0.221后转发给目的主机。

  ②服务器确认阶段(SYNACK第二次握手):对于位于内网的web服务器来说,虽然它收到的HTTP连接请求是防火墙转发给它的,但是转发过程没有改动IP数据包的头信息,仅仅改动了数据链路层的地址信息,所以它以为请求是直接从202.115.65.38上发出的,因此它会立刻给202.115.65.38发确认数据报,这个过程其实等于202.115.65.38是外网服务器,192.168.0.221是内网客户端,数据报的转发过程和我们上一节讨论的map机制完全一样,数据报会透明地被转发到202.115.65.38,只不过数据报的源IP地址被防火墙改为了202.115.65.225,如果没有设置前面的map规则,数据包将无法回送,连接会失败告终。从图3-4的第2步我们可以清晰看到外网客户端接收到了返回的确认数据报。

  ③连接的最后确认(ACK第三次握手):外网客户端回送确认数据报给内网web服务器,这个过程和第一步类似不再详述。

  ④-⑤是HTTP连接建立,和上一节类似。

  3.3用bimap指令实现NAT转换

  bimap指令可以说是map指令的增强版,map实现的是单向映向,而bimap能够实现双向的同时映向,它其实实现了rdr+map的功能,其主要应用到你想把所有的外部请求都转换到内网的一台服务器上或几台运行相同服务的负载均衡服务器群上。比如提到的案例中的192.168.0.251是一个身兼多职的综合服务器,设置如下bimap规则后对外部来说202.115.65.225就等同于192.168.0.251,对202.115.65.225的web、mail、DNS、telnet等等访问会一股脑地发给192.168.0.251,用rdr来实现同样的效果则必须每个服务作一个转换。

  bimaprl1192.168.0.251/32->202.115.65.225/32

  bimaprl1202.115.65.225/32->192.168.0.251/32

  在我的试验中,两个规则都能达到同样的效果,这也充分的说明了该指令执行的是双向的映射。虽然bimap使用起来如此简单,但是bimap并没有被广泛使用,原因非常简单,因为它只能把外部数据报转到内网的一台主机上(负载均衡服务器群组其实相当于一台服务器),如果想把web、Ftp、email服务器分别让两台以上的主机充当用bimap将无法做到,所以rdr被广泛推崇和采纳。

  由于前面已经比较详尽的分别分析了rdr和map的工作机理,对于bimap来说就是rdr和map的组合,所以本文将不做详细介绍。

  四、案例需求的实现

  4.1需求一的实现

  案例的需求一是让子网192.168.0.0/24中的所有电脑可以借助网关192.168.0.1透明地访问互联网。这其实是IPnat的最基本的功能,的已经做了详尽的分析,rules设置如下:

  maprl1192.168.0.0/24->202.115.65.225/32portmaptcp/udp10000:39999

  maprl1192.168.0.0/24->202.115.65.225/32

  4.2需求二的实现

  案例需求二是要实现外网的客户机可以透明地可以访问IP地址为192.168.0.251的多功能服务器(Web、Email、Ftp服务)和IP地址为192.168.0.2的文件兼打印服务器。这其实也是IPnat的基本功能,rules设置如下:

  rdrrl1202.115.65.225/32port80192.168.0.251port80\\web

  rdrrl1202.115.65.225/32port21192.168.0.251port21\\Ftp

  • 共3页:
  • 上一页
  • 1
  • 2
  • 3
  • 下一页
  • 分享到:

    tags:192.168.0.25

    最近更新-关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明
    CopyRight2009-2011 All Rights Reserved 192.168.1.1 路由器设置jmqy.com