05-NAT配置
本章节下载 (358.27 KB)
NAT(Network Address Translation,网络地址转换)是将IP数据报文头中的IP地址转换为另一个IP地址的过程。在实际应用中,NAT主要用于实现私有网络访问公共网络的功能。这种通过使用少量的公网IP地址代表较多的私网IP地址的方式,将有助于减缓可用IP地址空间的枯竭。
私网IP地址是指内部网络或主机的IP地址,公网IP地址是指在因特网上全球唯一的IP地址。
RFC 1918为私有网络预留出了三个IP地址块,如下:
A类:10.0.0.0~10.255.255.255
B类:172.16.0.0~172.31.255.255
C类:192.168.0.0~192.168.255.255
(上述三个范围内的地址不会在因特网上被分配,因此可以不必向ISP或注册中心申请而在公司或企业内部自由使用。)
NAT最初的设计目的是用于实现私有网络访问公共网络的功能,后扩展到实现任意两个网络间进行访问时的地址转换应用,本文中将这两个网络分别称为内部网络(内网)和外部网络(外网),通常私网为内部网络,公网为外部网络。
图1-1描述了一个基本的NAT应用。
(1) 内网用户主机(192.168.1.3)向外网服务器(1.1.1.2)发送的IP报文通过NAT设备。
(2) NAT设备查看报头内容,发现该报文是发往外网的,将其源IP地址字段的私网地址192.168.1.3转换成一个可在Internet上选路的公网地址20.1.1.1,并将该报文发送给外网服务器,同时在NAT设备的网络地址转换表中记录这一映射。
(3) 外网服务器给内网用户发送的应答报文(其初始目的IP地址为20.1.1.1)到达NAT设备后,NAT设备再次查看报头内容,然后查找当前网络地址转换表的记录,用内网私有地址192.168.1.3替换初始的目的IP地址。
上述的NAT过程对终端(如图中的Host和Server)来说是透明的。对外网服务器而言,它认为内网用户主机的IP地址就是20.1.1.1,并不知道有192.168.1.3这个地址。因此,NAT“隐藏”了企业的私有网络。
地址转换的优点在于,在为内部网络主机提供了“隐私”保护的前提下,实现了内部网络的主机通过该功能访问外部网络的资源。但它也有一些缺点:
· 由于需要对数据报文进行IP地址的转换,涉及IP地址的数据报文的报头不能被加密。在应用协议中,如果报文中有地址或端口需要转换,则报文不能被加密。例如,不能使用加密的FTP连接,否则FTP协议的port命令不能被正确转换。
· 网络调试变得更加困难。比如,某一台内部网络的主机试图攻击其它网络,则很难指出究竟哪一台主机是恶意的,因为主机的IP地址被屏蔽了。
在实际应用中,我们可能希望某些内部网络的主机可以访问外部网络,而某些主机不允许访问,即当NAT设备查看IP数据报文的报头内容时,如果发现源IP地址属于禁止访问外部网络的内部主机,它将不进行地址转换。另外,也希望只有指定的公网地址才可用于地址转换。
设备可以利用ACL(Access Control List,访问控制列表)和地址池来对地址转换进行控制。
· 访问控制列表可以有效地控制地址转换的使用范围,只有满足访问控制列表规则的数据报文才可以进行地址转换。
· 地址池是用于地址转换的一些连续的公网IP地址的集合,它可以有效地控制公网地址的使用。用户可根据自己拥有的合法IP地址数目、内部网络主机数目以及实际应用情况,定义合适的地址池。在地址转换的过程中,NAT设备将会从地址池中挑选一个IP地址做为数据报文转换后的源IP地址。
从图1-1的地址转换过程可见,当内部网络访问外部网络时,地址转换将会选择一个合适的外部地址,来替代内部网络数据报文的源地址。在图1-1中是选择NAT设备出接口的IP地址(公网IP地址)。这样所有内部网络的主机访问外部网络时,只能拥有一个外部网络的IP地址,因此,这种情况同时只允许最多有一台内部网络主机访问外部网络。
当内部网络的多台主机并发的要求访问外部网络时,NAT也可实现对并发性请求的响应,允许NAT设备拥有多个公有IP地址。当第一个内网主机访问外网时,NAT选择一个公有地址IP1,在地址转换表中添加记录并发送数据报;当另一内网主机访问外网时,NAT选择另一个公有地址IP2,以此类推,从而满足了多台内网主机访问外网的请求。
NAT设备拥有的公有IP地址数目要远少于内部网络的主机数目,因为所有内网主机并不会同时访问外网。公有IP地址数目的确定,应根据网络高峰期可能访问外网的内网主机数目的统计值来确定。
NAPT(Network Address Port Translation,网络地址端口转换)是基本地址转换的一种变形,它允许多个内部地址映射到同一个公有地址上,也可称之为“多对一地址转换”。
NAPT同时映射IP地址和端口号:来自不同内部地址的数据报文的源地址可以映射到同一外部地址,但它们的端口号被转换为该地址的不同端口号,因而仍然能够共享同一地址,也就是“私网IP地址+端口号”与“公网IP地址+端口号”之间的转换。
图1-2描述了NAPT的基本原理。
图1-2 NAPT基本原理示意图
如图1-2所示,三个带有内部地址的数据报文到达NAT设备,其中报文1和报文2来自同一个内部地址但有不同的源端口号,报文1和报文3来自不同的内部地址但具有相同的源端口号。通过NAPT映射,三个数据报的源IP地址都被转换到同一个外部地址,但每个数据报都被赋予了不同的源端口号,因而仍保留了报文之间的区别。当各报文的回应报文到达时,NAT设备仍能够根据回应报文的目的IP地址和目的端口号来区别该报文应转发到的内部主机。
采用NAPT可以更加充分地利用IP地址资源,实现更多内部网络主机对外部网络的同时访问。
目前,NAPT支持两种不同的地址转换模式:
· Endpoint-Independent Mapping(不关心对端地址和端口转换模式)
该模式下,NAT设备通过建立三元组(源地址、源端口号、协议类型)表项来进行地址分配和报文过滤。即,只要是来自相同源地址和源端口号的报文,不论其目的地址是否相同,通过NAPT映射后,其源地址和源端口号都被转换为同一个外部地址和端口号,并且NAT设备允许外部网络的主机通过该转换后的地址和端口来访问这些内部网络的主机。这种模式可以很好得支持位于不同NAT设备之后的主机间进行互访。
· Address and Port-Dependent Mapping(关心对端地址和端口转换模式)
该模式下,NAT设备通过建立五元组(源地址、源端口号、协议类型、目的地址、目的端口号)表项为依据进行地址分配和报文过滤。即,对于来自相同源地址和源端口号的报文,若其目的地址和目的端口号不同,通过NAPT映射后,相同的源地址和源端口号将被转换为不同的外部地址和端口号,并且NAT设备只允许这些目的地址对应的外部网络的主机才可以通过该转换后的地址和端口来访问这些内部网络的主机。这种模式安全性好,但是不便于位于不同NAT设备之后的主机间进行互访。
NAT隐藏了内部网络的结构,具有“屏蔽”内部主机的作用,但是在实际应用中,可能需要给外部网络提供一个访问内网主机的机会,如给外部网络提供一台Web服务器,或是一台FTP服务器。
NAT设备提供的内部服务器功能,就是通过静态配置“公网IP地址+端口号”与“私网IP地址+端口号”间的映射关系,实现公网IP地址到私网IP地址的“反向”转换。例如,可以将20.1.1.1:8080配置为内网某Web服务器的外部网络地址和端口号供外部网络访问。
如图1-3所示,外部网络用户访问内部网络服务器的数据报文经过NAT设备时,NAT设备根据报文的目的地址查找地址转换表项,将访问内部服务器的请求报文的目的IP地址和端口号转换成内部服务器的私有IP地址和端口号。当内部服务器回应该报文时,NAT设备再根据已有的地址映射关系将回应报文的源IP地址和端口号转换成公网IP地址和端口号。
一般情况下,DNS服务器和访问私网服务器的用户都在公网,通过在NAT设备的公网接口上配置内部服务器,可以将公网地址、端口等信息映射到私网内的服务器上,使得公网用户可以通过内部服务器的域名或公网地址来访问内部服务器。但是,如图1-4所示,如果DNS服务器在公网,私网用户希望通过域名来访问私网的Web服务器,则会由于DNS服务器向私网用户发送的响应报文中包含的是私网服务器的公网地址,而导致收到响应报文的私网用户无法利用域名访问私网服务器。通过在设备上配置DNS mapping可以解决该问题。
图1-4 NAT DNS mapping工作示意图
DNS mapping功能是指,通过配置“域名+公网IP地址+公网端口号+协议类型”的映射表,建立内部服务器域名与内部服务器公网信息的对应关系。在配置了NAT的接口上,设备检查接收到的DNS响应报文,根据报文中的域名查找用户配置的DNS mapping映射表,并根据表项内的“公网地址+公网端口+协议类型”信息查找内部服务器地址映射表中该信息对应的私网地址,替换DNS查询结果中的公网地址。这样,私网用户收到的DNS响应报文中就包含了要访问的内部服务器的私网地址,也就能够使用内部服务器域名访问同一私网内的内部服务器。
Easy IP功能是指进行地址转换时,直接使用接口的外网IP地址作为转换后的源地址,能够最大程度的节省IP地址资源。它也可以利用访问控制列表控制哪些内部地址可以进行地址转换。
NAT不仅实现了一般的地址转换功能,同时提供了完善的地址转换ALG (Application Layer Gateway,应用级网关)机制,使其可以支持一些特殊的应用协议,而不需要对NAT平台进行任何的修改,具有良好的可扩充性。这些特殊协议的报文载荷里携带了地址或端口信息,该信息也可能需要进行地址转换。
可支持的特殊协议包括:FTP(File Transfer Protocol,文件传输协议)、PPTP(Point-to-Point Tunneling Protocol,点到点隧道协议)、ICMP(Internet Control Message Protocol,互联网控制消息协议)、DNS(Domain Name System,域名系统)、ILS(Internet Locator Service,Internet定位服务)、RTSP(Real Time Streaming Protocol,实时流协议)、H.323、SIP(Session Initiation Protocol,会话初始协议)、NetMeeting 3.01、NBT(NetBIOS over TCP/IP,基于TCP/IP的网络基本输入输出系统)等。
NAT多实例允许分属于不同MPLS VPN的用户通过同一个出口访问外部网络,同时允许分属于不同MPLS VPN的用户使用相同的私网地址。当MPLS VPN用户访问外部网络时,地址转换将内部网络主机的IP地址和端口替换为设备的外部网络地址和端口,同时还记录了用户的MPLS VPN信息(如协议类型和路由标识符RD等)。回应报文到达时,地址转换将外部网络地址和端口还原为内部网络主机的IP地址和端口,同时可得知是哪一个MPLS VPN用户的访问。
同时,地址转换支持内部服务器的多实例,给外部提供访问MPLS VPN内主机的机会。例如,MPLS VPN1内提供Web服务的主机地址是10.110.1.1,可以使用202.110.10.20作为Web服务器的外部地址,Internet的用户使用202.110.10.20的地址就可以访问到MPLS VPN1提供的Web服务。
另外,NAT还可利用外部网络地址所携带的MPLS VPN信息,支持多个MPLS VPN之间的互访。
表1-1 NAT配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置地址转换 |
配置静态地址转换 |
二者必选其一 |
|
配置动态地址转换 |
|||
配置内部服务器 |
必选 |
||
配置DNS mapping |
可选 |
||
配置NAT连接限制 |
可选 |
· 接口下的NAT相关配置(地址转换或内部服务器配置)改变时,为保证连接的稳定性,建议用户在完成所有NAT相关的配置之后,通过命令reset session手工清除与NAT相关的会话表项,以避免可能会产生的问题。这些问题主要包括:NAT相关的配置删除后,已建立的连接仍然可以进行地址转换处理;在连接过程中进行NAT配置,会因为配置顺序的不一致,导致相同的配置产生不同的处理结果。
· 对于SR6602-X/SR6604/SR6608/SR6616/SR6604-X/SR6608-X/SR6616-X,必须保证各接口板上引用的地址池所定义的IP地址没有重叠。
通过NAT设备上静态建立或动态生成的地址映射关系,实现内部网络与外部网络IP地址的转换。通常,我们按照地址映射关系的产生方式将地址转换分为动态地址转换和静态地址转换两类:
· 静态地址转换
外部网络和内部网络之间的地址映射关系在配置中确定。适用于内部网络与外部网络之间的少量固定访问需求。
· 动态地址转换
外部网络和内部网络之间的地址映射关系由报文动态决定。通过配置访问控制列表和地址池(或接口地址)的关联,由“具有某些特征的IP报文”挑选使用“地址池中地址(或接口地址)”,从而建立动态地址映射关系。适用于内部网络有大量用户需要访问外部网络的需求。这种情况下,关联中指定的地址池资源由内网报文按需从中选择使用,访问外网的会话结束之后该资源便释放给其它用户。
无论静态地址转换还是动态地址转换,都可以支持NAT多实例的配置。只要指定地址所属的vpn-instance-name,即可以实现对MPLS VPN的支持。
配置静态地址转换时,需要首先在系统视图下配置静态地址转换映射,然后在接口下使该转换生效。
静态地址转换映射支持两种方式:一对一静态转换映射、网段对网段静态转换映射。
实现一个内部私有网络地址到一个外部公有网络地址的转换。
表1-2 配置一对一静态地址转换
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置一对一静态地址转换映射 |
nat static local-ip [ vpn-instance local-name ] global-ip [ vpn-instance global-name ] |
必选 |
进入接口视图 |
interface interface-type interface-number |
- |
使配置的NAT静态转换在接口上生效 |
nat outbound static[ track vrrp virtual-router-id ] |
必选 |
实现一个内部私有网络到一个外部公有网络的地址转换。
表1-3 配置网段对网段静态地址转换
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置网段对网段静态地址转换映射 |
nat static net-to-net local-ip-address [ vpn-instance local-name ] global-ip-address [ vpn-instance global-name ] { mask-length | mask } |
必选 |
进入接口视图 |
interface interface-type interface-number |
- |
使配置的NAT静态转换在接口上生效 |
nat outbound static [ track vrrp virtual-router-id ] |
必选 |
通过在接口上配置访问控制列表和地址池(或接口地址)的关联即可实现动态地址转换。
· 若直接使用接口的IP地址作为转换后的地址,则配置Easy IP功能来实现动态地址转换。
· 若选择使用地址池中的地址作为转换后的地址,则根据地址转换过程中是否使用端口信息可将动态地址转换分为NO-PAT和NAPT两种方式:NO-PAT为不使用TCP/UDP端口信息实现的多对多地址转换;NAPT为使用TCP/UDP端口信息实现的多对一地址转换。
· 配置控制地址转换范围的访问控制列表。
· 确定是否直接使用接口的IP地址作为转换后的报文源地址。
· 配置根据实际网络情况,合理规划可用于地址转换的公网IP地址池。
· 确定地址转换过程中是否使用端口信息。
访问控制列表的配置请参见“ACL和QoS配置指导”中的“ACL”。
用于地址转换的IP地址池有两种配置方式,一种是直接定义一个包含一段连续地址的地址池,另外一种是配置可包含多段连续地址的地址组。一个地址组中可以添加多个地址组成员,每个地址组成员都可以指定一段连续的地址池,因此通过配置地址组,可以指定多段非连续的IP地址。
动态地址转换的过程中,NAT设备将会从配置的地址池中挑选一个IP地址做为转换后的报文源地址。
表1-4 定义地址池
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
定义一个地址池 |
nat address-group group-number start-address end-address |
必选 |
表1-5 配置地址组
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建一个地址组,并进入地址组视图 |
nat address-group group-number |
必选 |
添加地址组成员 |
address start-address end-address |
必选 |
· 不同地址池中定义的IP地址段之间不允许重叠。
· 地址组成员的IP地址段不能与其它地址池或者地址组成员的IP地址段重叠。
通过配置Easy IP功能,实现直接使用接口的IP地址作为转换后的报文源地址。
表1-6 配置Easy IP
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置访问控制列表和接口地址关联,实现Easy IP功能 |
nat outbound [ acl-number ] [ track vrrp virtual-router-id ] |
必选 |
通过配置访问控制列表和地址池(或接口地址)的关联,将与访问控制列表匹配的报文的源地址映射为地址池中的地址(或接口地址),且不使用端口信息。
表1-7 配置NO-PAT
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
在出接口配置访问控制列表和地址池关联,且不使用端口信息,实现NO-PAT |
nat outbound [ acl-number ] address-group group-number [ vpn-instance vpn-instance-name ] no-pat [ track vrrp virtual-router-id ] |
必选 |
通过配置访问控制列表和地址池(或接口地址)的关联,将与访问控制列表匹配的报文的源地址映射为地址池中的地址(或接口地址),且使用端口信息。
nat outbound [ acl-number ] [ address-group group-number [ vpn-instance vpn-instance-name ] ] [ track vrrp virtual-router-id ] |
通过配置内部服务器,可以将相应的外部地址和端口映射到内部服务器的私有地址和端口上,从而使外部网络用户能够访问内部服务器。内部服务器与外部网络的映射表是通过在接口上配置nat server命令生成的。
配置内部服务器时需要配置的信息包括:外部网络的信息(外部网络地址global-address、外部网络端口global-port)、内部网络的信息(内部网络地址local-address、内部网络端口local-port)以及服务协议类型。根据配置的内外部网络信息的不同,可以将内部服务器分为普通内部服务器和负载分担内部服务器。
内部服务器以及对外公布的外网地址均可以支持MPLS L3VPN。当内部服务器位于MPLS L3VPN时,还应指定所属的vpn-instance-name。如果不设置该值,表示内部服务器不属于任何一个VPN。
配置普通的内部服务器是将内网服务器的地址和端口(local-address、local-port)映射为外网地址和端口(global-address、global-port),允许外部网络中的主机访问位于内网的服务器。
表1-9 配置普通内部服务器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置普通内部服务器 |
nat server protocol pro-type global { global-address | current-interface | interface interface-type interface-number } [ global-port ] [ vpn-instance global-name ] inside local-address [ local-port ] [ vpn-instance local-name ] [ track vrrp virtual-router-id ] |
二者必选其一 |
nat server protocol pro-type global { global-address current-interface | interface interface-type interface-number } global-port1 global-port2 [ vpn-instance global-name ] inside local-address1 local-address2 local-port [ vpn-instance local-name ] [ track vrrp virtual-router-id ] |
· 目前设备支持引用接口地址作为内部服务器的外网地址,即可配置Easy IP方式的内部服务器。可以指定的接口只能是Loopback接口,且该Loopback接口必须是已存在的。
· 配置Easy IP方式的内部服务器时,如果指定的接口未配置地址,则对应的内部服务器的配置不生效。
配置负载分担内部服务器映射是指在配置内部服务器时,将内部服务器的内网信息指定为一个内部服务器组。当内部服务器组中包含多个成员时,该组内的多台主机可以共同对外提供某种服务,从而实现内部服务器的负载分担。
表1-10 配置负载分担内部服务器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置内部服务器组 |
nat server-group group-number |
必选 |
添加内部服务器组成员 |
inside ip inside-ip port port-number [ weight weight-value ] |
必选 |
进入接口视图 |
interface interface-type interface-number |
- |
配置负载分担内部服务器 |
nat server protocol pro-type global { global-address | current-interface | interface interface-type interface-number } global-port [ vpn-instance global-name ] inside server-group group-number [ vpn-instance local-name ] |
必选 |
· nat server中引用的内部服务器组中必须有成员存在。
· 同一个内部服务器组中的成员IP地址必须是唯一的。
通过配置DNS mapping,可以实现私网用户通过域名(DNS服务器在公网)访问位于同一私网的内部服务器的功能。
表1-11 配置DNS mapping
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置一条域名到内部服务器的映射 |
nat dns-map domain domain-name protocol pro-type ip global-ip port global-port |
必选 |
NAT连接限制功能的配置介绍请参见平台“安全配置指导”中的“连接限制”。
在完成上述配置后,在任意视图下执行display命令可以显示NAT配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可以清除地址转换的统计信息。
表1-12 NAT显示和维护
操作 |
命令 |
显示NAT地址池的信息 |
display nat address-group [ group-number ] [ | { begin | exclude | include } regular-expression ] |
显示所有的NAT配置信息 |
display nat all [ | { begin | exclude | include } regular-expression ] |
显示地址转换关联的配置信息 |
display nat bound [ | { begin | exclude | include } regular-expression ] |
显示DNS mapping的配置信息 |
display nat dns-map [ | { begin | exclude | include } regular-expression ] |
显示内部服务器的信息 |
display nat server [ | { begin | exclude | include } regular-expression ] |
显示内部服务器组的信息 |
display nat server-group [ group-number ] [ | { begin | exclude | include } regular-expression ] |
显示静态配置的信息 |
display nat static [ | { begin | exclude | include } regular-expression ] |
显示指定单板上的当前NAT转换表项信息(非IRF模式) |
display nat session [ vpn-instance vpn-instance-name ] slot slot-number [ source { global global-address | inside inside-address } ] [ destination dst-address ] [ | { begin | exclude | include } regular-expression ] |
显示成员设备上指定单板的当前NAT转换表项信息(IRF模式) |
display nat session [ vpn-instance vpn-instance-name ] chassis chassis-number slot slot-number [ source { global global-address | inside inside-address } ] [ destination dst-address ] [ | { begin | exclude | include } regular-expression ] |
显示指定单板上的NAT统计信息 |
display nat statistics slot slot-number [ | { begin | exclude | include } regular-expression ] |
显示成员设备上指定单板的NAT统计信息(IRF模式) |
display nat statistics chassis chassis-number slot slot-number [ | { begin | exclude | include } regular-expression ] |
内部网络用户10.110.10.8/24使用公网地址202.38.1.100访问Internet。
图1-5 静态地址转换典型配置组网图
# 按照组网图配置各接口的IP地址,具体配置过程略。
# 配置一对一静态地址转换映射。
<Router> system-view
[Router] nat static 10.110.10.8 202.38.1.100
# 使配置的静态地址转换在接口GigabitEthernet3/1/2上生效。
[Router] interface gigabitethernet 3/1/2
[Router-GigabitEthernet3/1/2] nat outbound static
[Router-GigabitEthernet3/1/2] quit
某公司内部对外提供Web、FTP和SMTP服务,而且提供两台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,内部SMTP服务器IP地址为10.110.10.4/16。公司具有202.38.1.1/24至202.38.1.3/24三个IP地址。需要实现如下功能:
· 外部的主机可以访问内部的服务器。
· 选用202.38.1.1作为公司对外提供服务的IP地址,Web服务器2对外采用8080端口。
图1-6 普通内部服务器典型配置组网
# 按照组网图配置各接口的IP地址,具体配置过程略。
# 进入接口GigabitEthernet3/1/2。
<Router> system-view
[Router] interface gigabitethernet 3/1/2
# 设置内部FTP服务器。
[Router-GigabitEthernet3/1/2] nat server protocol tcp global 202.38.1.1 21 inside 10.110.10.3 ftp
# 设置内部Web服务器1。
[Router-GigabitEthernet3/1/2] nat server protocol tcp global 202.38.1.1 80 inside 10.110.10.1 www
# 设置内部Web服务器2。
[Router-GigabitEthernet3/1/2] nat server protocol tcp global 202.38.1.1 8080 inside 10.110.10.2 www
# 设置内部SMTP服务器。
[Router-GigabitEthernet3/1/2] nat server protocol tcp global 202.38.1.1 smtp inside 10.110.10.4 smtp
[Router-GigabitEthernet3/1/2] quit
某公司内部对外提供FTP服务,对外的公网IP地址为202.38.1.1/16。共有3台FTP服务器可以同时提供服务,并进行负载分担。
图1-7 负载分担内部服务器典型配置组网
# 按照组网图配置各接口的IP地址,具体配置过程略。
# 配置内部服务器组0及其成员10.110.10.1、10.110.10.2和10.110.10.3。
<Router> system-view
[Router] nat server-group 0
[Router-nat-server-group-0] inside ip 10.110.10.1 port 21
[Router-nat-server-group-0] inside ip 10.110.10.2 port 21
[Router-nat-server-group-0] inside ip 10.110.10.3 port 21
[Router-nat-server-group-0] quit
# 配置负载分担内部服务器,引用内部服务器组0,该组内的主机共同对外提供FTP服务。
[Router] interface gigabitethernet 3/1/2
[Router-GigabitEthernet3/1/2] nat server protocol tcp global 202.38.1.1 ftp inside server-group 0
[Router-GigabitEthernet3/1/2] quit
某公司内部对外提供Web和FTP服务。公司内部网址为10.110.0.0/16。其中,Web服务器地址为10.110.10.1,FTP服务器的IP地址为10.110.10.2。公司具有202.38.1.1/24至202.38.1.3/24三个合法的IP地址。另外公司在公网有一台DNS服务器,IP地址为202.38.1.4/24。需要实现如下功能:
· 选用202.38.1.2作为公司对外提供服务的IP地址。
· 公网用户可以通过域名或IP地址访问内部服务器。
· 私网用户可以通过域名访问内部服务器。
图1-8 NAT DNS mapping典型配置组网
# 按照组网图配置各接口的IP地址,具体配置过程略。
# 进入接口GigabitEthernet3/1/2。
<Router> system-view
[Router] interface gigabitethernet 3/1/2
# 配置内部Web服务器。
[Router-GigabitEthernet3/1/2] nat server protocol tcp global 202.38.1.2 inside 10.110.10.1 www
# 配置内部FTP服务器。
[Router-GigabitEthernet3/1/2] nat server protocol tcp global 202.38.1.2 inside 10.110.10.2 ftp
[Router-GigabitEthernet3/1/2] quit
# 配置两条DNS-mapping表项:Web服务器的域名www.server.com对应IP地址202.38.1.2;FTP服务器的域名ftp.server.com对应IP地址202.38.1.2。
[Router] nat dns-map domain www.server.com protocol tcp ip 202.38.1.2 port www
[Router] nat dns-map domain ftp.server.com protocol tcp ip 202.38.1.2 port ftp
[Router] quit
# 上述配置完成后,可以用display命令查看DNS mapping的配置情况。
<Router> display nat dns-map
NAT DNS mapping information:
There are currently 2 NAT DNS mapping(s)
Domain-name: www.server.com
Global-IP : 202.38.1.2
Global-port: 80(www)
Protocol : 6(TCP)
Domain-name: ftp.server.com
Global-IP : 202.38.1.2
Global-port: 21(ftp)
Protocol : 6(TCP)
私网Host A和公网Host B均可通过域名www.server.com访问私网内的Web服务器,以及通过域名ftp.server.com访问私网内的FTP服务器。
故障排除:通过打开NAT的调试信息开关,根据设备上的调试信息,初步定位错误,然后使用其它命令作进一步的判断。调试时,注意观察地址转换后的源地址,要保证这个地址是希望转换的地址,否则可能会是地址池配置错误。同时要保证目的网络到地址池中地址段的路由可达。注意防火墙以及地址转换本身的访问控制列表对地址转换造成的影响,同时注意路由的配置。
故障排除:如果外部主机不能正常访问内部服务器,请检查是否是内部服务器主机的配置有错或路由器上对内部服务器的配置有错,如对内部服务器的IP地址指定错误等等。同时也有可能是防火墙禁止了外部主机对内部网络的访问,可以用display acl命令来查看,详细内容请参见“安全配置指导”中的“防火墙”。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!