nat(网络地址转换)是一种将一个ip地址域(如intranet)映射到另一个ip地址域(如internet)的技术。nat的出现是为了解决ip日益短缺的问题,nat允许专用网络在内部使用任意范围的ip地址,而对于公用的internet则表现为有限的公网ip地址范围。由于内部网络能有效地与外界隔离开,所以nat也可以对网络的安全性提供一些保证。
hiper系列产品提供了灵活的nat功能,具体特点如下所述:
1 nat地址空间
为了正确进行nat操作,任何nat设备都必须维护两个地址空间:一个是局域网主机在内部使用的私有ip地址,hiper中用“内部ip地址”表示;另一个是用于外部的公网ip地址,hiper中用“外部ip地址”表示。
2 三种nat类型
hiper提供三种nat类型:“easyip”、“one2one”及“passthrough”。
easyip:即网络地址端口转换,多个内部ip地址映射到同一个外部ip地址。它可为每个内部连接动态分配一个与单一外部地址有关的端口,并维护这些内部连接到外部端口的映射,从而实现多个用户同时使用一个公网地址与外部internet进行通信。
one2one:即静态地址转换,内部ip地址与外部ip地址进行一对一的映射。它通常用来配置外网访问内网的服务器:内网服务器依旧使用私有地址,对外提供为其分配的公网ip地址给外部网络用户访问。
passthrough:对指定的ip地址不做nat,直接按路由方式转发,它经常用于一些会受nat影响制约的特别应用。比如,为保证ip语音和视频会议等应用的正常运行,可在内网中专门划分一个语音视频区,该区的主机均采用“passthrough”方式。
我们将每个具体的nat配置称为“nat规则”,配置nat规则时必须指定其出口ip地址及线路。当有多个合法的公网地址时,每种类型的nat规则均可配置多个。实际应用中,常常需要混合使用不同类型的nat规则。
3 主线路nat规则和备份线路nat规则
在web管理界面—]快速向导(章节3.2)中配置完上网接入线路(主线路),或者在web管理界面—]基本配置—]isp配置(章节4.1.2)中配置了主线路和备份线路后,系统会自动生成“easyip”类型的nat规则,分别将它们称为主线路nat规则和备份线路nat规则。可以编辑修改它们,但不能删除。各种线路接入方式下,主线路nat规则和备份线路nat规则的名称如表6-16所示:

