“一站双挂”组网设计原则探讨
关键词:保留地址,路由,地址翻译,防火墙,网关,域名体系
1999年广东电信在信息站点品牌上将重点突出“世纪视聆通21CN”的主题,并要求全省各地
在10月份之前必须实现视聆通与CHINANET主站点的合并,即同一个站点同时连接到视聆通169网与CHINANET163网上。广州市电信局所属的广州168站点(gz168.net),作为省内第一个
同时连接163与169网的站点,在网络构建设计原则上已经积累了相当多的经验。下面就这个
问题与大家探讨“一站双挂”的网络设计原则。
一个信息服务站点要同时连接两个网络,使这两个网络的用户同时可以访问到,首先必须具
备以下条件:
物理连接:该站点必须有连接至两个网络的物理数据传输链路。
网络地址:该站点在这两个不同的网络上,必须拥有不同的IP地址。
域名体系:该站点的主机在这两个不同的网络上,必须根据两个网络中不同的域名体系来定
义。
路由选择:在站点的内部网,必须准确区分访问用户的来由,而将返回信息的数据包准确地
发回到不同的网络中去。
下面结合广州168站点的具体情况来进行分析。我们知道,中国公众多媒体通信网即169网中
使用的IP地址是由IETF RFC1918标准公布的Internet保留地址,它包括以下地址段:
10.0.0.0----10.255.255.255 1个A类的IP保留地址
172.16.0.0----172.31.255.255 16个B类的IP保留地址
这种地址是不会公布到Internet上去的,即正常来说在Internet上是不能寻址到的。在连接
169网时,我们的主机直接采用169网分配给广州168站点的地址段172.18.29.0,共一个C类的
保留IP地址。另外,为了使Internet的用户能够访问到我们的站点,我们申请了202.103.132.128—202.103.132.191共1/4个C类的合法IP地址。这样,同一部主机在163网与169网上可
以以不同的IP地址身份出现并被这两个网络的用户所访问。
常规上为实现一站双挂这个目的,最简单的办法是让网站中的每一部机器都安装两个网络适
配器,一个绑上163网的合法IP地址,另一个绑上169网的保留IP地址。这两个适配器分别连
接到不同的两个子网上,这两个子网再通过路由器连接至各自的广域网。具体网络拓朴图见
图一。这种方法实现起来有这样的缺点:网络安全性不高,主机不经过防火墙直接暴露在两
个网络的用户面前;网络结构过于复杂,网络故障率高;主机CPU被通信所占用的处理器机时
高,主机负荷过重等等。为解决以上问题,我们提出一种新的网络构架,详见图二。
在这种方案中,我们直接把内部网通过路由器Router A连接至169网上,作为169网的一部份
,内部网所有主机处于子网172.18.29.0中。为了连接163网,我们设置了一台防火墙,同时
实现地址转移功能NAT,把内部网的保留地址IP映射成外部163网上的合法IP地址。这样做主
要是出自下面的考虑:
1.163网作为国际互联网的一部分,不安全因素相当多,包括恶意攻击、
图一、常规的一站双挂网络拓朴
图二、实用一站双挂网络拓朴
邮件炸弹、病毒传播等。设置防火墙可以保护我们的内部网的安全。而169网目前仅在国内使
用,该网上的不安全因素相对少一些,故我们把内部网直接连上169网而不连上163网。另外
,防火墙作为一个应用级的网络设备,可以进行地址过滤甚至是端口过滤,可以屏蔽掉一些
通过特定端口进行恶意攻击的途径,这就大大提高了内部网的安全程度。例如,内部网的某
一部机器提供WWW与DNS服务,这两种服务使用了TCP的80端口与53端口,则我们在设置防火墙
时,只需要对外开放这两个TCP端口,那么该机器仅对外提供WWW与DNS服务,任何来自外部网
的其它端口的请求则被防火墙过滤掉了。
2.Internet上的合法IP地址资源有限,我们不可能让内部网上所有的机器(Server、Client与其它设备)都占用合法IP地址。而169网上的IP地址资源相对较充裕。所以,把内部网放
在169网上,可以节省当前日益紧张的Internet地址资源。
3.采用这种办法,可以大大简化网络拓朴结构,增强网络的可靠性。
采用防火墙把内部网与163网分隔开之后,内部网的机器配置的地址是上面所提到的172.18.
29.0网段,这个地址段在整个169网中是可直接寻址的。而外部网地址段202.103.132.128只
在防火墙之外可用。
我们选用的防火墙是Cisco公司的PixFirewall。下面根据Pix的工作原理来谈谈内部网的路由
配置办法。PixFirewall是一个双端口的设备,其中一个端口用来连接外部网(这里是163
网),称为O口,假设其IP地址是202.103.132.140;另一个端口用于连接内部网,称为I口,
假设其IP地址是172.18.29.140。具体示意图见图三。PixFirewall最基本的功能是实现单
向的地址翻译,即把内部网(I口)网段上的某些IP地址映射到外部网(O口)网段上。尽管
内部网这些主机实际并不存在于外部网中,但其对应的IP地址却存在于外部网中。用户访问
内部网主机经PixFirewall映射到外部网的IP地址时,实际上是通过PixFirewall访问了
内部网的主机。实际上,PixFirewall实施IP数据包的地址置换功能。假设PixFirewall上
设置了这样一个映射关系,
IP包A:源地址202.96.128.110,目的地址202.103.132.168(请求数据包)
IP包B:源地址202.96.128.110,目的地址172.18.29.168(请求数据包)
IP包C:源地址172.18.29.168,目的地址202.96.128.110(响应数据包)
IP包D:源地址202.103.132.168,目的地址202.96.128.110(响应数据包)
图三、PixFirewall工作原理示意图
把内部网的IP地址IPa映射成外部网的IP地址IPb,则当一个访问IPb的数据包(目的地址是
IPb)从PixFirewall的O口进入并从I口出来后,其目的地址已被替换为IPa,其它内容不变;
当地址为IPa的内部网主机返回的数据包(源地址为IPa)从PixFirewall的I口进入并从O口出
来后,其源地址已被替换为IPb。以我们的实例来讲,内部网上的WebServer主机,IP地址是
172.18.29.168,通过PixFirewall将其映射到外部网中去,映射地址是202.103.132.168。当
一个外部网上的用户(IP地址为202.96.128.110)访问WebServer主机时,它所发出的访问
请求数据包源地址为202.96.128.110,目的地址是202.103.132.168,这个数据包通过PixFirewall到达内部网后,其目的地址被替换成172.18.29.168,源地址不变。该数据包达到我们
的WebServer(实际地址是172.18.29.168)。WebServer接受请求后,发回响应数据包,其源地
址是172.18.29.168,目的地址是原请求数据包的源地址,即202.96.128.110,这样一个IP包
在我们的内部网上是怎么走的呢?
从图二看,我们的内部网有两个出口,一个是Router A(IP地址是172.18.29.254),连接169网,另一个是防火墙(I口地址是172.18.29.140;O口地址202.103.132.140,连接Router
B,地址为202.103.132.129,并通往163网)。由于PixFirewall不具备路由功能,故路由器Router A应当作为内部网的缺省网关(Default Gateway),担负内部网的路由功能。在这里
Router A必须正确根据数据包的目的地址来区分这个数据包的流向。如果一个数据包的目的
地址是169网的IP地址,即属于10.0.0.0网段或172.16.0.0----172.31.0.0网段,那么Router A应将其发送往连接169网的广域网端口S0;如果一个数据包的目的地址是163网的IP地址,
即上述地址段范围之外,那么Router A应将其发往PixFirewall。这样,WebServer返回的数
据包才能够正确发回给访问者。
上述的例子中,由于WebServer的返回数据包目的地址是202.96.128.110,该数据包到达Router A后,Router A会将其发往PixFirewall的I口。这个包反向穿过PixFirewall后,PixFirewall将其源地址由172.18.29.168替换为202.103.132.168,并通过Router B发回给163网的
用户。
综上所述,我们得出内部网的缺省网关Router A的路由表应该是这样写的:
IP route 0.0.0.0 0.0.0.0 172.18.29.140(163网用户的返回数据包路由)
IP route 10.0.0.0 255.0.0.0 s0(以下为169网用户的返回数据包路由)
IP route 172.16.0.0 255.255.0.0 s0
IP route 172.17.0.0 255.255.0.0 s0
……
IP route 172.31.0.0 255.255.0.0 s0
另外,我们顺便说一说PixFirewall的配置。Cisco PixFirewall除了上面所说的地址映射功能
之外,还具有端口过滤功能与端口地址翻译(PAT)功能。
端口过滤功能是指当PixFirewall建立了一个静态地址映射列表后,对于每一个IP静态映射都
可以进行端口控制,任何一个TCP的Port都可以设置打开还是关闭。这就可以控制内部网主机
的某些TCP Port口不能被外部网所访问。这样,对于某些利用操作系统的漏洞,针对内部主
机的一些端口的恶意攻击的数据包就会在穿过PixFirewall时被过滤掉,而不至于对内部网主
机的正常工作造成危害。
端口地址翻译(PAT)功能是指内部网的多台机器,可以通过PixFirewall的端口地址翻译功
能使用同一个外部IP地址去访问外部网络。当内部网的多台机器通过PAT功能去访问外部网时
,PixFirewall对内部网多台机器的IP地址进行翻译,将其替换成同一个外部IP地址,但不同
的内部网IP对应的是同一外部网IP的不同Port端口。这样,外部网中被访服务器返回的数据
包到达PixFirewall时,PixFirewall才能够根据不同的Port端口来将其转发不同的内部网机
器。
在我们的PixFirewall,是这样配置的:
设置外部网(O口)与内部网(I口)的地址
ip address inside 172.18.29.140 255.255.255.0
ip address outside 202.103.132.140 255.255.255.192
设置内部网与外部网的路由功能
route outside 0.0.0.0 0.0.0.0 202.103.132.129 1 (Router B的地址)
route inside 10.0.0.0 255.0.0.0 172.18.29.254 1 (Router A的地址)
route inside 172.16.0.0 255.255.0.0 172.18.29.254 1
route inside 172.17.0.0 255.255.0.0 172.18.29.254 1
……
route inside 172.31.0.0 255.255.0.0 172.18.29.254 1
其中最后的数字1是指跳数(hop)。
设置PAT功能,使内部网多台机器可使用外部网的同一IP地址202.103.132.141去访问外部网
。
global 1 202.103.132.141-202.103.132.141
nat 1 172.18.29.0 255.255.255.0
设置静态映射功能及端口过滤功能,将内部网主机172.18.29.168映射成外部网地址202.103
.132.168,并对外部网所有访问者开放Http(80端口)与DNS(53端口)功能。
static (inside,outside) 172.18.29.168 202.103.132.168
conduit (inside,outside) 172.18.29.168 202.103.132.168 80 tcp 0.0.0.0 0.0.0.0
conduit (inside,outside) 172.18.29.168 202.103.132.168 80 udp 0.0.0.0 0.0.0.0
conduit (inside,outside) 172.18.29.168 202.103.132.168 53 tcp 0.0.0.0 0.0.0.0
conduit (inside,outside) 172.18.29.168 202.103.132.168 53 udp 0.0.0.0 0.0.0.0
这是前段时间搞网的一些经验,呵呵,给内行的人看的。。。