08-NAT配置
本章节下载 (702.7 KB)
NAT(Network Address Translation,网络地址转换)是将IP数据报报头中的IP地址转换为另一个IP地址的过程。在实际应用中,NAT主要用于实现私有网络访问公共网络的功能。这种通过使用少量的公有IP地址代表较多的私有IP地址的方式,将有助于减缓可用IP地址空间的枯竭。
私有IP地址是指内部网络或主机的IP地址,公有IP地址是指在因特网上全球唯一的IP地址。
RFC 1918为私有网络预留出了三个IP地址块,如下:
l A类:10.0.0.0~10.255.255.255
l B类:172.16.0.0~172.31.255.255
l C类:192.168.0.0~192.168.255.255
上述三个范围内的地址不会在因特网上被分配,因此可以不必向ISP或注册中心申请而在公司或企业内部自由使用。
图1-1描述了一个基本的NAT应用。
l NAT网关处于私有网络和公有网络的连接处。
l 当内部主机(192.168.1.3)向外部服务器(10.1.1.2)发送一个数据报1时,数据报将通过NAT网关。
l NAT网关查看报头内容,发现该数据报是发往外网的,那么它将数据报1的源地址字段的私有地址192.168.1.3换成一个可在Internet上选路的公有地址20.1.1.1,并将该数据报发送到外部服务器,同时在NAT网关的网络地址转换表中记录这一映射。
l 外部服务器给内部主机发送的应答报文2(其初始目的地址为20.1.1.1)到达NAT网关后,NAT网关再次查看报头内容,然后查找当前网络地址转换表的记录,用内部主机的私有地址192.168.1.3替换初始的目的地址。
上述的NAT过程对终端(如图中的主机和服务器)来说是透明的。对外部服务器而言,它认为内部主机的IP地址就是20.1.1.1,并不知道有192.168.1.3这个地址。因此,NAT“隐藏”了企业的私有网络。
地址转换的优点在于,在为内部主机提供了“隐私”保护的前提下,实现了内部网络的主机通过该功能访问外部网络的资源。但它也有一些缺点:
l 由于需要对数据报文进行IP地址的转换,涉及IP地址的数据报的报头不能被加密。在应用协议中,如果报文中有地址或端口需要转换,则报文不能被加密。例如,不能使用加密的FTP连接,否则FTP的port命令不能被正确转换。
l 网络调试变得更加困难。比如,某一台内部网络的主机试图攻击其它网络,则很难指出究竟哪一台机器是恶意的,因为主机的IP地址被屏蔽了。
从图1-1的地址转换过程可见,当内部网络访问外部网络时,地址转换将会选择一个合适的外部地址,来替代内部网络数据报文的源地址。在图1-1中是选择NAT网关出接口的IP地址(公有地址)。这样所有内部网络的主机访问外部网络时,只能拥有一个外部的IP地址,因此,这种情况同时只允许最多有一台内部主机访问外部网络,这称为“一对一地址转换”。当内部网络的多台主机并发的要求访问外部网络时,“一对一地址转换”仅能够实现其中一台主机的访问请求。
NAT也可实现对并发性请求的响应,允许NAT网关拥有多个公有IP地址。当第一个内部主机访问外网时,NAT选择一个公有地址IP1,在地址转换表中添加记录并发送数据报;当另一内部主机访问外网时,NAT选择另一个公有地址IP2,以此类推,从而满足了多台内部主机访问外网的请求。这称为“多对多地址转换”。
NAT网关拥有的公有IP地址数目要远少于内部网络的主机数目,因为所有内部主机并不会同时访问外网。公有IP地址的数目,应根据网络高峰期可能访问外网的内部主机数目的统计值来确定。
在实际应用中,我们可能希望某些内部的主机可以访问外部网络,而某些主机不允许访问,即当NAT网关查看数据报报头内容时,如果发现源IP地址属于禁止访问外部网络的内部主机,它将不进行NAT转换。这就是对地址转换进行控制的问题。
设备可以通过定义地址池来实现多对多地址转换,同时可以利用ACL(Access Control List,访问控制列表)来对地址转换进行控制。
l 利用ACL限制地址转换:可以有效地控制地址转换的使用范围,只有满足ACL条件的数据报文才可以进行地址转换。
l 地址池:用于地址转换的一些连续的公有IP地址的集合。用户应根据自己拥有的合法IP地址数目、内部网络主机数目以及实际应用情况,配置恰当的地址池。地址转换的过程中,NAT网关将会从地址池中挑选一个地址做为转换后的源地址。
NAPT(Network Address Port Translation,网络地址端口转换)是NAT的一种变形,它允许多个内部地址映射到同一个公有地址上,也可称之为“多对一地址转换”或“地址复用”。
NAPT同时映射IP地址和端口号:来自不同内部地址的数据报的目的地址可以映射到同一外部地址,但它们的端口号被转换为该地址的不同端口号,因而仍然能够共享同一地址,也就是“私有地址+端口”与“公有地址+端口”之间的转换。
图1-2描述了NAPT的基本原理。
图1-2 NAPT基本原理示意图
如图1-2所示,四个带有内部地址的数据报到达NAT网关,其中数据报1和2来自同一个内部地址但有不同的源端口号,数据报3和4来自不同的内部地址但具有相同的源端口号。通过NAPT映射,四个数据报的源IP地址都被转换到同一个外部地址,但每个数据报都被赋予了不同的源端口号,因而仍保留了报文之间的区别。当回应报文到达时,NAT网关仍能够根据回应报文的目的地址和端口号来区别该报文应转发到的内部主机。
采用NAPT可以更加充分地利用IP地址资源,实现更多内部网络主机对外部网络的同时访问。
Easy IP是指进行地址转换时,直接使用接口的公有IP地址作为转换后的源地址,能够最大程度的节省IP地址资源。它也可以利用ACL控制哪些内部地址可以进行地址转换。
NAT隐藏了内部网络的结构,具有“屏蔽”内部主机的作用,但是在实际应用中,可能需要给外部网络提供一个访问内部主机的机会,如给外部网络提供一台WWW服务器,或是一台FTP服务器。
使用NAT可以灵活地添加内部服务器。例如,可以使用20.1.1.10作为WWW服务器的外部地址;使用20.1.1.11作为FTP服务器的外部地址;甚至还可以使用20.1.1.12:8080这样的地址作为Web服务器的外部地址。
目前设备的NAT提供了内部服务器功能供外部网络访问。外部网络的用户访问内部服务器时,NAT将请求报文内的目的地址转换成内部服务器的私有地址。当内部服务器回应报文时,NAT要将回应报文的源地址(私有IP地址)转换成公有IP地址。
NAT不仅实现了一般的地址转换功能,同时提高了完善的地址转换ALG(Application Layer Gateway,应用级网关)机制,使其可以支持一些特殊的应用协议,而不需要对NAT平台进行任何的修改,具有良好的可扩充性。这些特殊协议的报文载荷里携带了地址或端口信息,该信息也可能需要进行地址转换。
可支持的特殊协议包括:FTP(File Transfer Protocol,文件传输协议)、PPTP(Point-to-Point Tunneling Protocol,点到点隧道协议)、DNS(Domain Name System,域名系统)、ILS(Internet Locator Service,Internet定位服务)、H.323、SIP(Session Initiation Protocol,会话发起协议)、NBT(NerBIOS over TCP/IP,基于TCP/IP的网络基本输入输出系统)等。
内网用户访问外部网络时,如果某一用户在短时间内经过设备向外部网络发起大量连接,将会导致设备系统资源迅速消耗,其它用户无法正常使用网络资源。因此,为了保护内部网络资源以及合理分配设备系统资源,设备支持基于源IP地址对用户连接的数量进行统计和限制。
通过NAT网关设备上动态生成或静态建立的地址映射关系,实现内部网络与外部网络IP地址的转换。通常,我们按照地址映射关系的产生方式将地址转换分为动态地址转换和静态地址转换两类:
l 动态地址转换:外部网络和内部网络之间的地址映射关系由报文动态决定。通过配置访问控制列表和地址池(或接口地址)的关联,由“具有某些特征的IP报文”挑选使用“地址池中地址(或接口地址)”,从而建立动态地址映射关系。适用于内部网络有大量用户需要访问外部网络的需求。这种情况下,关联中指定的地址池资源由内网报文按需从中选择使用,访问外网的会话结束之后该资源便释放给其它用户。
l 静态地址转换:外部网络和内部网络之间的地址映射关系在配置中确定。适用于内部网络与外部网络之间的少量固定访问需求。
NAT配置的推荐步骤如表1-1所示。
表1-1 NAT配置步骤
步骤 |
配置任务 |
说明 |
||
1 |
配置地址转换 |
在接口上配置动态地址转换策略 l 创建NAPT地址转换,转换方式要设置为“PAT” l 创建多对多地址转换,转换方式要设置为“No-PAT” l 创建Easy IP地址转换,转换方式要设置为“接口地址” |
二者必选其一 |
|
配置一对一静态地址映射,并在接口上启动静态地址转换 |
||||
2 |
必选 在内部服务器中新创建一条内部服务器信息 |
|||
3 |
可选 使能指定协议类型的NAT应用层协议检测功能 缺省情况下,各协议的NAT应用层协议检测功能均处于使能状态 |
|||
4 |
可选 配置基于源IP地址对连接的数量进行限制 |
在导航栏中选择“NAT配置 > NAT配置”,默认进入“动态地址转换”页签的页面,如图1-3所示。
动态地址转换的详细配置如表1-2所示。
表1-2 动态地址转换的详细配置
配置项 |
说明 |
接口 |
设置要配置地址转换策略的接口 |
转换方式 |
设置地址转换的方式 l 接口地址:表示Easy IP方式,直接使用接口的IP地址作为转换后的地址,此时不需要配置地址池 l PAT:表示同时转换数据包的IP地址和端口信息,此时需要配置地址池 l No-PAT:表示只转换数据包的IP地址,不使用端口信息,此时需要配置地址池 |
开始IP地址 |
设置该地址转换策略中的地址池的开始IP地址和结束IP地址 结束IP地址必须大于或等于开始IP地址,大于表示一个IP地址范围,等于表示单个的IP地址 l 同一个地址池(相同的开始IP地址和结束IP地址)只能配置为一种地址转换方式 l 地址池中可以包含的地址个数与设备的型号有关,请以设备的实际情况为准 l 某些设备上的地址池空间不能和以下地址重叠:其它地址转换策略的NAT地址池、启动Easy IP特性的接口IP地址、内部服务器的外部IP地址 |
结束IP地址 |
|
ACL |
设置动态地址转换策略中的ACL ID 不能将同一个的ACL与不同的NAT地址池关联,且同一个ACL不能既与某个NAT地址池关联,又配置为接口地址方式 ACL的具体规则在“高级配置 > QoS设置 > ACL IPv4”中配置 l 此配置项的支持情况与设备的具体型号有关,请以设备的实际情况为准 l 某些设备上的关联ACL配置需遵循限制:同一接口下引用的ACL中所定义的规则之间不允许冲突,源IP地址信息、目的IP地址信息以及VPN实例信息完全相同,即认为冲突;对于关联基本ACL(ACL序号为2000~2999)的情况,只要源地址信息、VPN实例信息相同即认为冲突 |
在导航栏中选择“NAT配置 > NAT配置”,单击“一对一地址转换”页签,进入一对一静态地址转换的配置页面,如图1-4所示。
一对一静态地址映射的详细配置如表1-3所示。
配置项 |
说明 |
内网IP地址 |
设置一对一静态地址映射的内部IP地址 |
外网IP地址 |
设置一对一静态地址映射的外部IP地址 |
完成一对一静态地址映射的配置后,可以设置接口静态地址转换的启动状态:
l
未使能静态地址转换的接口状态显示为,单击其后的“启动”按钮,可以启动该接口的静态地址转换。
l
已使能静态地址转换的接口状态显示为,单击其后的“关闭”按钮,可以关闭该接口的静态地址转换。
在导航栏中选择“NAT配置 > NAT配置”,单击“内部服务器”页签,进入内部服务器的配置页面,如图1-5所示。
创建内部服务器的详细配置如表1-4所示。
配置项 |
说明 |
接口 |
设置要配置内部服务器策略的接口 |
协议类型 |
设置IP协议承载的协议类型,包括:TCP、UDP |
外部IP地址 |
设置提供给外部访问的合法IP地址 可以选择直接使用当前选中接口的IP地址,或者手动指定一个IP地址 |
外部端口 |
设置提供给外部访问的服务端口号 在对应的下拉框中选择服务类型: l 选择Other,需在后面的输入框中手动输入要设置的服务端口号。输入0时,表示任何类型的服务都提供,相当于外部IP地址和内部IP地址之间有一个静态的连接 l 选择其余的服务,输入框默认设置为该服务的端口号,不可修改 |
内部IP地址 |
设置服务器在内部局域网的IP地址 |
内部端口 |
设置内部服务器提供的服务端口号 在对应的下拉框中选择服务类型: l 选择Other,需在后面的输入框中手动输入要设置的服务端口号。输入0时,表示任何类型的服务都提供,相当于外部IP地址和内部IP地址之间有一个静态的连接 l 选择其余的服务,输入框默认设置为该服务的端口号,不可修改 |
在导航栏中选择“NAT配置 > NAT配置”,单击“应用层协议检测”页签,进入NAT应用层协议检测的配置页面,如图1-6所示。
NAT应用层协议检测的详细配置如表1-5所示。
表1-5 NAT应用层协议检测的详细配置
配置项 |
说明 |
协议类型 |
设置使能或禁止指定协议类型的NAT应用层协议检测功能 可指定的协议类型包括:DNS、FTP、PPTP、NBT、ILS、H.323和SIP 具体支持的协议类型与设备的型号有关,请以设备的实际情况为准 |
在导航栏中选择“NAT配置 > NAT配置”,单击“连接数限制”页签,进入连接数限制的配置页面,如图1-7所示。
连接数限制的详细配置如表1-6所示。
配置项 |
说明 |
开启连接数限制 |
设置开启或关闭连接数限制功能 |
最大连接数 |
设置同一源IP地址最大可以建立的连接数 |
一个公司拥有202.38.1.1/24至202.38.1.3/24三个公网IP地址,内部网址为10.110.0.0/16,需要实现如下功能:
l 内部网络中的用户可以访问Internet,使用的公网地址为202.38.1.2和202.38.1.3。
l 对内部网络中的用户按源IP地址进行统计,限制用户连接数的上限值为1000。
# 配置各接口的IP地址。(略)
# 在接口Ethernet0/2上配置动态地址转换。
l 在导航栏中选择“NAT配置 > NAT配置”,默认进入“动态地址转换”页签的页面,进行如下配置,如图1-9所示。
l 选择接口为“Ethernet0/2”。
l 选择转换方式为“PAT”。
l 输入开始IP地址为“202.38.1.2”。
l 输入结束IP地址为“202.38.1.3”。
l 单击<确定>按钮完成操作。
# 配置连接数限制。
l 单击“连接数限制”页签,进行如下配置,如图1-10所示。
l 选中“开启连接数限制”前的复选框。
l 输入最大连接数为“1000”。
l 单击<应用>按钮完成操作。
某公司内部对外提供Web和FTP服务,而且提供两台Web服务器。公司内部网址为10.110.0.0/16。其中,内部FTP服务器地址为10.110.10.3/16,内部Web服务器1的IP地址为10.110.10.1/16,内部Web服务器2的IP地址为10.110.10.2/16。公司拥有202.38.1.1/24至202.38.1.3/24三个IP地址。需要实现如下功能:
l 外部的主机可以访问内部的服务器。
l 选用202.38.1.1作为公司对外提供服务的IP地址,Web服务器2对外采用8080端口。
图1-11 内部服务器配置组网图
# 配置内部FTP服务器。
l 在导航栏中选择“NAT配置 > NAT配置”,单击“内部服务器”页签,进行如下配置,如图1-12所示。
l 选择接口为“Ethernet0/2”。
l 选择协议类型为“TCP”。
l 选择手动指定外部IP地址,输入外部IP地址为“202.38.1.1”。
l 选择外部端口为“ftp”。
l 输入内部IP地址为“10.110.10.3”。
l 选择内部端口为“ftp”。
l 单击<确定>按钮完成操作。
# 配置内部Web服务器1。
图1-13 配置内部Web服务器1
l 如图1-13所示,在“内部服务器”页面选择接口为“Ethernet0/2”。
l 选择协议类型为“TCP”。
l 选择手动指定外部IP地址,输入外部IP地址为“202.38.1.1”。
l 选择外部端口为“http”。
l 输入内部IP地址为“10.110.10.1”。
l 选择内部端口为“http”。
l 单击<确定>按钮完成操作。
# 配置内部Web服务器2。
l 在“内部服务器转换”中单击<新建>按钮,进行如下配置,。
图1-14 配置内部Web服务器2
l 如图1-14所示,在“内部服务器”页面选择接口为“Ethernet0/2”。
l 选择协议类型为“TCP”。
l 选择手动指定外部IP地址,输入外部IP地址为“202.38.1.1”。
l 输入外部端口号为“8080”。
l 输入内部IP地址为“10.110.10.2”。
l 输入内部端口号为“8080”。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!