05-NAT配置
本章节下载: 05-NAT配置 (563.87 KB)
MSR810/810-W/810-W-DB/810-LM/810-W-LM/810-LM-HK/810-W-LM-HK/2630/3610/3620/3620-DP/3640/3660/3600-28/3600-51/MSR2600-10-X1路由器使用集中式命令行,MSR 5620/5660/5680路由器使用分布式命令行。
NAT(Network Address Translation,网络地址转换)是将IP数据报文头中的IP地址转换为另一个IP地址的过程。在实际应用中,NAT主要应用在连接两个网络的边缘设备上,用于实现允许内部网络用户访问外部公共网络以及允许外部公共网络访问部分内部网络资源(例如内部服务器)的目的。NAT最初的设计目的是实现私有网络访问公共网络的功能,后扩展为实现任意两个网络间进行访问时的地址转换应用。
NAT可以让少量的外网网络IP地址代表较多的内部网络IP地址,这种地址转换能力具备以下优点:
· 私有网络内部的通信利用私网地址,如果私有网络需要与外部网络通信或访问外部资源,则可通过将大量的私网地址转换成少量的公网地址来实现,这在一定程度上缓解了IPv4地址空间日益枯竭的压力。
· 地址转换可以利用端口信息,通过同时转换公网地址与传输层端口号,使得多个私网用户可共用一个公网地址与外部网络通信,节省了公网地址。
· 通过静态映射,不同的内部服务器可以映射到同一个公网地址。外部用户可通过公网地址和端口访问不同的内部服务器,同时还隐藏了内部服务器的真实IP地址,从而防止外部对内部服务器乃至内部网络的攻击。
· 方便网络管理,例如私网服务器迁移时,无需过多配置的改变,仅仅通过调整内部服务器的映射表就可将这一变化体现出来。
配置了NAT功能的连接内部网络和外部网络的边缘设备,通常被称为NAT设备。当内部网络访问外部网络的报文经过NAT设备时,NAT设备会用一个合法的公网地址替换原报文中的源IP地址,并对这种转换进行记录;之后,当报文从外网侧返回时,NAT设备查找原有的记录,将报文的目的地址再替换回原来的私网地址,并转发给内网侧主机。这个过程,在私网侧或公网侧设备看来,与普通的网络访问并没有任何的区别。
· NAT接口:NAT设备上应用了NAT相关配置的接口。
· NAT地址:用于进行地址转换的IP地址,与外部网络路由可达,可静态指定或动态分配。
· NAT表项:NAT设备上用于记录网络地址转换映射关系的表项。
· Easy IP功能:NAT转换时直接使用设备上接口的IP地址作为NAT地址。设备上接口的地址可通过DHCP或PPPoE等协议动态获取,因此对于支持Easy IP的NAT配置,不直接指定NAT地址,而是指定对应的接口或当前接口。
报文经过NAT设备时,在NAT接口上仅进行一次源IP地址转换或一次目的IP地址转换。对于内网访问外网的报文,在出接口上进行源IP地址转换;对于外网访问内网的报文,在入接口上进行目的IP地址转换。
报文入接口和出接口均为NAT接口。报文经过NAT设备时,先后进行两次NAT转换。对于内网访问外网的报文和外网访问内网的报文,均在入接口进行目的IP地址转换,在出接口进行源IP地址转换。这种方式常用于支持地址重叠的VPN间互访。
报文经过NAT设备时,在NAT接口上同时进行一次源IP地址转换和一次目的IP地址转换。对于内网访问外网的报文,在出接口上同时进行源IP地址和目的IP地址的转换;对于外网访问内网的报文,同时在入接口上进行目的地址IP地址和源IP地址的转换。这种方式常用于支持内网用户主动访问与之地址重叠的外网资源。
NAT hairpin功能用于满足位于内网侧的用户之间或内网侧的用户与服务器之间通过NAT地址进行访问的需求。使能NAT hairpin的内网侧接口上会对报文同时进行源地址和目的地址的转换。它支持两种组网模式:
· P2P:位于内网侧的用户之间通过动态分配的NAT地址互访。
· C/S:位于内网侧的用户使用静态配置的NAT地址访问内网服务器。
如图1-1所示,一台NAT设备连接内网和外网,连接外网的接口为NAT接口,当有报文经过NAT设备时,NAT的基本工作过程如下。
图1-1 NAT基本工作过程示意图
(1) 当内网用户主机(192.168.1.3)向外网服务器(1.1.1.2)发送的IP报文通过NAT设备时,NAT设备查看报文的IP头内容,发现该报文是发往外网的,则将其源IP地址字段的内网地址192.168.1.3转换成一个可路由的外网地址20.1.1.1,并将该报文发送给外网服务器,同时在NAT设备上建立表项记录这一映射。
(2) 外网服务器给内网用户发送的应答报文到达NAT设备后,NAT设备使用报文信息匹配建立的表项,然后查找匹配到的表项记录,用内网私有地址192.168.1.3替换初始的目的IP地址20.1.1.1。
上述的NAT过程对终端(如图中的Host和Server)来说是透明的。对外网服务器而言,它认为内网用户主机的IP地址就是20.1.1.1,并不知道有192.168.1.3这个地址。因此,NAT“隐藏”了企业的私有网络。
在实际应用中,我们可能希望某些内部网络的主机可以访问外部网络,而某些主机不允许访问;或者希望某些外部网络的主机可以访问内部网络,而某些主机不允许访问。即NAT设备只对符合要求的报文进行地址转换。
NAT设备可以利用ACL(Access Control List,访问控制列表)来对地址转换的使用范围进行控制,通过定义ACL规则,并将其与NAT配置相关联,实现只对匹配指定的ACL permit规则的报文才进行地址转换的目的。而且,NAT仅使用规则中定义的源IP地址、源端口号、目的IP地址、目的端口号、传输层协议类型和VPN实例这几个元素进行报文匹配,忽略其它元素。
动态地址转换是指内部网络和外部网络之间的地址映射关系在建立连接的时候动态产生。该方式通常适用于内部网络有大量用户需要访问外部网络的组网环境。动态地址转换存在两种转换模式:
· NO-PAT模式
NO-PAT(Not Port Address Translation)模式下,一个外网地址同一时间只能分配给一个内网地址进行地址转换,不能同时被多个内网地址共用。当使用某外网地址的内网用户停止访问外网时,NAT会将其占用的外网地址释放并分配给其他内网用户使用。
该模式下,NAT设备只对报文的IP地址进行NAT转换,同时会建立一个NO-PAT表项用于记录IP地址映射关系,并可支持所有IP协议的报文。
· PAT模式
PAT(Port Address Translation)模式下,一个NAT地址可以同时分配给多个内网地址共用。该模式下,NAT设备需要对报文的IP地址和传输层端口同时进行转换,且只支持TCP、UDP和ICMP(Internet Control Message Protocol,因特网控制消息协议)查询报文。
图1-2描述了PAT的基本原理。
图1-2 PAT基本原理示意图
如图1-2所示,三个带有内网地址的报文到达NAT设备,其中报文1和报文2来自同一个内网地址但有不同的源端口号,报文1和报文3来自不同的内网地址但具有相同的源端口号。通过PAT映射,三个报文的源IP地址都被转换为同一个外网地址,但每个报文都被赋予了不同的源端口号,因而仍保留了报文之间的区别。当各报文的回应报文到达时,NAT设备仍能够根据回应报文的目的IP地址和目的端口号来区别该报文应转发到的内部主机。
采用PAT方式可以更加充分地利用IP地址资源,实现更多内部网络主机对外部网络的同时访问。
目前,PAT支持两种不同的地址转换模式:
· Endpoint-Independent Mapping(不关心对端地址和端口转换模式):只要是来自相同源地址和源端口号的报文,不论其目的地址是否相同,通过PAT映射后,其源地址和源端口号都被转换为同一个外部地址和端口号,该映射关系会被记录下来并生成一个EIM表项;并且NAT设备允许所有外部网络的主机通过该转换后的地址和端口来访问这些内部网络的主机。这种模式可以很好的支持位于不同NAT网关之后的主机进行互访。
· Address and Port-Dependent Mapping(关心对端地址和端口转换模式):对于来自相同源地址和源端口号的报文,相同的源地址和源端口号并不要求被转换为相同的外部地址和端口号,若其目的地址或目的端口号不同,通过PAT映射后,相同的源地址和源端口号通常会被转换成不同的外部地址和端口号。与Endpoint-Independent Mapping模式不同的是,NAT设备只允许这些目的地址对应的外部网络的主机可以通过该转换后的地址和端口来访问这些内部网络的主机。这种模式安全性好,但由于同一个内网主机地址转换后的外部地址不唯一,因此不便于位于不同NAT网关之后的主机使用内网主机转换后的地址进行互访。
在实际应用中,内网中的服务器可能需要对外部网络提供一些服务,例如给外部网络提供Web服务,或是FTP服务。这种情况下,NAT设备允许外网用户通过指定的NAT地址和端口访问这些内部服务器,NAT内部服务器的配置就定义了NAT地址和端口与内网服务器地址和端口的映射关系。
如图1-3所示,外部网络用户访问内部网络服务器的数据报文经过NAT设备时,NAT设备将报文的目的地址与接口上的NAT内部服务器配置进行匹配,并将匹配上的访问内部服务器的请求报文的目的IP地址和端口号转换成内部服务器的私有IP地址和端口号。当内部服务器回应该报文时,NAT设备再根据已有的地址映射关系将回应报文的源IP地址和端口号转换成外网IP地址和端口号。
设备各款型对于本节所描述的特性支持情况有所不同,详细差异信息如下:
型号 |
特性 |
描述 |
MSR810/810-W/810-W-DB/810-LM/810-W-LM/810-LM-HK/810-W-LM-HK |
DS-Lite B4端口块方式 |
不支持 |
MSR 2630 |
支持 |
|
MSR3600-28/3600-51 |
支持 |
|
MSR 3610/3620/3620-DP/3640/3660 |
支持 |
|
MSR 5620/5660/5680 |
支持 |
|
MSR2600-10-X1 |
支持 |
DS-Lite(Dual Stack Lite,轻量级双协议栈)技术综合了IPv4 over IPv6隧道技术和NAT技术,利用隧道技术实现通过IPv6网络连接隔离的IPv4网络。
在DS-Lite网络中,B4设备为用户网络的网关或者运行DS-Lite客户端软件的用户主机,AFTR设备作为隧道端点设备和NAT网关负责执行隧道报文的封装、解封装以及对解封装后的IPv4地址进行转换。
图1-4 DS-Lite网络组网图
在该组网环境下,AFTR设备可基于B4的IPv6地址对B4分配端口块,DS-Lite主机或所有以B4为网关的私网主机共用该B4的端口块访问IPv4网络。该方式支持对DS-Lite主机基于端口块的溯源。
目前,仅支持对B4进行动态映射方式的端口块分配。
NAT设备处理一个连接的首报文时便确定了相应的地址转换关系,并同时创建会话表项,该会话表项中添加了NAT扩展信息(例如接口信息、转换方式)。会话表项中记录了首报文的地址转换信息。这类经过NAT处理的会话表项,也称为NAT会话表项。
当该连接的后续报文经过NAT设备时,将与NAT会话表项进行匹配,NAT设备从匹配到的会话表项中得到首报文的转换方式,并根据首报文的转换方式对后续报文进行处理。后续报文方向与首报文相同时,源和目的的转换方式与首报文相同;方向相反时,转换方式与首报文相反。即,如果首报文转换了源地址,则后续报文需要转换目的地址;如果首报文转换了目的地址,则后续报文需要转换源地址。
NAT会话表项的更新和老化由会话管理模块维护,关于会话管理的相关介绍请参见“安全配置指导”中的“会话管理”。
如果NAT设备上使能了Endpoint-Independent Mapping模式,则在PAT方式的动态地址转换过程中,会首先创建一个NAT会话表项,然后创建一个EIM表项用于记录地址和端口的转换关系(内网地址和端口<-->NAT地址和端口),该表项有以下两个作用:
· 保证后续来自相同源地址和源端口的新建连接与首次连接使用相同的转换关系。
· 允许外网主机向NAT地址和端口发起的新建连接根据EIM表项进行反向地址转换。
该表项在与其相关联的所有NAT会话表项老化后老化。
在NO-PAT方式进行源地址的动态转换过程中,NAT设备首先创建一个NAT会话表项,然后建立一个NO-PAT表项用于记录该转换关系(内网地址<-->NAT地址)。除此之外,在NAT设备进行ALG处理时,也会触发创建NO-PAT表项。NAT ALG的相关介绍请参见“1.1.7 NAT支持ALG”。
NO-PAT表项有以下两个作用:
· 保证后续来自相同源地址的新建连接与首次连接使用相同的转换关系。
· 配置了reversible参数的情况下,允许满足指定条件的主机向NAT地址发起的新建连接根据NO-PAT表项进行反向地址转换。
该表项在与其相关联的所有NAT会话表项老化后老化。
设备各款型对于本节所描述的特性支持情况有所不同,详细差异信息如下:
型号 |
特性 |
描述 |
MSR810/810-W/810-W-DB/810-LM/810-W-LM/810-LM-HK/810-W-LM-HK |
NAT支持多VPN实例 |
不支持 |
MSR 2630 |
支持 |
|
MSR3600-28/3600-51 |
支持 |
|
MSR 3610/3620/3620-DP/3640/3660 |
支持 |
|
MSR 5620/5660/5680 |
支持 |
|
MSR2600-10-X1 |
支持 |
支持多VPN实例的NAT允许VPN实例内的用户访问外部网络,同时允许分属于不同VPN实例的用户互访。例如,当某VPN实例内的用户经过NAT设备访问外部网络时,NAT将内部网络主机的IP地址和端口替换为NAT地址和端口,同时还记录了用户的VPN实例信息(如VPN实例名称)。外部网络的回应报文到达NAT设备时,NAT将外部网络地址和端口还原为内部网络主机的IP地址和端口,同时可得知该回应报文应该转发给哪一个VPN实例内的用户。另外,NAT还可利用外部网络地址所携带的VPN实例信息,支持多个VPN实例之间的互访。
同时,NAT内部服务器也支持多VPN实例,这给外部网络提供了访问VPN实例内服务器的机会。例如,VPN1内提供Web服务的主机地址是10.110.1.1,可以使用202.110.10.20作为Web服务器的外部地址,Internet的用户使用202.110.10.20的地址就可以访问到VPN1提供的Web服务。
一般情况下,DNS(Domain Name System,域名系统)服务器和访问私网服务器的用户都在公网,通过在NAT设备的公网接口上配置内部服务器,可以将公网地址、端口等信息映射到私网内的服务器上,使得公网用户可以通过内部服务器的域名或公网地址来访问内部服务器。但是,如图1-5所示,如果DNS服务器在公网,私网用户希望通过域名来访问私网的Web服务器,则会由于DNS服务器向私网用户发送的响应报文中包含的是私网服务器的公网地址,而导致收到响应报文的私网用户无法利用域名访问私网服务器。通过在设备上配置DNS mapping可以解决该问题。
图1-5 NAT DNS mapping工作示意图
DNS mapping功能是指,通过配置“域名+公网IP地址+公网端口号+协议类型”的映射表,建立内部服务器域名与内部服务器公网信息的对应关系。在配置了NAT的接口上,设备检查接收到的DNS响应报文,根据报文中的域名查找用户配置的DNS mapping映射表,并根据表项内的“公网地址+公网端口+协议类型”信息查找内部服务器地址映射表中该信息对应的私网地址,替换DNS查询结果中的公网地址。这样,私网用户收到的DNS响应报文中就包含了要访问的内部服务器的私网地址,也就能够使用内部服务器域名访问同一私网内的内部服务器。
ALG(Application Level Gateway,应用层网关)主要完成对应用层报文的解析和处理。通常情况下,NAT只对报文头中的IP地址和端口信息进行转换,不对应用层数据载荷中的字段进行分析和处理。然而对于一些应用层协议,它们的报文的数据载荷中可能包含IP地址或端口信息,这些载荷信息也必须进行有效的转换,否则可能导致功能不正常。
例如,FTP(File Transfer Protocol,文件传输协议)应用由FTP客户端与FTP服务器之间建立的数据连接和控制连接共同实现,而数据连接使用的地址和端口由控制连接协商报文中的载荷信息决定,这就需要ALG利用NAT的相关转换配置完成载荷信息的转换,以保证后续数据连接的正确建立。
若接口上同时存在普通NAT静态地址转换、普通NAT动态地址转换和内部服务器的配置,则在地址转换过程中,它们的优先级从高到低依次为:
(2) 普通NAT静态地址转换。
(3) 普通NAT动态地址转换和DS-Lite B4地址转换。
表1-1 NAT配置任务简介
· PAT方式适用于大量内网用户通过少量NAT地址访问外网 · NO-PAT方式,通常仅用于配合内部服务器或静态地址转换实现双向NAT应用 |
||
配置NAT日志功能 |
NAT设备接收或者发送的NAT业务反向报文与NAT接口不一致时,如果快速转发负载分担功能处于开启状态,则反向报文会匹配快转表项进行NAT地址转换。如果快速转发负载分担功能处于关闭状态,则反向报文无法匹配快转表项进行NAT地址转换。关于快速转发负载分担功能的详细介绍,请参见“三层技术-IP业务配置指导”中的“快速转发”。
配置静态地址转换时,需要首先在系统视图下配置静态地址转换映射,然后在接口下使该转换映射生效。
静态地址转换映射支持两种方式:一对一静态转换映射、网段对网段静态转换映射。静态地址转换可以支持配置在接口的出方向(nat static outbound)或入方向(nat static inbound)上,入方向的静态地址转换通常用于与接口上的出方向动态地址转换(nat outbound)、内部服务器(nat server)或出方向静态地址转换(nat static outbound)配合以实现双向NAT,不建议单独配置。
· 配置控制地址转换范围的ACL。ACL配置的相关介绍请参见“ACL和QoS配置指导”中的“ACL”。需要注意的是,NAT仅关注ACL规则中定义的源IP地址、源端口号、目的IP地址、目的端口号、传输层协议类型和VPN实例,不关注ACL规则中定义的其它元素。
· 对于入方向静态地址转换,需要手添加路由:目的地址为静态地址转换配置中指定的local-ip或local-network;下一跳为静态地址转换配置中指定的外网地址,或者报文出接口的实际下一跳地址。
出方向一对一静态地址转换通常应用在外网侧接口上,用于实现一个内部私有网络地址到一个外部公有网络地址的转换,具体过程如下:
· 对于经过该接口发送的内网访问外网的报文,将其源IP地址与指定的内网IP地址local-ip进行匹配,并将匹配的源IP地址转换为global-ip。
· 对于该接口接收到的外网访问内网的报文,将其目的IP地址与指定的外网IP地址global-ip进行匹配,并将匹配的目的IP地址转换为local-ip。
如果接口上配置的静态地址转换映射中指定了acl参数,则仅对符合指定ACL permit规则的报文进行地址转换。
nat static outbound local-ip [ vpn-instance local-name ] global-ip [ vpn-instance global-name ] [ acl { acl-number | name acl-name } [ reversible ] ] |
||
开启接口上的NAT静态地址转换功能 |
缺省情况下,NAT静态地址转换功能处于关闭状态 |
出方向网段对网段静态地址转换通常应用在外网侧接口上,用于实现一个内部私有网络到一个外部公有网络的地址转换,具体过程如下:
· 对于经过该接口发送的内网访问外网的报文,将其源IP地址与指定的内网网络地址进行匹配,并将匹配的源IP地址转换为指定外网网络地址之一。
· 对于该接口接收到的外网访问内网的报文,将其目的IP地址与指定的外网网络地址进行匹配,并将匹配的目的IP地址转换为指定的内网网络地址之一。
如果接口上配置的静态地址转换映射中指定了acl参数,则仅对符合指定ACL permit规则的报文进行地址转换。
nat static outbound net-to-net local-start-address local-end-address [ vpn-instance local-name ] global global-network { mask-length | mask } [ vpn-instance global-name ] [ acl { acl-number | name acl-name } [ reversible ] ] |
||
开启接口上的NAT静态地址转换功能 |
缺省情况下,NAT静态地址转换功能处于关闭状态 |
入方向一对一静态地址转换用于实现一个内部私有网络地址与一个外部公有网络地址之间的转换,具体过程如下:
· 对于经过该接口发送的内网访问外网的报文,将其目的IP地址与指定的内网IP地址local-ip进行匹配,并将匹配的目的IP地址转换为global-ip。
· 对于该接口接收到的外网访问内网的报文,将其源IP地址与指定的外网IP地址global-ip进行匹配,并将匹配的源IP地址转换为local-ip。
如果接口上配置的静态地址转换映射中指定了acl参数,则仅对符合指定ACL permit规则的报文进行地址转换。
nat static inbound global-ip [ vpn-instance global-name ] local-ip [ vpn-instance local-name ] [ acl { acl-number | name acl-name } [ reversible ] ] |
||
开启接口上的NAT静态地址转换功能 |
缺省情况下,NAT静态地址转换功能处于关闭状态 |
入方向网段对网段静态地址转换用于实现一个内部私有网络与一个外部公有网络之间的地址转换,具体过程如下:
· 对于经过该接口发送的内网访问外网的报文,将其目的IP地址与指定的内网网络地址进行匹配,并将匹配的目的IP地址转换为指定的外网网络地址之一。
· 对于该接口接收到的外网访问内网的报文,将其源IP地址与指定的外网网络地址进行匹配,并将匹配的源IP地址转换为指定的内网网络地址之一。
如果接口上配置的静态地址转换映射中指定了acl参数,则仅对符合指定ACL permit规则的报文进行地址转换。
nat static inbound net-to-net global-start-address global-end-address [ vpn-instance global-name ] local local-network { mask-length | mask } [ vpn-instance local-name ] [ acl { acl-number | name acl-name } [ reversible ] ] |
||
开启接口上的NAT静态地址转换功能 |
缺省情况下,NAT静态地址转换功能处于关闭状态 |
通过在接口上配置ACL和地址组(或接口地址)的关联即可实现动态地址转换。
· 直接使用接口的IP地址作为转换后的地址,即实现Easy IP功能。
· 选择使用地址组中的地址作为转换后的地址,根据地址转换过程中是否转换端口信息可将动态地址转换分为NO-PAT和PAT两种方式。
· 指定了ACL参数的动态地址转换配置的优先级高于未指定ACL参数的动态地址转换配置;
· 对于指定了ACL参数的动态地址转换配置,其优先级由ACL编号的大小决定,编号越大,优先级越高。
· 配置控制地址转换范围的ACL。ACL配置的相关介绍请参见“ACL和QoS配置指导”中的“ACL”。需要注意的是,NAT仅关注ACL规则中定义的源IP地址、源端口号、目的IP地址、目的端口号、传输层协议类型和VPN实例,不关注ACL规则中定义的其它元素。
· 确定是否直接使用接口的IP地址作为转换后的报文源地址。
· 配置根据实际网络情况,合理规划可用于地址转换的公网IP地址组。
· 对于入方向动态地址转换,如果指定了add-route参数,则有报文命中该配置时,设备会自动添加路由表项:目的地址为本次地址转换使用的地址组中的地址,出接口为本配置所在接口,下一跳地址为报文的源地址;如果没有指定add-route参数,则用户需要在设备上手工添加路由。由于自动添加路由表项速度较慢,通常建议手工添加路由。
出方向动态地址转换通常应用在外网侧接口上,用于实现一个内部私有网络地址到一个外部公有网络地址的转换,具体过程如下:
· 对于经过该接口发送的内网访问外网的报文,将与指定ACL permit规则匹配的报文源IP地址转换为地址组中的地址。
· 在指定了no-pat reversible参数,并且已经存在NO-PAT表项的情况下,对于经过该接口收到的外网访问内网的首报文,将其目的IP地址与NO-PAT表项进行匹配,并将目的IP地址转换为匹配的NO-PAT表项中记录的内网地址。
创建一个NAT地址组,并进入NAT地址组视图 |
|||
当前地址组成员的IP地址段不能与该地址组中或者其它地址组中已有的地址成员组成员重叠 |
|||
NO-PAT方式 |
nat outbound [ acl-number | name acl-name ] address-group group-number [ vpn-instance vpn-instance-name ] no-pat [ reversible ] |
||
PAT方式 |
nat outbound [ acl-number | name acl-name ] [ address-group group-number ] [ vpn-instance vpn-instance-name ] [ port-preserved ] |
||
(可选)配置PAT方式地址转换的模式 |
nat mapping-behavior endpoint-independent [ acl { acl-number | name acl-name } ] |
缺省情况下,PAT方式地址转换的模式为Address and Port-Dependent Mapping 该配置只对PAT方式的出方向动态地址转换有效 |
入方向动态地址转换功能通常与接口上的出方向动态地址转换(nat outbound)、内部服务器(nat server)或出方向静态地址转换(nat static outbound)配合,用于实现双向NAT应用,不建议单独使用。
· 对于该接口接收到的外网访问内网的首报文,将与指定的ACL permit规则匹配的报文的源IP地址转换为地址组中的地址。
· 在指定了no-pat reversible参数,并且已经存在NO-PAT表项的情况下,对于经过该接口发送的内网访问外网的首报文,将其目的IP地址与NO-PAT表项进行匹配,并将目的IP地址转换为匹配的NO-PAT表项中记录的外网地址。
创建一个NAT地址组,并进入NAT地址组视图 |
缺省情况下,不存在NAT地址组 |
|
当前地址组成员的IP地址段不能与该地址组中或者其它地址组中已有的地址组成员重叠 |
||
nat inbound { acl-number | name acl-name } address-group group-number [ vpn-instance vpn-instance-name ] [ no-pat [ reversible ] [ add-route ] ] |
通过在NAT设备上配置内部服务器,建立一个或多个内网服务器内网地址和端口与外网地址和端口的映射关系,使外部网络用户能够通过配置的外网地址和端口来访问内网服务器。内部服务器可以位于一个普通的内网内,也可以位于一个VPN实例内。
若普通内部服务器或者负载分担内部服务器配置中引用了acl参数,则表示与指定的ACL permit规则匹配的报文才可以使用内部服务器的映射表进行地址转换。需要注意的是,NAT仅关注ACL规则中定义的源IP地址、源端口号、目的IP地址、目的端口号、传输层协议类型和VPN实例,不关注ACL规则中定义的其它元素。
普通的内部服务器是将内网服务器的地址和端口映射为外网地址和端口,允许外部网络中的主机通过配置的外网地址和端口访问位于内网的服务器。
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 ] [ acl { acl-number | name acl-name } ] |
|||
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-address | local-address1 local-address2 } local-port | local-address local-port1 local-port2 } [ vpn-instance local-name ] [ acl { acl-number | name acl-name } ] |
|||
nat server protocol pro-type global global-address1 global-address2 [ global-port ] [ vpn-instance global-name ] inside { local-address | local-address1 local-address2 } [ local-port ] [ vpn-instance local-name ] [ acl { acl-number | name acl-name } ] |
|||
nat server protocol pro-type global global-address1 global-address2 global-port [ vpn-instance global-name ] inside local-address local-port1 local-port2 [ vpn-instance local-name ] [ acl { acl-number | name acl-name } ] |
负载分担内部服务器是指在配置内部服务器时,将内部服务器的内网信息指定为一个内部服务器组,组内的多台主机可以共同对外提供某种服务。外网用户向内部服务器指定的外网地址发起应用请求时,NAT设备可根据内网服务器的权重和当前连接数,选择其中一台内网服务器作为目的服务器,实现内网服务器负载分担。
inside ip inside-ip port port-number [ weight weight-value ] |
||
nat server protocol pro-type global { { global-address | current-interface | interface interface-type interface-number } { global-port | global-port1 global-port2 } | global-address1 global-address2 global-port } [ vpn-instance global-name ] inside server-group group-number [ vpn-instance local-name ] [ acl { acl-number | name acl-name } ] |
普通内部服务器方式必须指定公网地址,基于ACL内部服务器不用指定具体的公网地址,而是指定公网地址的集合,即通过ACL规则匹配过滤的一部分公网地址。对于符合ACL规则的报文,它的目的地址统一转换成相同的内部服务器地址和端口,它是普通内部服务器的扩展。
表1-10 配置基于ACL的内部服务器
|
||
配置基于ACL的内部服务器 |
nat server global { global-acl-number | name global-acl-name } inside local-address [ local-port ] [ vpn-instance local-name ] |
一个接口下可以配置多个基于ACL的内部服务器 |
设备各款型对于本节所描述的特性支持情况有所不同,详细差异信息如下:
型号 |
特性 |
描述 |
MSR810/810-W/810-W-DB/810-LM/810-W-LM/810-LM-HK/810-W-LM-HK |
配置DS-Lite B4地址转换 |
不支持 |
MSR 2630 |
支持 |
|
MSR3600-28/3600-51 |
支持 |
|
MSR 3610/3620/3620-DP/3640/3660 |
支持 |
|
MSR 5620/5660/5680 |
支持 |
|
MSR2600-10-X1 |
支持 |
通过在NAT网关设备上配置DS-Lite B4地址转换,可以实现基于端口块的公网IP地址复用,使一个DS-Lite B4 IPv6地址在一个时间段内独占一个公网IP地址的某个端口块。
DS-Lite B4地址转换配置在外网侧接口上,目前仅支持端口块动态映射方式。
对于DS-Lite B4端口块动态映射,接口上NAT地址池关联IPv6 ACL。
创建一个NAT地址组,并进入NAT地址组视图 |
||
当前地址组成员的IP地址段不能与该地址组中或者其它地址组中已有的地址成员组成员重叠 |
||
该配置仅对PAT方式地址转换生效 |
||
port-block block-size block-size [ extended-block-number extended-block-number ] |
该配置仅对PAT方式地址转换生效 |
|
配置基于B4地址的DS-Lite NAT转换 |
nat outbound ds-lite-b4 { ipv6-acl-number | name ipv6-acl-name } address-group group-number |
|
(可选)配置PAT方式地址转换的模式 |
nat mapping-behavior endpoint-independent [ acl { acl-number | name acl-name } ] |
缺省情况下,PAT方式出方向动态地址转换的模式为Address and Port-Dependent Mapping |
通过配置DNS mapping,可以在DNS服务器位于外网的情况下,实现内网用户可通过域名访问位于同一内网的内部服务器的功能。DNS mapping功能需要和内部服务器配合使用,由nat server配置定义内部服务器对外提供服务的外网IP地址和端口号,由DNS mapping建立“内部服务器域名<-->外网IP地址+外网端口号+协议类型”的映射关系。
NAT设备对来自外网的DNS响应报文进行DNS ALG处理时,由于载荷中只包含域名和应用服务器的外网IP地址(不包含传输协议类型和端口号),当接口上存在多条NAT服务器配置且使用相同的外网地址而内网地址不同时,DNS ALG仅使用IP地址来匹配内部服务器可能会得到错误的匹配结果。因此需要借助DNS mapping的配置,指定域名与应用服务器的外网IP地址、端口和协议的映射关系,由域名获取应用服务器的外网IP地址、端口和协议,进而(在当前NAT接口上)精确匹配内部服务器配置获取应用服务器的内网IP地址。
通过在内网侧接口上使能NAT hairpin功能,可以实现内网用户使用NAT地址访问内网服务器或内网其它用户。NAT hairpin功能需要与内部服务器(nat server)、出方向动态地址转换(nat outbound)或出方向静态地址转换(nat static outbound)配合工作,且这些配置所在的接口必须在同一个接口板,否则NAT hairpin功能无法正常工作。
· C/S方式:NAT在内网接口上同时转换访问内网服务器的报文的源和目的IP地址,其中,目的IP地址转换通过匹配某外网接口上的内部服务器配置来完成,源地址转换通过匹配内部服务器所在接口上的出方向动态地址转换或出方向静态地址转换来完成。
· P2P方式:内网各主机首先向外网服务器注册自己的内网地址信息,该地址信息为外网侧出方向地址转换的NAT地址,然后内网主机之间通过使用彼此向外网服务器注册的外网地址进行互访。该方式下,外网侧的出方向地址转换必须配置为PAT转换方式,并使能EIM模式。
缺省情况下,NAT hairpin功能处于关闭状态 |
通过开启指定应用协议类型的ALG功能,实现对应用层报文数据载荷字段的分析和NAT处理。
开启指定或所有协议类型的NAT ALG功能 |
nat alg { all | dns | ftp | h323 | icmp-error | ils | mgcp | nbt | pptp | rsh | rtsp | sccp | sip | sqlnet | tftp | xdmcp } |
缺省情况下,所有协议类型的NAT ALG功能均处于开启状态 |
NAT会话日志是为了满足网络管理员安全审计的需要,对NAT会话(报文经过设备时,源或目的信息被NAT进行过转换的连接)信息进行的记录,包括IP地址及端口的转换信息、用户的访问信息以及用户的网络流量信息。
有三种情况可以触发设备生成NAT会话日志:
· 新建NAT会话。
· 删除NAT会话。新增高优先级的配置、删除配置、报文匹配规则变更、NAT会话老化以及执行删除NAT会话的命令时,都可能导致NAT会话被删除。
· 存在NAT活跃流。NAT活跃流是指在一定时间内存在的NAT会话。当设置的生成活跃流日志的时间间隔到达时,当前存在的NAT会话信息就被记录并生成日志。
表1-15 配置NAT会话日志功能
开启NAT日志功能 |
缺省情况下,NAT日志功能处于关闭状态 |
|
开启NAT新建会话的日志功能 |
缺省情况下,创建、删除NAT会话或存在NAT活跃流时,均不生成NAT日志 |
|
开启NAT删除会话的日志功能 |
||
开启NAT活跃流的日志功能,并设置生成活跃流日志的时间间隔 |
在完成上述配置后,在任意视图下执行display命令可以显示NAT配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可以清除NAT表项。
表1-16 NAT显示和维护
显示所有的NAT配置信息 |
|
显示NAT地址组的配置信息 |
|
显示NAT DNS mapping的配置信息 |
|
显示NAT EIM表项信息(集中式设备) |
|
显示NAT EIM表项信息(分布式设备-独立运行模式/集中式IRF设备) |
|
显示NAT EIM表项信息(分布式设备-IRF模式) |
|
显示NAT入接口动态地址转换关系的配置信息 |
|
显示NAT日志功能的配置信息 |
|
显示NAT NO-PAT表项信息(集中式设备) |
|
显示NAT NO-PAT表项信息(分布式设备-独立运行模式/集中式IRF设备) |
|
显示NAT NO-PAT表项信息(分布式设备-IRF模式) |
display nat no-pat [ chassis chassis-number slot slot-number ] |
显示NAT出接口动态地址转换关系的配置信息 |
|
显示NAT内部服务器的配置信息 |
|
显示NAT内部服务器组的配置信息 |
|
显示NAT会话(集中式设备) |
|
显示NAT会话(分布式设备-独立运行模式/集中式IRF设备) |
|
显示NAT会话(分布式设备-IRF模式) |
|
显示NAT静态地址转换的配置信息 |
|
显示NAT统计信息(集中式设备) |
|
显示NAT统计信息(分布式设备-独立运行模式/集中式IRF设备) |
|
显示NAT统计信息(分布式设备-IRF模式) |
display nat statistics [ summary ] [ chassis chassis-number slot slot-number ] |
显示端口块表项(分布式设备-独立运行模式/集中式IRF设备) |
display nat port-block { dynamic [ ds-lite-b4 ] | static } [ slot slot-number ] |
删除NAT会话(集中式设备) |
|
删除NAT会话(分布式设备-独立运行模式/集中式IRF设备) |
|
删除NAT会话(分布式设备-IRF模式) |
reset nat session [ chassis chassis-number slot slot-number ] |
内部网络用户10.110.10.8/24使用外网地址202.38.1.100访问Internet。
# 按照组网图配置各接口的IP地址,具体配置过程略。
# 配置内网IP地址10.110.10.8到外网地址202.38.1.100之间的一对一静态地址转换映射。
[Router] nat static outbound 10.110.10.8 202.38.1.100
# 使配置的静态地址转换在接口GigabitEthernet2/0/2上生效。
[Router] interface gigabitethernet 2/0/2
[Router-GigabitEthernet2/0/2] nat static enable
[Router-GigabitEthernet2/0/2] quit
# 以上配置完成后,内网主机可以访问外网服务器。通过查看如下显示信息,可以验证以上配置成功。
Static NAT mappings:
Totally 1 outbound static NAT mappings.
IP-to-IP:
Local IP : 10.110.10.8
Global IP : 202.38.1.100
Config status: Active
Global flow-table status: Active
Local flow-table status: Active
Interfaces enabled with static NAT:
Totally 1 interfaces enabled with static NAT.
Interface: GigabitEthernet2/0/2
Config status: Active
# 通过以下显示命令,可以看到Host访问某外网服务器时生成NAT会话信息。
[Router] display nat session verbose
Initiator:
Source IP/port: 10.110.10.8/42496
Destination IP/port: 202.38.1.111/2048
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: ICMP(1)
Inbound interface: GigabitEthernet2/0/1
Responder:
Source IP/port: 202.38.1.111/42496
Destination IP/port: 202.38.1.100/0
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: ICMP(1)
Inbound interface: GigabitEthernet2/0/2
State: ICMP_REPLY
Application: INVALID
Start time: 2012-08-16 09:30:49 TTL: 27s
Initiator->Responder: 5 packets 420 bytes
Responder->Initiator: 5 packets 420 bytes
Total sessions found: 1
· 某公司内网使用的IP地址为192.168.0.0/16。
· 该公司拥有202.38.1.2和202.38.1.3两个外网IP地址。
需要实现,内部网络中192.168.1.0/24网段的用户可以访问Internet,其它网段的用户不能访问Internet。使用的外网地址为202.38.1.2和202.38.1.3。
图1-7 内网用户通过NAT访问外网(地址不重叠)
# 按照组网图配置各接口的IP地址,具体配置过程略。
# 配置地址组0,包含两个外网地址202.38.1.2和202.38.1.3。
[Router] nat address-group 0
[Router-address-group-0] address 202.38.1.2 202.38.1.3
[Router-address-group-0] quit
# 配置ACL 2000,仅允许对内部网络中192.168.1.0/24网段的用户报文进行地址转换。
[Router-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Router-acl-ipv4-basic-2000] quit
# 在接口GigabitEthernet2/0/2上配置出方向动态地址转换,允许使用地址组0中的地址对匹配ACL 2000的报文进行源地址转换,并在转换过程中使用端口信息。
[Router] interface gigabitethernet 2/0/2
[Router-GigabitEthernet2/0/2] nat outbound 2000 address-group 0
[Router-GigabitEthernet2/0/2] quit
以上配置完成后,Host A能够访问WWW server,Host B和Host C无法访问WWW server。通过查看如下显示信息,可以验证以上配置成功。
NAT address group information:
Totally 1 NAT address groups.
Address group 0:
Port range: 1-65535
Address information:
Start address End address
202.38.1.2 202.38.1.3
NAT outbound information:
Totallu 1 NAT outbound rules.
Interface: GigabitEthernet2/0/2
ACL: 2000 Address group: 0 Port-preserved: N
NO-PAT: N Reversible: N
Config status: Active
Global flow-table status: Active
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RSH : Enabled
RTSP : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
# 通过以下显示命令,可以看到Host A访问WWW server时生成NAT会话信息。
[Router] display nat session verbose
Initiator:
Source IP/port: 192.168.1.10/52992
Destination IP/port: 200.1.1.10/2048
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: ICMP(1)
Inbound interface: GigabitEthernet2/0/1
Responder:
Source IP/port: 200.1.1.10/4
Destination IP/port: 202.38.1.3/0
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: ICMP(1)
Inbound interface: GigabitEthernet2/0/2
State: ICMP_REPLY
Application: INVALID
Start time: 2012-08-15 14:53:29 TTL: 12s
Initiator->Responder: 1 packets 84 bytes
Responder->Initiator: 1 packets 84 bytes
Total sessions found: 1
· 某公司内网网段地址为192.168.1.0/24,该网段与要访问的外网Web服务器所在网段地址重叠。
· 该公司拥有202.38.1.2和202.38.1.3两个外网IP地址。
需要实现,内网用户可以通过域名访问外网的Web服务器。
图1-8 内网用户通过NAT访问外网(地址重叠)
这是一个典型的双向NAT应用,具体配置思路如下。
· 内网主机通过域名访问外网Web服务器时,首先需要向外网的DNS服务器发起DNS查询请求。由于外网DNS服务器回复给内网主机的DNS应答报文载荷中的携带的Web服务器地址与内网主机地址重叠,因此NAT设备需要将载荷中的Web服务器地址转换为动态分配的一个NAT地址。动态地址分配可以通过入方向动态地址转换实现,载荷中的地址转换需要通过DNS ALG功能实现。
· 内网主机得到外网Web服务器的IP地址之后(该地址为临时分配的NAT地址),通过该地址访问外网Web服务器。由于内网主机的地址与外网Web服务器的真实地址重叠,因此也需要为其动态分配一个的NAT地址,可以通过出方向动态地址转换实现。
· 外网Web服务器对应的NAT地址在NAT设备上没有路由,因此需要手工添加静态路由,使得目的地址为外网服务器NAT地址的报文出接口为GigabitEthernet2/0/2。
# 按照组网图配置各接口的IP地址,具体配置过程略。
# 开启DNS的NAT ALG功能。
[Router] nat alg dns
# 配置ACL 2000,仅允许对192.168.1.0/24网段的用户报文进行地址转换。
[Router-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Router-acl-ipv4-basic-2000] quit
# 创建地址组1。
# 添加地址组成员202.38.1.2。
[Router-address-group-1] address 202.38.1.2 202.38.1.2
[Router-address-group-1] quit
# 创建地址组2。
# 添加地址组成员202.38.1.3。
[Router-address-group-2] address 202.38.1.3 202.38.1.3
[Router-address-group-2] quit
# 在接口GigabitEthernet2/0/2上配置入方向动态地址转换,允许使用地址组1中的地址对DNS应答报文载荷中的外网地址进行转换,并在转换过程中不使用端口信息,以及允许反向地址转换。
[Router] interface gigabitethernet 2/0/2
[Router-GigabitEthernet2/0/2] nat inbound 2000 address-group 1 no-pat reversible
# 在接口GigabitEthernet2/0/2上配置出方向动态地址转换,允许使用地址组2中的地址对内网访问外网的报文进行源地址转换,并在转换过程中使用端口信息。
[Router-GigabitEthernet2/0/2] nat outbound 2000 address-group 2
[Router-GigabitEthernet2/0/2] quit
# 配置静态路由,目的地址为外网服务器NAT地址202.38.1.2,出接口为GigabitEthernet2/0/2,下一跳地址为20.2.2.2(20.2.2.2为本例中的直连下一跳地址,实际使用中请以具体组网情况为准)。
[Router] ip route-static 202.38.1.2 32 gigabitethernet 2/0/2 20.2.2.2
以上配置完成后,Host A能够通过域名访问Web server。通过查看如下显示信息,可以验证以上配置成功。
NAT address group information:
Totally 2 NAT address groups.
Address group 1:
Port range: 1-65535
Address information:
Start address End address
202.38.1.2 202.38.1.2
Address group 2:
Port range: 1-65535
Address information:
Start address End address
202.38.1.3 202.38.1.3
NAT inbound information:
Totally 1 NAT inbound rules.
Interface: GigabitEthernet2/0/2
ACL: 2000 Address group: 1 Add route: N
NO-PAT: Y Reversible: Y
Config status: Active
Global flow-table status: Active
NAT outbound information:
Totally 1 NAT outbound rules.
Interface: GigabitEthernet2/0/2
ACL: 2000 Address group: 2 Port-preserved: N
NO-PAT: N Reversible: N
Config status: Active
Global flow-table status: Active
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RSH : Enabled
RTSP : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
# 通过以下显示命令,可以看到Host A访问WWW server时生成NAT会话信息。
[Router] display nat session verbose
Initiator:
Source IP/port: 192.168.1.10/1694
Destination IP/port: 202.38.1.2/8080
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet2/0/1
Responder:
Source IP/port: 192.168.1.10/8080
Destination IP/port: 202.38.1.3/1025
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet2/0/2
State: TCP_ESTABLISHED
Application: HTTP
Start time: 2012-08-15 14:53:29 TTL: 3597s
Initiator->Responder: 7 packets 308 bytes
Responder->Initiator: 5 packets 312 bytes
Total sessions found: 1
某公司内部对外提供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至202.38.1.3三个公网IP地址。需要实现如下功能:
· 选用202.38.1.1作为公司对外提供服务的IP地址,Web服务器2对外采用8080端口。
# 按照组网图配置各接口的IP地址,具体配置过程略。
# 进入接口GigabitEthernet2/0/2。
[Router] interface gigabitethernet 2/0/2
# 配置内部FTP服务器,允许外网主机使用地址202.38.1.1、端口号21访问内网FTP服务器。
[Router-GigabitEthernet2/0/2] nat server protocol tcp global 202.38.1.1 21 inside 10.110.10.3 ftp
# 配置内部Web服务器1,允许外网主机使用地址202.38.1.1、端口号80访问内网Web服务器1。
[Router-GigabitEthernet2/0/2] nat server protocol tcp global 202.38.1.1 80 inside 10.110.10.1 http
# 配置内部Web服务器2,允许外网主机使用地址202.38.1.1、端口号8080访问内网Web服务器2。
[Router-GigabitEthernet2/0/2] nat server protocol tcp global 202.38.1.1 8080 inside 10.110.10.2 http
# 配置内部SMTP服务器,允许外网主机使用地址202.38.1.1以及SMTP协议定义的端口访问内网SMTP服务器。
[Router-GigabitEthernet2/0/2] nat server protocol tcp global 202.38.1.1 smtp inside 10.110.10.4 smtp
以上配置完成后,外网Host能够通过NAT地址访问各内网服务器。通过查看如下显示信息,可以验证以上配置成功。
NAT internal server information:
Totally 4 internal servers.
Interface: GigabitEthernet2/0/2
Protocol: 6(TCP)
Global IP/port: 202.38.1.1/21
Local IP/port : 10.110.10.3/21
Config status : Active
Global flow-table status: Active
Local flow-table status: Active
Interface: GigabitEthernet2/0/2
Protocol: 6(TCP)
Global IP/port: 202.38.1.1/25
Local IP/port : 10.110.10.4/25
Config status : Active
Global flow-table status: Active
Local flow-table status: Active
Interface: GigabitEthernet2/0/2
Protocol: 6(TCP)
Global IP/port: 202.38.1.1/80
Local IP/port : 10.110.10.1/80
Config status : Active
Global flow-table status: Active
Local flow-table status: Active
Interface: GigabitEthernet2/0/2
Protocol: 6(TCP)
Global IP/port: 202.38.1.1/8080
Local IP/port : 10.110.10.2/80
Config status : Active
Global flow-table status: Active
Local flow-table status: Active
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RSH : Enabled
RTSP : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
# 通过以下显示命令,可以看到Host访问FTP server时生成NAT会话信息。
[Router] display nat session verbose
Initiator:
Source IP/port: 202.38.1.10/1694
Destination IP/port: 202.38.1.1/21
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet2/0/2
Responder:
Source IP/port: 10.110.10.3/21
Destination IP/port: 202.38.1.10/1694
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet2/0/1
State: TCP_ESTABLISHED
Application: FTP
Start time: 2012-08-15 14:53:29 TTL: 3597s
Initiator->Responder: 7 packets 308 bytes
Responder->Initiator: 5 packets 312 bytes
Total sessions found: 1
· 某公司内部对外提供Web服务,Web服务器地址为10.110.10.2/24。
· 该公司在内网有一台DNS服务器,IP地址为10.110.10.3/24,用于解析Web服务器的域名。
· 该公司拥有两个外网IP地址:202.38.1.2和202.38.1.3。
· 外网主机通过域名访问Web服务器,首先需要通过访问内网DNS服务器获取Web服务器的IP地址,因此需要通过配置NAT内部服务器将DNS服务器的内网IP地址和DNS服务端口映射为一个外网地址和端口。
· DNS服务器回应给外网主机的DNS报文载荷中携带了Web服务器的内网IP地址,因此需要将DNS报文载荷中的内网IP地址转换为一个外网IP地址。外网地址分配可以通过出方向动态地址转换功能实现,转换载荷信息可以通过DNS ALG功能实现。
# 按照组网图配置各接口的IP地址,具体配置过程略。
# 开启DNS协议的ALG功能。
[Router] nat alg dns
# 配置ACL 2000,允许对内部网络中10.110.10.2的报文进行地址转换。
[Router-acl-ipv4-basic-2000] rule permit source 10.110.10.2 0
[Router-acl-ipv4-basic-2000] quit
# 创建地址组1。
# 添加地址组成员202.38.1.3。
[Router-address-group-1] address 202.38.1.3 202.38.1.3
[Router-address-group-1] quit
# 在接口GigabitEthernet2/0/2上配置NAT内部服务器,允许外网主机使用地址202.38.1.2访问内网DNS服务器。
[Router] interface gigabitethernet 2/0/2
[Router-GigabitEthernet2/0/2] nat server protocol udp global 202.38.1.2 inside 10.110.10.3 dns
# 在接口GigabitEthernet2/0/2上配置出方向动态地址转换,允许使用地址组1中的地址对DNS应答报文载荷中的内网地址进行转换,并在转换过程中不使用端口信息,以及允许反向地址转换。
[Router-GigabitEthernet2/0/2] nat outbound 2000 address-group 1 no-pat reversible
以上配置完成后,外网Host能够通过域名访问内网Web server。通过查看如下显示信息,可以验证以上配置成功。
NAT address group information:
Totally 1 NAT address groups.
Address group 1:
Port range: 1-65535
Address information:
Start address End address
202.38.1.3 202.38.1.3
NAT outbound information:
Totally 1 NAT outbound rules.
Interface: GigabitEthernet2/0/2
ACL: 2000 Address group: 1 Port-preserved: N
NO-PAT: Y Reversible: Y
Config status: Active
Global flow-table status: Active
NAT internal server information:
Totally 1 internal servers.
Interface: GigabitEthernet2/0/2
Protocol: 17(UDP)
Global IP/port: 202.38.1.2/53
Local IP/port : 10.110.10.3/53
Config status : Active
Global flow-table status: Active
Local flow-table status: Active
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RSH : Enabled
RTSP : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
# 通过以下显示命令,可以看到Host访问Web server时生成NAT会话信息。
[Router] display nat session verbose
Initiator:
Source IP/port: 202.1.1.2/1694
Destination IP/port: 202.38.1.3/8080
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet2/0/2
Responder:
Source IP/port: 10.110.10.2/8080
Destination IP/port: 202.1.1.2/1694
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet2/0/1
State: TCP_ESTABLISHED
Application: HTTP
Start time: 2012-08-15 14:53:29 TTL: 3597s
Initiator->Responder: 7 packets 308 bytes
Responder->Initiator: 5 packets 312 bytes
Total sessions found: 1
· 某公司内网使用的IP地址为192.168.1.0/24。
· 该公司内部对外提供Web服务,Web服务器地址为192.168.1.2/24。
· 该公司在内网有一台DNS服务器,IP地址为192.168.1.3/24,用于解析Web服务器的域名。
· 该公司拥有三个外网IP地址:202.38.1.2、202.38.1.3和202.38.1.4。
需要实现,外网主机可以通过域名访问与其地址重叠的内网Web服务器。
这是一个典型的双向NAT应用,具体配置思路如下。
· 外网主机通过域名访问Web服务器,首先需要访问内部的DNS服务器获取Web服务器的IP地址,因此需要通过配置NAT内部服务器将DNS服务器的内网IP地址和DNS服务端口映射为一个外网地址和端口。
· DNS服务器回应给外网主机的DNS报文载荷中携带了Web服务器的内网IP地址,该地址与外网主机地址重叠,因此在出方向上需要为内网Web服务器动态分配一个NAT地址,并将载荷中的地址转换为该地址。NAT地址分配可以通过出方向动态地址转换功能实现,转换载荷信息可以通过DNS ALG功能实现。
· 外网主机得到内网Web服务器的IP地址之后(该地址为NAT地址),使用该地址访问内网Web服务器,因为外网主机的地址与内网Web服务器的真实地址重叠,因此在入方向上也需要为外网主机动态分配一个NAT地址,可以通过入方向动态地址转换实现。
· NAT设备上没有目的地址为外网主机对应NAT地址的路由,因此需要手工添加静态路由,使得目的地址为外网主机NAT地址的报文的出接口为GigabitEthernet2/0/2。
# 按照组网图配置各接口的IP地址,具体配置过程略。
# 开启DNS协议的ALG功能。
[Router] nat alg dns
# 配置ACL 2000,允许对内部网络中192.168.1.0/24网段的报文进行地址转换。
[Router-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Router-acl-ipv4-basic-2000] quit
# 创建地址组1。
# 添加地址组成员202.38.1.2。
[Router-address-group-1] address 202.38.1.2 202.38.1.2
[Router-address-group-1] quit
# 创建地址组2。
# 添加地址组成员202.38.1.3。
[Router-address-group-2] address 202.38.1.3 202.38.1.3
[Router-address-group-2] quit
# 在接口GigabitEthernet2/0/2上配置NAT内部服务器,允许外网主机使用地址202.38.1.4访问内网DNS服务器。
[Router] interface gigabitethernet 2/0/2
[Router-GigabitEthernet2/0/2] nat server protocol udp global 202.38.1.4 inside 192.168.1.3 dns
# 在接口GigabitEthernet2/0/2上配置出方向动态地址转换,允许使用地址组1中的地址对DNS应答报文载荷中的内网地址进行转换,并在转换过程中不使用端口信息,以及允许反向地址转换。
[Router-GigabitEthernet2/0/2] nat outbound 2000 address-group 1 no-pat reversible
# 在接口GigabitEthernet2/0/2上配置入方向动态地址转换,允许使用地址组2中的地址对外网访问内网的报文进行源地址转换,并在转换过程中使用端口信息。
[Router-GigabitEthernet2/0/2] nat inbound 2000 address-group 2
[Router-GigabitEthernet2/0/2] quit
# 配置到达202.38.1.3地址的静态路由,出接口为GigabitEthernet2/0/2,下一跳地址为20.2.2.2(20.2.2.2为本例中的直连下一跳地址,实际使用中请以具体组网情况为准)。
[Router] ip route-static 202.38.1.3 32 gigabitethernet 2/0/2 20.2.2.2
以上配置完成后,外网Host能够通过域名访问内网相同IP地址的Web server。通过查看如下显示信息,可以验证以上配置成功。
NAT address group information:
Totally 2 NAT address groups.
Address group 1:
Port range: 1-65535
Address information:
Start address End address
202.38.1.2 202.38.1.2
Address group 2:
Port range: 1-65535
Address information:
Start address End address
202.38.1.3 202.38.1.3
NAT inbound information:
Totally 1 NAT inbound rules.
Interface: GigabitEthernet2/0/2
ACL: 2000 Address group: 2 Add route: N
NO-PAT: N Reversible: N
Config status: Active
Global flow-table status: Active
NAT outbound information:
Totally 1 NAT outbound rules.
Interface: GigabitEthernet2/0/2
ACL: 2000 Address group: 1 Port-preserved: N
NO-PAT: Y Reversible: Y
Config status: Active
Global flow-table status: Active
NAT internal server information:
Totally 1 internal servers.
Interface: GigabitEthernet2/0/2
Protocol: 17(UDP)
Global IP/port: 202.38.1.4/53
Local IP/port : 200.1.1.3/53
Config status : Active
Global flow-table status: Active
Local flow-table status: Active
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RSH : Enabled
RTSP : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
# 通过以下显示命令,可以看到Host访问Web server时生成NAT会话信息。
[Router] display nat session verbose
Initiator:
Source IP/port: 192.168.1.2/1694
Destination IP/port: 202.38.1.2/8080
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet2/0/2
Responder:
Source IP/port: 192.168.1.2/8080
Destination IP/port: 202.38.1.3/1025
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet2/0/1
State: TCP_ESTABLISHED
Application: HTTP
Start time: 2012-08-15 14:53:29 TTL: 3597s
Initiator->Responder: 7 packets 308 bytes
Responder->Initiator: 5 packets 312 bytes
Total sessions found: 1
· 某公司内部网络中有一台FTP服务器,地址为192.168.1.4/24。
· 该公司拥有两个外网IP地址:202.38.1.1和202.38.1.2。
· 外网主机可以通过202.38.1.2访问内网中的FTP服务器。
· 内网主机也可以通过202.38.1.2访问内网中的FTP服务器。
图1-12 内网用户通过NAT地址访问内网服务器
该需求为典型的C-S模式的NAT hairpin应用,具体配置思路如下。
· 为使外网主机可以通过外网地址访问内网FTP服务器,需要在外网侧接口配置NAT内部服务器。
· 为使内网主机通过外网地址访问内网FTP服务器,需要在内网侧接口使能NAT hairpin功能。其中,目的IP地址转换通过匹配外网侧接口上的内部服务器配置来完成,源地址转换通过匹配内部服务器所在接口上的出方向动态地址转换或出方向静态地址转换来完成,本例中采用出方向动态地址转换配置。
# 按照组网图配置各接口的IP地址,具体配置过程略。
# 配置ACL 2000,允许对内部网络中192.168.1.0/24网段的报文进行地址转换。
[Router] acl basic 2000
[Router-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Router-acl-ipv4-basic-2000] quit
# 在接口GigabitEthernet2/0/2上配置NAT内部服务器,允许外网主机使用地址202.38.1.2访问内网FTP服务器,同时使得内网主机访问内网FTP服务器的报文可以进行目的地址转换。
[Router] interface gigabitethernet 2/0/2
[Router-GigabitEthernet2/0/2] nat server protocol tcp global 202.38.1.2 inside 192.168.1.4 ftp
# 在接口GigabitEthernet2/0/2上配置Easy IP方式的出方向动态地址转换,使得内网主机访问内网FTP服务器的报文可以使用接口GigabitEthernet2/0/2的IP地址进行源地址转换。
[Router-GigabitEthernet2/0/2] nat outbound 2000
[Router-GigabitEthernet2/0/2] quit
# 在接口GigabitEthernet2/0/1上使能NAT hairpin功能。
[Router] interface gigabitethernet 2/0/1
[Router-GigabitEthernet2/0/1] nat hairpin enable
[Router-GigabitEthernet2/0/1] quit
以上配置完成后,内网主机和外网主机均能够通过外网地址访问内网FTP Server。通过查看如下显示信息,可以验证以上配置成功。
NAT outbound information:
Totally 1 NAT outbound rules.
Interface: GigabitEthernet2/0/2
ACL: 2000 Address group: --- Port-preserved: N
NO-PAT: N Reversible: N
Config status: Active
Global flow-table status: Active
NAT internal server information:
Totally 1 internal servers.
Interface: GigabitEthernet2/0/2
Protocol: 6(TCP)
Global IP/port: 202.38.1.2/21
Local IP/port : 192.168.1.4/21
Config status : Active
Global flow-table status: Active
Local flow-table status: Active
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NAT hairpinning:
Totally 1 interfaces enabled with NAT hairpinning.
Interface: GigabitEthernet2/0/1
Config status: Active
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RSH : Enabled
RTSP : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
# 通过以下显示命令,可以看到Host A访问FTP server时生成NAT会话信息。
[Router] display nat session verbose
Initiator:
Source IP/port: 192.168.1.2/1694
Destination IP/port: 202.38.1.2/21
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet2/0/1
Responder:
Source IP/port: 192.168.1.4/21
Destination IP/port: 202.38.1.1/1025
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet2/0/1
State: TCP_ESTABLISHED
Application: HTTP
Start time: 2012-08-15 14:53:29 TTL: 3597s
Initiator->Responder: 7 packets 308 bytes
Responder->Initiator: 5 packets 312 bytes
Total sessions found: 1
某P2P应用环境中,内网中的客户端首先需要向外网服务器进行注册,外网服务器会记录客户端的IP地址和端口号。如果内网的一个客户端要访问内网的另一个客户端,首先需要向服务器获取对方的IP地址和端口号。
· 内网客户端可以向外网中的服务器注册,且注册为一个相同的外网地址。
· 内网客户端能够通过从服务器获得的IP地址和端口进行互访。
图1-13 内网用户通过NAT地址互访
该需求为典型的P2P模式的NAT hairpin应用,具体配置思路如下。
· 内网中的客户端需要向外网中的服务器注册,因此需要进行源地址转换,可以通过在外网侧接口配置出方向动态地址转换实现。
· 服务器记录客户端的IP地址和端口号,且该地址和端口号是NAT转换后的。由于服务器记录的客户端IP地址和端口号需要供任意源地址访问,因此客户端地址的转换关系必须不关心对端地址,这可以通过配置EIM模式的动态地址转换实现。
· 内部主机通过外网地址进行互访,需要在内网侧接口使能NAT hairpin功能。
# 按照组网图配置各接口的IP地址,具体配置过程略。
# 配置ACL 2000,允许对内部网络中192.168.1.0/24网段的报文进行地址转换。
[Router] acl basic 2000
[Router-ac-ipv4l-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Router-acl-ipv4-basic-2000] quit
# 在外网侧接口GigabitEthernet2/0/2上配置Easy IP方式的出方向动态地址转换,允许使用接口GigabitEthernet2/0/2的IP地址对内网访问外网的报文进行源地址转换,因为多个内部主机共用一个外网地址,因此需要配置为PAT方式,即转换过程中使用端口信息。
[Router] interface gigabitethernet 2/0/2
[Router-GigabitEthernet2/0/2] nat outbound 2000
[Router-GigabitEthernet2/0/2] quit
# 配置PAT方式下的地址转换模式为EIM,即只要是来自相同源地址和源端口号的且匹配ACL 2000的报文,不论其目的地址是否相同,通过PAT转换后,其源地址和源端口号都被转换为同一个外部地址和端口号。
[Router] nat mapping-behavior endpoint-independent acl 2000
# 在内网侧接口GigabitEthernet2/0/1上使能NAT hairpin功能。
[Router] interface gigabitethernet 2/0/1
[Router-GigabitEthernet2/0/1] nat hairpin enable
[Router-GigabitEthernet2/0/1] quit
以上配置完成后,Host A、Host B和Host C 分别向外网服务器注册之后,它们之间可以相互访问。通过查看如下显示信息,可以验证以上配置成功。
NAT outbound information:
Totally 1 NAT outbound rules.
Interface: GigabitEthernet2/0/2
ACL: 2000 Address group: --- Port-preserved: N
NO-PAT: N Reversible: N
Config status: Active
Global flow-table status: Active
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NAT hairpinning:
Totally 1 interfaces enabled with NAT hairpinning.
Interface: GigabitEthernet2/0/1
Config status: Active
NAT mapping behavior:
Mapping mode : Endpoint-Independent
ACL : 2000
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RSH : Enabled
RTSP : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
# 通过以下显示命令,可以看到Client A访问Client B时生成NAT会话信息。
[Router] display nat session verbose
Initiator:
Source IP/port: 192.168.1.3/44929
Destination IP/port: 202.38.1.3/1
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: UDP(17)
Inbound interface: GigabitEthernet2/0/1
Responder:
Source IP/port: 192.168.1.2/69
Destination IP/port: 202.38.1.3/1024
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: UDP(17)
Inbound interface: GigabitEthernet2/0/1
State: UDP_READY
Application: TFTP
Start time: 2012-08-15 15:53:36 TTL: 46s
Initiator->Responder: 1 packets 56 bytes
Responder->Initiator: 1 packets 72 bytes
Total sessions found: 1
某公司两个部门由于需要业务隔而分属不同的VPN实例,且两个部门内部使用了相同的子网地址空间。现在要求这两个部门的主机Host A 和Host B之间能够通过NAT地址互相访问。
这是一个典型的两次NAT应用:两个VPN之间主机交互的报文的源IP地址和目的IP地址都需要转换,即需要在连接两个VPN的接口上先后进行两次NAT,这可以通过在NAT设备的两侧接口上分别配置静态地址转换实现。
# 按照组网图配置各接口的VPN实例和IP地址,具体配置过程略。
# 配置VPN 1内的IP地址192.168.1.2到VPN 2内的IP地址172.16.1.2之间的静态地址转换映射。
[Router] nat static outbound 192.168.1.2 vpn-instance vpn1 172.16.1.2 vpn-instance vpn2
# 配置VPN 2内的IP地址192.168.1.2到VPN 1内的IP地址172.16.2.2之间的静态地址转换映射。
[Router] nat static outbound 192.168.1.2 vpn-instance vpn2 172.16.2.2 vpn-instance vpn1
# 在接口GigabitEthernet2/0/2上使能静态地址转换。
[Router] interface gigabitethernet 2/0/2
[Router-GigabitEthernet2/0/2] nat static enable
[Router-GigabitEthernet2/0/2] quit
# 在接口GigabitEthernet2/0/1上使能静态地址转换。
[Router] interface gigabitethernet 2/0/1
[Router-GigabitEthernet2/0/1] nat static enable
[Router-GigabitEthernet2/0/1] quit
以上配置完成后,Host A和Host B可以互通,且Host A的对外地址为172.16.1.2,Host B的对外地址为172.16.2.2。通过查看如下显示信息,可以验证以上配置成功。
Static NAT mappings:
Totally 2 outbound static NAT mappings.
IP-to-IP:
Local IP : 192.168.1.2
Global IP : 172.16.1.2
Local VPN : vpn1
Global VPN : vpn2
Config status: Active
Global flow-table status: Active
Local flow-table status: Active
IP-to-IP:
Local IP : 192.168.1.2
Global IP : 172.16.2.2
Local VPN : vpn2
Global VPN : vpn1
Config status: Active
Global flow-table status: Active
Local flow-table status: Active
Interfaces enabled with static NAT:
Totally 2 interfaces enabled with static NAT.
Interface: GigabitEthernet2/0/1
Config status: Active
Interface: GigabitEthernet2/0/2
Config status: Active
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RSH : Enabled
RTSP : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
# 通过以下显示命令,可以看到Host A访问Host B时生成NAT会话信息。
[Router] display nat session verbose
Initiator:
Source IP/port: 192.168.1.2/42496
Destination IP/port: 172.16.2.2/2048
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: vpn1/-/-
Protocol: ICMP(1)
Inbound interface: GigabitEthernet2/0/1
Responder:
Source IP/port: 192.168.1.2/42496
Destination IP/port: 172.16.1.2/0
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: vpn2/-/-
Protocol: ICMP(1)
Inbound interface: GigabitEthernet2/0/2
State: ICMP_REPLY
Application: INVALID
Start time: 2012-08-16 09:30:49 TTL: 27s
Initiator->Responder: 5 packets 420 bytes
Responder->Initiator: 5 packets 420 bytes
Total sessions found: 1
某公司内部拥有3台FTP服务器对外提供FTP服务。
· 使用IP地址为202.38.1.1作为公司对外提供服务的IP地址。
· 3台FTP服务器可以同时对外提供服务,并进行负载分担。
# 按照组网图配置各接口的IP地址,具体配置过程略。
# 配置内部服务器组0及其成员10.110.10.1、10.110.10.2和10.110.10.3。
[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
# 在接口Gigabitethernet2/0/2上配置负载分担内部服务器,引用内部服务器组0,该组内的主机共同对外提供FTP服务。
[Router] interface gigabitethernet 2/0/2
[Router-GigabitEthernet2/0/2] nat server protocol tcp global 202.38.1.1 ftp inside server-group 0
[Router-GigabitEthernet2/0/2] quit
以上配置完成后,外网主机可以访问内网FTP服务器组。通过查看如下显示信息,可以验证以上配置成功。
NAT server group information:
Totally 1 NAT server groups.
Group Number Inside IP Port Weight
0 10.110.10.1 21 100
10.110.10.2 21 100
10.110.10.3 21 100
NAT internal server information:
Totally 1 internal servers.
Interface: GigabitEthernet2/0/2
Protocol: 6(TCP)
Global IP/port: 202.38.1.1/21
Local IP/port : server group 0
10.110.10.1/21 (Connections: 1)
10.110.10.2/21 (Connections: 2)
10.110.10.3/21 (Connections: 2)
Config status : Active
Global flow-table status: Active
Local flow-table status: Active
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RSH : Enabled
RTSP : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
# 通过以下显示命令,可以看到外网主机访问内网某FTP server时生成NAT会话信息。
[Router] display nat session verbose
Initiator:
Source IP/port: 202.38.1.25/53957
Destination IP/port: 202.38.1.1/21
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet2/0/2
Responder:
Source IP/port: 10.110.10.3/21
Destination IP/port: 202.38.1.25/53957
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet2/0/1
State: TCP_ESTABLISHED
Application: FTP
Start time: 2012-08-16 11:06:07 TTL: 26s
Initiator->Responder: 1 packets 60 bytes
Responder->Initiator: 2 packets 120 bytes
Total sessions found: 5
某公司内部对外提供Web和FTP服务。公司内部网址为10.110.0.0/16。其中,Web服务器地址为10.110.10.1/16,FTP服务器地址为10.110.10.2/16。公司具有202.38.1.1至202.38.1.3三个公网IP地址。另外公司在外网有一台DNS服务器,IP地址为202.38.1.4。
· 选用202.38.1.2作为公司对外提供服务的IP地址。
· 外网用户可以通过域名或IP地址访问内部服务器。
图1-16 NAT DNS mapping典型配置组网图
· 内网服务器对外提供服务,需要配置NAT内部服务器将各服务器的内网IP地址和端口映射为一个外网地址和端口。
· 内网主机通过域名访问内网服务器时,首先需要通过出接口地址转换分配的外网地址访问外网的DNS服务器,并获取内网服务器的内网IP地址。由于DNS服务器向内网主机发送的响应报文中包含的是内网服务器的外网地址,因此NAT设备需要将DNS报文载荷内的外网地址转换为内网地址,这可以通过查找DNS mapping映射表配合DNS ALG功能实现。DNS mapping映射表用于实现根据“域名+外网IP地址+外网端口号+协议类型”查找到对应的“内网IP+内网端口号”。
# 按照组网图配置各接口的IP地址,具体配置过程略。
# 开启DNS的NAT ALG功能。
[Router] nat alg dns
# 进入接口GigabitEthernet2/0/2。
[Router] interface gigabitethernet 2/0/2
# 配置NAT内部Web服务器,允许外网主机使用地址202.38.1.2访问内网Web服务器。
[Router-GigabitEthernet2/0/2] nat server protocol tcp global 202.38.1.2 inside 10.110.10.1 http
# 配置NAT内部FTP服务器,允许外网主机使用地址202.38.1.2访问内网FTP服务器。
[Router-GigabitEthernet2/0/2] nat server protocol tcp global 202.38.1.2 inside 10.110.10.2 ftp
# 在接口GigabitEthernet2/0/2上配置Easy IP方式的出方向动态地址转换。
[Router-GigabitEthernet2/0/2] nat outbound
[Router-GigabitEthernet2/0/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 http
[Router] nat dns-map domain ftp.server.com protocol tcp ip 202.38.1.2 port ftp
[Router] quit
以上配置完成后,内网主机和外网主机均可以通过域名访问内网服务器。通过查看如下显示信息,可以验证以上配置成功。
NAT outbound information:
Totally 1 NAT outbound rules.
Interface: GigabitEthernet2/0/2
ACL: --- Address group: --- Port-preserved: N
NO-PAT: N Reversible: N
Config status: Active
Global flow-table status: Active
NAT internal server information:
Totally 2 internal servers.
Interface: GigabitEthernet2/0/2
Protocol: 6(TCP)
Global IP/port: 202.38.1.2/21
Local IP/port : 10.110.10.2/21
Config status : Active
Global flow-table status: Active
Local flow-table status: Active
Interface: GigabitEthernet2/0/2
Protocol: 6(TCP)
Global IP/port: 202.38.1.2/80
Local IP/port : 10.110.10.1/80
Config status : Active
Global flow-table status: Active
Local flow-table status: Active
NAT DNS mapping information:
Totally 2 NAT DNS mappings.
Domain name: ftp.server.com
Global IP : 202.38.1.2
Global port: 21
Protocol : TCP(6)
Config status: Active
Domain name: www.server.com
Global IP : 202.38.1.2
Global port: 80
Protocol : TCP(6)
Config status: Active
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Alarm : Disabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Enabled
ICMP-ERROR : Enabled
ILS : Enabled
MGCP : Enabled
NBT : Enabled
PPTP : Enabled
RSH : Enabled
RTSP : Enabled
SCCP : Enabled
SIP : Enabled
SQLNET : Enabled
TFTP : Enabled
XDMCP : Enabled
设备各款型对于本典型配置举例的支持情况有所不同,详细差异信息如下:
型号 |
特性 |
描述 |
MSR810/810-W/810-W-DB/810-LM/810-W-LM/810-LM-HK/810-W-LM-HK |
DS-Lite B4端口块动态映射配置举例 |
不支持 |
MSR 2630 |
支持 |
|
MSR3600-28/3600-51 |
支持 |
|
MSR 3610/3620/3620-DP/3640/3660 |
支持 |
|
MSR 5620/5660/5680 |
支持 |
|
MSR2600-10-X1 |
支持 |
支持DS-Lite协议的私网IPv4主机(即:DS-Lite host)和公网IPv4 network通过IPv6网络相连。通过在DS-Lite host和AFTR之间建立DS-Lite隧道,并在AFTR连接IPv4 network接口上配置NAT,为DS-Lite host动态分配端口块,实现IPv4私网穿越IPv6网络访问IPv4公网。
图1-17 DS-Lite隧道配置组网图
在开始下面的配置之前,请确保DS-Lite host和AFTR之间IPv6报文路由可达。
# 配置接口GigabitEthernet2/0/1的地址。
[Router] interface gigabitethernet 2/0/1
[Router-GigabitEthernet2/0/1] ip address 20.1.1.1 24
[Router-GigabitEthernet2/0/1] quit
# 配置接口GigabitEthernet2/0/2(隧道的实际物理接口)的地址。
[Router] interface gigabitethernet 2/0/2
[Router-GigabitEthernet2/0/2] ipv6 address 1::2 64
[Router-GigabitEthernet2/0/2] quit
# 创建模式为AFTR端DS-Lite隧道的接口Tunnel2。
[Router] interface tunnel 2 mode ds-lite-aftr
# 配置Tunnel2接口的IP地址。
[Router-Tunnel2] ip address 30.1.2.2 255.255.255.0
# 配置Tunnel2接口的源接口为GigabitEthernet2/0/2。
[Router-Tunnel2] source gigabitethernet 2/0/2
[Router-Tunnel2] quit
# 在接口GigabitEthernet2/0/1上使能DS-Lite隧道功能。
[Router] interface gigabitethernet 2/0/1
[Router-GigabitEthernet2/0/1] ds-lite enable
[Router-GigabitEthernet2/0/1] quit
# 配置NAT地址组0,包含两个外网地址20.1.1.11和20.1.1.12,外网地址的端口范围为1024~65535,端口块大小为300。
[Router-address-group-0] address 20.1.1.11 20.1.1.12
[Router-address-group-0] port-range 1024 65535
[Router-address-group-0] port-block block-size 300
[Router-address-group-0] quit
# 配置IPv6 ACL 2100,仅允许对1::/64网段的IPv6源地址进行地址转换。
[Router-acl-ipv6-basic-2100] rule permit source 1::/64
[Router-acl-ipv6-basic-2100] quit
# 在接口GigabitEthernet2/0/1上配置出方向动态地址转换,允许使用地址组0中的地址对匹配IPv6 ACL 2100的DS-Lite B4报文进行源地址转换,并在转换过程中使用端口信息。
[Router] interface gigabitethernet 2/0/1
[Router-GigabitEthernet2/0/1] nat outbound ds-lite-b4 2100 address-group 0
[Router-GigabitEthernet2/0/1] quit
(2) 配置DS-Lite host
配置DS-Lite host的IPv4地址为10.0.0.1,IPv6地址为1::1/64,并配置DS-Lite tunnel路由。(具体配置过程略)
# 完成上述配置后,在AFTR上执行display interface tunnel命令,可以看出Tunnel接口处于up状态。(具体显示信息略)
# 从DS-Lite host上可以ping通IPv4 Application server。
Pinging 20.1.1.2 with 32 bytes of data:
Reply from 20.1.1.2: bytes=32 time=51ms TTL=255
Reply from 20.1.1.2: bytes=32 time=44ms TTL=255
Reply from 20.1.1.2: bytes=32 time=1ms TTL=255
Reply from 20.1.1.2: bytes=32 time=1ms TTL=255
Ping statistics for 20.1.1.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 51ms, Average = 24ms
# 通过以下显示命令,可以看到出方向动态地址转换的配置信息。
NAT outbound information:
Totally 1 NAT outbound rules.
Interface: GigabitEthernet2/0/1
DS-Lite B4 ACL: 2100 Address group: 0 Port-preserved: N
NO-PAT: N Reversible: N
Config status: Active
# 通过以下显示命令,可以看到系统当前可分配的动态端口块总数和已分配的动态端口块个数。
[Router] display nat statistics
Total session entries: 0
Total EIM entries: 0
Total inbound NO-PAT entries: 0
Total outbound NO-PAT entries: 0
Total static port block entries: 0
Total dynamic port block entries: 430
Active static port block entries: 0
Active dynamic port block entries: 1
# 通过以下显示命令,可以看到生成的DS-Lite B4动态端口块表项。
[Router] display nat port-block dynamic ds-lite-b4
Local VPN DS-Lite B4 addr Global IP Port block Connections
--- 1::1 20.1.1.11 1024-1323 1
Total entries found: 1
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!