负载均衡方式下,在web管理界面—]基本配置—]线路组合—]线路组合配置—]负载均衡(章节4.2.2.2)中配置主线路(备份线路)的“分配规则”、“权重”、“内部起始ip地址”、“内部结束ip地址”等参数,相当于在本页面配置主线路nat规则(备份线路nat规则)。相比之下,本页面提供更多的配置参数。
4 根据源ip地址指定优先通道
在这里,通道是指上网使用的nat规则,它决定了上网使用的nat类型、外部ip地址(即出口ip)及线路。
hiper允许用户预先为局域网中的某些主机指定优先通道,它是通过设置nat规则的“内部起始ip地址”和“内部结束ip地址”来实现的,ip地址属于两个地址范围内的主机将优先使用该nat规则上网。对于已指定nat规则的主机来说,当指定nat规则可用时,它们只能使用该nat规则上网;但是,当指定nat规则失效时,hiper就把它们当作没有预先指定nat规则的主机来处理。
5 根据线路带宽合理分配流量
hiper允许用户预先指定分配到两条线路的流量的比例,它是通过设置线路的“权重”来实现的。其中,线路的“权重”为绑定在该线路上的nat规则的“权重”之和,需要注意的是,只有类型为“easyip”的nat规则有“权重”。
在实际应用中,当局域网中的主机均未指定nat规则时,可根据两条线路的带宽比来设置各线路的“权重”,从而实现按带宽分配流量。例如,主线路和备份线路的带宽分别为6m、4m,若除了主线路nat规则和备份线路nat规则,还需配置一条绑定在主线路上的“easyip”nat规则,则可将主线路nat规则、新配nat规则、备份线路nat规则的“权重”分别设为2、1、2。这样,主线路、备份线路的“权重”就分别为3、2,分配到主线路、备份线路的流量比将接近3:2。
而当局域网中的某些主机指定了上网线路时,若按照带宽比来设置线路的“权重”,分配到两条线路的流量比可能会同带宽比相差较大。这时,可以根据实际情况适当调整“权重”。
6 两种流量分配规则
“分配规则”用来控制线路流量,它作用于局域网中没有预先指定nat规则的计算机,hiper提供两种分配规则:“nat会话”和“ip地址”,它们的实现机制如下所述。
1. ip地址
使用ip地址作为分配规则时,hiper将根据nat规则的“权重”,把未指定nat规则的主机的ip地址,按顺序依次分配到各“easyip”nat规则。分配到各“easyip”nat规则的ip地址的数量比为它们的“权重”比,来自同一ip地址的nat会话使用同一个规则。
例如,若共有三条“easyip”nat规则,“权重” 分别为3、2、1,则根据连接的先后顺序,第1、2、3台上网的主机将使用第一条规则,第4、5台主机将使用第二条规则,第6台主机将使用第三条规则,接着第7、8、9台主机将使用第一条规则,……,依此类推。注意,这里假设每台主机均只有一个ip地址。
2. nat会话
使用nat会话作为分配规则时,hiper将根据nat规则的“权重”,把未指定nat规则的主机发起的nat会话,按顺序依次分配到各“easyip”nat规则。分配到各“easyip”nat规则的nat会话的数量比为它们的“权重”比,同一主机发起的nat会话可使用多个nat规则。
例如,若共有三条nat规则,“权重” 分别为3、2、1,则根据连接的先后顺序,内网主机发起的第1、2、3个nat会话将使用第一条规则,第4、5个nat会话将使用第二条规则,第6个nat会话将使用第三条规则,接着第7、8、9个nat会话将使用第一条规则,……,依此类推。
一般情况下,建议“分配规则”选择为“ip地址”。当对带宽要求高,需要双线路带宽合并时,比如使用网络蚂蚁(netants)、网际快车(flashget)、影像传送带(net transport)等多线程下载工具时(多线程下载指把一个下载文件分成若干份同时下载,下载后再把它们合并起来),则可选择“nat会话”,从而能够充分利用双线路带宽,以提高下载速度。需要注意的是,即便选择了“nat会话”,由于网站情况不同仍有可能造成带宽不能完全叠加的情况,同时还可能造成某些应用连接不畅。
7 nat静态映射
hiper集成了防火墙功能,通常情况下,广域网中的计算机无法通过hiper访问局域网的某些服务器。hiper可提供nat静态映射功能,通过定义一个服务端口,所有对hiper该端口的服务请求将被重新定位给指定的局域网中的服务器。这样,广域网中的计算机就可实现对局域网服务器的访问。
8 虚拟服务器(dmz主机)
某些情况下,需要将一台局域网计算机完全暴露给internet,以实现双向通信,这时候就需要将该计算机设置成虚拟服务器(dmz主机),被设置为虚拟服务器的计算机将失去hiper的防火墙保护功能。当有外部用户主动访问为该dmz主机分配的公网地址时,hiper会把数据包转发给指定的dmz主机。
对于hiper来说,当有多个公网ip地址时,可配置1个全局虚拟服务器,多个局部虚拟服务器。其中,局部虚拟服务器需指定其使用的nat规则,该nat规则的外部ip地址将分配给它;全局虚拟服务器则无需指定。局部虚拟服务器比全局虚拟服务器的优先级高,只有在没有配置局部虚拟服务器时,才使用全局虚拟服务器。
另外,nat静态映射的优先级高于虚拟服务器。当hiper收到一个来自外部网络的请求时,它将首先根据外部请求所请求服务的端口号,查看nat静态映射列表,检查是否有匹配的nat静态映射,如果有的话,就把请求消息发送到该nat静态映射对应的局域网计算机上去。如果没有匹配的静态映射,才会检查是否有匹配的虚拟服务器。
9 nat规则的执行顺序
当局域网中有主机发起nat访问时,会首先检查此计算机是否符合所有nat规则中“内部起始ip地址”到“内部结束ip地址”所指定的范围。如果有匹配的规则,则使用该条规则上网。如果没有匹配的规则,则使用“nat类型”为“easyip”的nat规则上网;有多个“easyip”类型的nat规则时,则根据“分配规则”为各条nat规则分配流量,从而控制线路流量。