• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

04-网络互通配置指导

目录

14-NAT配置

本章节下载 14-NAT配置  (361.61 KB)

docurl=/cn/Service/Document_Software/Document_Center/LTE/Catalog/Terminal/H3C_CPE3200/Configure/Operation_Manual/H3C_CPE3200_CG(E2105)-5W100/04/201906/1198638_30005_0.htm

14-NAT配置

  录

1 NAT概述

1.1 NAT基本概念

1.2 NAT工作机制

1.3 NAT应用

1.3.1 传统NAT

1.3.2 两次NAT

1.3.3 双向NAT

1.4 NAT转换控制

1.5 NAT转换方式

1.5.1 静态方式

1.5.2 动态方式

1.6 NAT表项

1.6.1 NAT会话表项

1.6.2 EIM表项

1.6.3 NO-PAT表项

1.7 NAT支持ALG

2 配置NAT

2.1 NAT配置限制和指导

2.2 NAT配置任务简介

2.3 配置接口上的静态地址转换

2.3.1 配置限制和指导

2.3.2 配置准备

2.3.3 配置出方向一对一静态地址转换

2.3.4 配置出方向网段对网段静态地址转换

2.3.5 配置入方向一对一静态地址转换

2.3.6 配置入方向网段对网段静态地址转换

2.4 配置接口上的动态地址转换

2.4.1 配置限制和指导

2.4.2 配置准备

2.4.3 配置出方向动态地址转换

2.4.4 配置入方向动态地址转换

2.5 配置接口上的内部服务器

2.5.1 功能简介

2.5.2 配置限制和指导

2.5.3 配置普通内部服务器

2.5.4 配置负载分担内部服务器

2.5.5 配置基于ACL的内部服务器

2.6 配置NAT ALG

2.7 配置NAT日志功能

2.7.1 配置NAT会话日志功能

2.7.2 配置NAT告警信息日志功能

2.8 开启NAT转换失败发送ICMP差错报文功能

2.9 NAT显示和维护

2.10 NAT典型配置举例

2.10.1 内网用户通过NAT地址访问外网(静态地址转换)

2.10.2 内网用户通过NAT地址访问外网(动态地址转换)

2.11 NAT典型配置举例

2.11.1 内网用户通过NAT地址访问外网(静态地址转换)

2.11.2 内网用户通过NAT地址访问外网(动态地址转换)

 


1 NAT概述

NAT(Network Address Translation,网络地址转换)是将IP数据报文头中的IP地址转换为另一个IP地址的过程。在实际应用中,NAT主要应用在连接两个网络的边缘设备上,用于实现允许内部网络用户访问外部公共网络以及允许外部公共网络访问部分内部网络资源(例如内部服务器)的目的。

1.1  NAT基本概念

NAT基本概念如下:

·     NAT设备:配置了NAT功能的连接内部网络和外部网络的边缘设备。

·     NAT接口:NAT设备上应用了NAT相关配置的接口。

·     NAT规则:用于进行地址转换的NAT配置称为NAT规则。NAT规则的位置决定了匹配的优先级,位置越靠前的NAT规则,其匹配优先级越高。

·     NAT地址:用于进行地址转换的公网IP地址,与外部网络路由可达,可静态指定或动态分配。

·     NAT表项:NAT设备上用于记录网络地址转换映射关系的表项。关于NAT表项的详细介绍请参见“1.6  NAT表项”。

·     Easy IP功能:NAT转换时直接使用设备上接口的IP地址作为NAT地址。设备上接口的地址可静态指定或通过DHCP等协议动态获取。

1.2  NAT工作机制

图1-1 NAT基本工作过程示意图

 

图1-1所示,一台NAT设备连接内网和外网,连接外网的接口为NAT接口,当有报文经过NAT设备时,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“隐藏”了企业的私有网络。

1.3  NAT应用

1.3.1  传统NAT

报文经过NAT设备时,在NAT接口上仅进行一次源IP地址转换或一次目的IP地址转换。对于内网访问外网的报文,在出接口上进行源IP地址转换;对于外网访问内网的报文,在入接口上进行目的地址IP地址转换。

1.3.2  两次NAT

报文入接口和出接口均为NAT接口。报文经过NAT设备时,先后进行两次NAT转换。对于内网访问外网的报文和外网访问内网的报文,均在入接口进行目的IP地址转换,在出接口进行源IP地址转换。这种方式常用于支持地址重叠的VPN间互访。

1.3.3  双向NAT

报文经过NAT设备时,在NAT接口上同时进行一次源IP地址转换和一次目的IP地址转换。对于内网访问外网的报文,在出接口上同时进行源IP地址和目的IP地址的转换;对于外网访问内网的报文,同时在入接口上进行目的地址IP地址和源IP地址的转换。这种方式常用于支持内网用户主动访问与之地址重叠的外网资源。

1.4  NAT转换控制

在实际应用中,我们可能希望某些内部网络的主机可以访问外部网络,而某些主机不允许访问;或者希望某些外部网络的主机可以访问内部网络,而某些主机不允许访问。即NAT设备只对符合要求的报文进行地址转换。

NAT设备可以利用ACL(Access Control List,访问控制列表)来对地址转换的使用范围进行控制,通过定义ACL规则,并将其与NAT配置相关联,实现只对匹配指定的ACL permit规则的报文才进行地址转换的目的。而且,NAT仅使用规则中定义的源IP地址、源端口号、目的IP地址、目的端口号、传输层协议类型和VPN实例这几个元素进行报文匹配,忽略其它元素。

1.5  NAT转换方式

1.5.1  静态方式

静态地址转换是指外部网络和内部网络之间的地址映射关系由配置确定,该方式适用于内部网络与外部网络之间存在固定访问需求的组网环境。静态地址转换支持双向互访:内网用户可以主动访问外网,外网用户也可以主动访问内网。

1.5.2  动态方式

动态地址转换是指内部网络和外部网络之间的地址映射关系在建立连接的时候动态产生。该方式通常适用于内部网络有大量用户需要访问外部网络的组网环境。

1. NO-PAT模式

NO-PAT(Not Port Address Translation)模式下,一个外网地址同一时间只能分配给一个内网地址进行地址转换,不能同时被多个内网地址共用。当使用某外网地址的内网用户停止访问外网时,NAT会将其占用的外网地址释放并分配给其他内网用户使用。

该模式下,NAT设备只对报文的IP地址进行NAT转换,同时会建立一个NO-PAT表项用于记录IP地址映射关系,并可支持所有IP协议的报文。

2. PAT模式

PAT(Port Address Translation)模式下,一个NAT地址可以同时分配给多个内网地址共用。该模式下,NAT设备需要对报文的IP地址和传输层端口同时进行转换,且只支持TCP、UDP和ICMP(Internet Control Message Protocol,互联网控制消息协议)查询报文。

图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网关之后的主机使用内网主机转换后的地址进行互访。

1.6  NAT表项

1.6.1  NAT会话表项

NAT设备处理一个连接的首报文时便确定了相应的地址转换关系,并同时创建会话表项,该会话表项中添加了NAT扩展信息(例如接口信息、转换方式)。会话表项中记录了首报文的地址转换信息。这类经过NAT处理的会话表项,也称为NAT会话表项。

当该连接的后续报文经过NAT设备时,将与NAT会话表项进行匹配,NAT设备从匹配到的会话表项中得到首报文的转换方式,并根据首报文的转换方式对后续报文进行处理。后续报文方向与首报文相同时,源和目的的转换方式与首报文相同;方向相反时,转换方式与首报文相反。即,如果首报文转换了源地址,则后续报文需要转换目的地址;如果首报文转换了目的地址,则后续报文需要转换源地址。

NAT会话表项的更新和老化由会话管理模块维护,关于会话管理的相关介绍请参见“安全配置指导”中的“会话管理”。

1.6.2  EIM表项

如果NAT设备上开启了Endpoint-Independent Mapping模式,则在PAT方式的动态地址转换过程中,会首先创建一个NAT会话表项,然后创建一个用于记录地址和端口的转换关系(内网地址和端口<-->NAT地址和端口)的EIM三元组表项,该表项有以下两个作用:

·     保证后续来自相同源地址和源端口的新建连接与首次连接使用相同的转换关系。

·     允许外网主机向NAT地址和端口发起的新建连接根据EIM表项进行反向地址转换。

该表项在与其相关联的所有NAT会话表项老化后老化。

1.6.3  NO-PAT表项

在NO-PAT方式进行源地址的动态转换过程中,NAT设备首先创建一个NAT会话表项,然后建立一个NO-PAT表项用于记录该转换关系(内网地址<-->NAT地址)。除此之外,在NAT设备进行ALG处理时,也会触发创建NO-PAT表项。NAT ALG的相关介绍请参见“1.7  NAT支持ALG”。

NO-PAT表项有以下两个作用:

·     保证后续来自相同源地址的新建连接与首次连接使用相同的转换关系。

·     允许满足指定条件的主机向NAT地址发起的新建连接根据NO-PAT表项进行反向地址转换。

该表项在与其相关联的所有NAT会话表项老化后老化。

1.7  NAT支持ALG

ALG(Application Level Gateway,应用层网关)主要完成对应用层报文的解析和处理。通常情况下,NAT只对报文头中的IP地址和端口信息进行转换,不对应用层数据载荷中的字段进行分析和处理。然而对于一些应用层协议,它们的报文的数据载荷中可能包含IP地址或端口信息,这些载荷信息也必须进行有效的转换,否则可能导致功能不正常。

例如,FTP(File Transfer Protocol,文件传输协议)应用由FTP客户端与FTP服务器之间建立的数据连接和控制连接共同实现,而数据连接使用的地址和端口由控制连接协商报文中的载荷信息决定,这就需要ALG利用NAT的相关转换配置完成载荷信息的转换,以保证后续数据连接的正确建立。


2 配置NAT

2.1  NAT配置限制和指导

NAT通用配置限制和指导如下:

NAT只对匹配指定的ACL permit规则的报文才进行地址转换,匹配时仅关注ACL规则中定义的源IP地址、源端口号、目的IP地址、目的端口号和传输层协议类型,不关注ACL规则中定义的其它元素。

·     若接口上同时存在普通NAT静态地址转换和普通NAT动态地址转换的配置,则在地址转换过程中,它们的优先级从高到低依次为:

a.     普通NAT静态地址转换。

b.     普通NAT动态地址转换。

通过调整NAT规则的位置,可以改变同一类NAT规则的匹配顺序。调整NAT规则的匹配顺序后,NAT规则的匹配优先级的值也会发生变化,具体规则为:

·     将nat-rule-name1移动到nat-rule-name2后面,nat-rule-name2的匹配优先级的值不变,nat-rule-name1的匹配优先级的值=nat-rule-name2的匹配优先级的值+1。

·     将nat-rule-name1移动到nat-rule-name2前面,nat-rule-name2的匹配优先级的值不变,nat-rule-name1的匹配优先级的值=nat-rule-name2的匹配优先级的值-1。

2.2  NAT配置任务简介

NAT配置任务如下:

(1)     配置地址转换方式

¡     配置接口上的静态地址转换

¡     配置接口上的动态地址转换

¡     配置接口上的内部服务器

(2)     (可选)配置NAT ALG

(3)     (可选)配置NAT日志功能

(4)     (可选)开启NAT转换失败发送ICMP差错报文功能

2.3  配置接口上的静态地址转换

2.3.1  配置限制和指导

入方向的静态地址转换建议与接口上的出方向动态地址转换(nat outbound)或出方向静态地址转换(nat static outbound)配合使用,以实现双向NAT。

2.3.2  配置准备

·     配置控制地址转换范围的ACL。ACL配置的相关介绍请参见“安全配置指导”中的“ACL”。

·     对于入方向静态地址转换,需要手动添加路由:目的地址为静态地址转换配置中指定的local-iplocal-network;下一跳为静态地址转换配置中指定的外网地址,或者报文出接口的实际下一跳地址。

2.3.3  配置出方向一对一静态地址转换

1. 功能简介

出方向一对一静态地址转换通常应用在外网侧接口上,用于实现一个内部私有网络地址到一个外部公有网络地址的转换,具体过程如下:

·     对于经过该接口发送的内网访问外网的报文,将其源IP地址与指定的内网IP地址local-ip进行匹配,并将匹配的源IP地址转换为global-ip

·     对于该接口接收到的外网访问内网的报文,将其目的IP地址与指定的外网IP地址global-ip进行匹配,并将匹配的目的IP地址转换为local-ip

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置出方向一对一静态地址转换映射。

nat static outbound local-ip global-ip [ acl { ipv4-acl-number | name ipv4-acl-name } [ reversible ] ] [ rule rule-name ] [ priority priority ] [ disable ] [ counting ]

(3)     (可选)调整出方向一对一静态NAT规则的匹配优先级。

nat static outbound rule move nat-rule-name1 { after | before } nat-rule-name2

(4)     进入接口视图。

interface interface-type interface-number

(5)     开启接口上的NAT静态地址转换功能。

nat static enable

缺省情况下,NAT静态地址转换功能处于关闭状态。

2.3.4  配置出方向网段对网段静态地址转换

1. 功能简介

出方向网段对网段静态地址转换通常应用在外网侧接口上,用于实现一个内部私有网络到一个外部公有网络的地址转换,具体过程如下:

·     对于经过该接口发送的内网访问外网的报文,将其源IP地址与指定的内网网络地址进行匹配,并将匹配的源IP地址转换为指定外网网络地址之一。

·     对于该接口接收到的外网访问内网的报文,将其目的IP地址与指定的外网网络地址进行匹配,并将匹配的目的IP地址转换为指定的内网网络地址之一。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置出方向网段对网段静态地址转换映射。

nat static outbound net-to-net local-start-address local-end-address global global-network { mask-length | mask } [ acl { ipv4-acl-number | name ipv4-acl-name } [ reversible ] ] [ rule rule-name ] [ priority priority ] [ disable ] [ counting ]

(3)     进入接口视图。

interface interface-type interface-number

(4)     开启接口上的NAT静态地址转换功能。

nat static enable

缺省情况下,NAT静态地址转换功能处于关闭状态。

2.3.5  配置入方向一对一静态地址转换

1. 功能简介

入方向一对一静态地址转换用于实现一个内部私有网络地址与一个外部公有网络地址之间的转换,具体过程如下:

·     对于经过该接口发送的内网访问外网的报文,将其目的IP地址与指定的内网IP地址local-ip进行匹配,并将匹配的目的IP地址转换为global-ip

·     对于该接口接收到的外网访问内网的报文,将其源IP地址与指定的外网IP地址global-ip进行匹配,并将匹配的源IP地址转换为local-ip

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置入方向一对一静态地址转换映射。

nat static inbound global-ip local-ip [ acl { ipv4-acl-number | name ipv4-acl-name } [ reversible ] ] [ rule rule-name ] [ priority priority ] [ disable ] [ counting ]

(3)     进入接口视图。

interface interface-type interface-number

(4)     开启接口上的NAT静态地址转换功能。

nat static enable

缺省情况下,NAT静态地址转换功能处于关闭状态。

2.3.6  配置入方向网段对网段静态地址转换

1. 功能简介

入方向网段对网段静态地址转换用于实现一个内部私有网络与一个外部公有网络之间的地址转换,具体过程如下:

·     对于经过该接口发送的内网访问外网的报文,将其目的IP地址与指定的内网网络地址进行匹配,并将匹配的目的IP地址转换为指定的外网网络地址之一。

·     对于该接口接收到的外网访问内网的报文,将其源IP地址与指定的外网网络地址进行匹配,并将匹配的源IP地址转换为指定的内网网络地址之一。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置入方向网段对网段静态地址转换映射。

nat static inbound net-to-net global-start-address global-end-address local local-network { mask-length | mask } [ acl { ipv4-acl-number | name ipv4-acl-name } [ reversible ] ] [ rule rule-name ] [ priority priority ] [ disable ] [ counting ]

(3)     进入接口视图。

interface interface-type interface-number

(4)     开启接口上的NAT静态地址转换功能。

nat static enable

缺省情况下,NAT静态地址转换功能处于关闭状态。

2.4  配置接口上的动态地址转换

2.4.1  配置限制和指导

在同时配置了多条动态地址转换的情况下:

·     指定了ACL参数的动态地址转换配置的优先级高于未指定ACL参数的动态地址转换配置;

·     对于指定了ACL参数的动态地址转换配置,其优先级由ACL编号的大小决定,编号越大,优先级越高。

2.4.2  配置准备

·     配置控制地址转换范围的ACL。ACL配置的相关介绍请参见“安全配置指导”中的“ACL”。

·     确定是否直接使用接口的IP地址作为转换后的报文源地址。

·     配置根据实际网络情况,合理规划可用于地址转换的公网IP地址组。

·     确定地址转换过程中是否使用端口信息。

2.4.3  配置出方向动态地址转换

1. 功能简介

出方向动态地址转换通常应用在外网侧接口上,用于实现一个内部私有网络地址到一个外部公有网络地址的转换。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     创建NAT地址组,并进入NAT地址组视图。

nat address-group group-id [ name group-name ]

(3)     添加地址组成员。

address start-address end-address

可通过多次执行本命令添加多个地址组成员。

当前地址组成员的IP地址段不能与该地址组中或者其它地址组中已有的地址成员组成员重叠。

(4)     退回系统视图。

quit

(5)     进入接口视图。

interface interface-type interface-number

(6)     配置出方向动态地址转换。请至少选择其中一项进行配置。

¡     NO-PAT方式。

nat outbound [ ipv4-acl-number | name ipv4-acl-name ] address-group { group-id | name group-name } no-pat [ reversible ] [ rule rule-name ] [ priority priority ] [ disable ] [ description text ] [ counting ]

¡     PAT方式。

nat outbound [ ipv4-acl-number | name ipv4-acl-name ] [ address-group { group-id | name group-name } ] [ port-preserved ] [ rule rule-name ] [ priority priority ] [ disable ] [ description text ] [ counting ]

一个接口下可配置多个出方向的动态地址转换。

参数

功能

address-group

不指定参数时,则直接使用该接口的IP地址作为转换后的地址,即实现Easy IP功能

no-pat reversible

在指定该参数,并且已经存在NO-PAT表项的情况下,对于经过该接口收到的外网访问内网的首报文,将其目的IP地址与NO-PAT表项进行匹配,并将目的IP地址转换为匹配的NO-PAT表项中记录的内网地址

 

(7)     (可选)配置PAT方式地址转换的模式。

a.     退回系统视图。

quit

b.     配置PAT方式地址转换的模式。

nat mapping-behavior endpoint-independent [ acl { ipv4-acl-number | name ipv4-acl-name } ]

缺省情况下,PAT方式地址转换的模式为Address and Port-Dependent Mapping。

该配置只对PAT方式的出方向动态地址转换有效。

(8)     (可选)调整出方向动态NAT规则的匹配优先级。

nat outbound rule move nat-rule-name1 { after | before } nat-rule-name2

2.4.4  配置入方向动态地址转换

1. 配置限制和指导

入方向动态地址转换功能通常与接口上的出方向动态地址转换(nat outbound)或出方向静态地址转换(nat static outbound)配合,用于实现双向NAT应用,不建议单独使用。

由于自动添加路由表项速度较慢,通常建议手工添加路由。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     创建NAT地址组,并进入NAT地址组视图。

nat address-group group-id [ name group-name ]

(3)     添加地址组成员。

address start-address end-address

可通过多次执行本命令添加多个地址组成员。

当前地址组成员的IP地址段不能与该地址组中或者其它地址组中已有的地址组成员重叠。

(4)     退回系统视图。

quit

(5)     进入接口视图。

interface interface-type interface-number

(6)     配置入方向动态地址转换。

nat inbound { ipv4-acl-number | name ipv4-acl-name } address-group { group-id | name group-name } [ no-pat [ reversible ] [ add-route ] ] [ rule rule-name ] [ priority priority ] [ disable ] [ description text ] [ counting ]

一个接口下可配置多个入方向的动态地址转换。

参数

功能

no-pat reversible

指定参数,并且已经存在NO-PAT表项的情况下,对于经过该接口发送的内网访问外网的首报文,将其目的IP地址与NO-PAT表项进行匹配,并将目的IP地址转换为匹配的NO-PAT表项中记录的外网地址

add-route

·     指定参数,则有报文命中该配置时,设备会自动添加路由表项:目的地址为本次地址转换使用的地址组中的地址,出接口为本配置所在接口,下一跳地址为报文的源地址

·     没有指定参数,则用户需要在设备上手工添加路由

 

(7)     (可选)调整入方向动态NAT规则的匹配优先级。

nat inbound rule move nat-rule-name1 { after | before } nat-rule-name2

2.5  配置接口上的内部服务器

2.5.1  功能简介

内部服务器通常配置在外网侧接口上。通过在NAT设备上配置内部服务器,建立一个或多个内网服务器内网地址和端口与外网地址和端口的映射关系,使外部网络用户能够通过配置的外网地址和端口来访问内网服务器。

内部服务器可以通过如下配置方式实现。

·     普通内部服务器:将内网服务器的地址和端口映射为外网地址和端口,允许外部网络中的主机通过配置的外网地址和端口访问位于内网的服务器。

·     负载分担内部服务器:在配置内部服务器时,将内部服务器的内网信息指定为一个内部服务器组,组内的多台主机可以共同对外提供某种服务。外网用户向内部服务器指定的外网地址发起应用请求时,NAT设备可根据内网服务器的权重和当前连接数,选择其中一台内网服务器作为目的服务器,实现内网服务器负载分担。

·     基于ACL的内部服务器:普通内部服务器方式必须指定公网地址,基于ACL内部服务器不用指定具体的公网地址,而是指定公网地址的集合,即通过ACL规则匹配过滤的一部分公网地址。对于符合ACL规则的报文,它的目的地址统一转换成相同的内部服务器地址和端口,它是普通内部服务器的扩展。

2.5.2  配置限制和指导

在配置负载均衡内部服务器时,若配置一个外网地址,N个连续的外网端口号对应一个内部服务器组,或N个连续的外网地址,一个外网端口号对应一个内部服务器组,则内部服务器组的成员个数不能小于N,即同一用户不能通过不同的外网地址或外网端口号访问相同内网服务器的同一服务。在支持NAT内部服务器自动分配NAT规则名称的版本上执行配置回滚操作时,如果回滚配置文件中的NAT内部服务器不存在系统为其自动分配的NAT规则名称,会出现回滚失败的错误提示信息。比如,回滚配置文件中的配置为nat server global 112.1.1.1 inside 192.168.20.1,回滚操作完成后的配置为nat server global 112.1.1.1 inside 192.168.20.1 rule 内部服务器规则_10(内部服务器规则_10为系统自动分配的NAT规则名称),系统会将此配置与回滚文件中的配置进行比较,比较后发现两者不一致,会提示用户回滚失败。这种情况下,相关的命令已下发成功,用户无需处理。

2.5.3  配置普通内部服务器

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置普通内部服务器。请至少选择其中一项进行配置。

¡     外网地址单一,未使用外网端口或外网端口单一。

nat server [ protocol pro-type ] global { global-address | current-interface | interface interface-type interface-number } [ global-port ] inside local-address [ local-port ] [ acl { ipv4-acl-number | name ipv4-acl-name } ] [ reversible ] [ rule rule-name ] [ disable ] [ counting ]

¡     外网地址单一,外网端口连续。

nat server protocol pro-type global { global-address | current-interface | interface interface-type interface-number } global-port1 global-port2 inside { { local-address | local-address1 local-address2 } local-port | local-address local-port1 local-port2 } [ acl { ipv4-acl-number | name ipv4-acl-name } ] [ rule rule-name ] [ disable ] [ counting ]

¡     外网地址连续,未使用外网端口或外网端口单一。

nat server protocol pro-type global global-address1 global-address2 [ global-port ] inside { local-address | local-address1 local-address2 } [ local-port ] [ acl { ipv4-acl-number | name ipv4-acl-name } ] [ rule rule-name ] [ disable ] [ counting ]

¡     外网地址连续,外网端口单一。

nat server protocol pro-type global global-address1 global-address2  global-port inside local-address local-port1 local-port2 [ acl { ipv4-acl-number | name ipv4-acl-name } ] [ rule rule-name ] [ disable ] [ counting ]

一个接口下可以配置多个普通内部服务器。

2.5.4  配置负载分担内部服务器

(1)     进入系统视图。

system-view

(2)     配置内部服务器组,并进入服务器组视图。

nat server-group group-id

(3)     添加内部服务器组成员。

inside ip inside-ip port port-number [ weight weight-value ]

一个内部服务器组内可以添加多个组成员。

(4)     退回系统视图。

quit

(5)     进入接口视图。

interface interface-type interface-number

(6)     配置负载分担内部服务器。

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 } inside server-group group-id [ acl { ipv4-acl-number | name ipv4-acl-name } ] [ rule rule-name ] [ disable ] [ counting ]

一个接口下可以配置多个负载分担内部服务器。

2.5.5  配置基于ACL的内部服务器

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置基于ACL的内部服务器。

nat server global { ipv4-acl-number | name ipv4-acl-name } inside local-address [ local-port ] [ rule rule-name ] [ priority priority ] [ disable ] [ description text ] [ counting ]

一个接口下可以配置多个基于ACL的内部服务器。

(4)     (可选)调整基于ACL内部服务器NAT规则的匹配优先级。

nat server rule move nat-rule-name1 { after | before } nat-rule-name2

2.6  配置NAT ALG

1. 功能简介

ALG(Application Level Gateway,应用层网关)主要完成对应用层报文的解析和处理。通常情况下,NAT只对报文头中的IP地址和端口信息进行转换,不对应用层数据载荷中的字段进行分析和处理。然而对于一些应用层协议,它们的报文的数据载荷中可能包含IP地址或端口信息,这些载荷信息也必须进行有效的转换,否则可能导致功能不正常。例如,FTP应用由数据连接和控制连接共同完成,而数据连接使用的地址和端口由控制连接协商报文中的载荷信息决定,这就需要ALG利用NAT的相关转换配置来完成载荷信息的转换,以保证后续数据连接的正确建立。

DNS服务器在外网,应用服务器在内网(在NAT设备上有对应的nat server配置),内网用户需要通过域名访问内网应用服务器的场景中,NAT设备对来自外网的DNS响应报文进行DNS ALG处理时,由于载荷中只包含域名和应用服务器的外网IP地址(不包含传输协议类型和端口号),当接口上存在多条NAT服务器配置且使用相同的外网地址而内网地址不同时,DNS ALG仅使用IP地址来匹配内部服务器可能会得到错误的匹配结果。因此需要借助DNS mapping的配置,指定域名与应用服务器的外网IP地址、端口和协议的映射关系,由域名获取应用服务器的外网IP地址、端口和协议,进而(在当前NAT接口上)精确匹配内部服务器配置获取应用服务器的内网IP地址。

2. 配置限制和指导

在IRF组网环境中,物理接口上配置的NAT业务不支持ALG功能。

DNS mapping功能需要和内部服务器配合使用,由nat server配置定义内部服务器对外提供服务的外网IP地址和端口号,由DNS mapping建立“内部服务器域名<-->外网IP地址+外网端口号+协议类型”的映射关系。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启指定或所有协议类型的NAT ALG功能。

nat alg { all | dns | ftp | icmp-error | ils | mgcp | nbt | pptp | rsh | rtsp | sccp | sqlnet | tftp | xdmcp }

缺省情况下,DNS、FTP、ICMP差错报文、RTSP、PPTP协议类型的NAT ALG功能处于开启状态,其他协议类型的NAT ALG功能处于关闭状态。

2.7  配置NAT日志功能

2.7.1  配置NAT会话日志功能

1. 功能简介

NAT会话日志是为了满足网络管理员安全审计的需要,对NAT会话(报文经过设备时,源或目的信息被NAT进行过转换的连接)信息进行的记录,包括IP地址及端口的转换信息、用户的访问信息以及用户的网络流量信息。

有三种情况可以触发设备生成NAT会话日志:

·     新建NAT会话。

·     删除NAT会话。新增高优先级的配置、删除配置、报文匹配规则变更、NAT会话老化以及执行删除NAT会话的命令时,都可能导致NAT会话被删除。

·     存在NAT活跃流。NAT活跃流是指在一定时间内存在的NAT会话。当设置的生成活跃流日志的时间间隔到达时,当前存在的NAT会话信息就被记录并生成日志。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启NAT日志功能。

nat log enable [ acl { ipv4-acl-number | name ipv4-acl-name } ]

缺省情况下,NAT日志功能处于关闭状态。

(3)     开启NAT相关日志功能。请至少选择其中一项进行配置。

¡     开启NAT新建会话的日志功能。

nat log flow-begin

¡     开启NAT删除会话的日志功能。

nat log flow-end

¡     开启NAT活跃流的日志功能,并设置生成活跃流日志的时间间隔。

nat log flow-active time-value

缺省情况下,创建、删除NAT会话或存在NAT活跃流时,均不生成NAT日志。

2.7.2  配置NAT告警信息日志功能

1. 功能简介

在NAT地址转换中,如果可为用户分配的NAT资源用尽,后续连接由于没有可用的资源无法对其进行地址转换,相应的报文将被丢弃。本命令用来在NAT资源用尽时输出告警日志。在NO-PAT动态映射中,NAT资源是指公网IP地址;在EIM模式的PAT动态映射中,NAT资源是指公网IP地址和端口。

2. 配置限制和指导

只有开启NAT日志功能(通过nat log enable命令)之后,NAT告警信息日志功能才能生效。

3. 配置准备

在配置NAT告警信息日志功能前,必须先配置将用户定制日志发送到日志主机的功能,否则无法产生NAT告警信息日志。详细配置请参见“设备管理配置指导”中的“信息中心”。

4. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启NAT日志功能。

nat log enable [ acl { ipv4-acl-number | name ipv4-acl-name } ]

缺省情况下,NAT日志功能处于关闭状态。

ACL参数对NAT告警信息日志功能无效。

(3)     开启NAT告警信息的日志功能。

nat log alarm

缺省情况下,NAT告警信息日志功能处于关闭状态。

NAT资源用尽时,系统会输出告警日志。

2.8  开启NAT转换失败发送ICMP差错报文功能

1. 功能简介

缺省情况下,设备在NAT转换失败时,不发送ICMP差错报文,既可以减少网络上的无用报文,节约带宽,还可以避免将防火墙IP地址暴露在公网侧。

使用traceroute功能时,需要用到ICMP差错报文,需要开启发送ICMP差错报文的功能。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启设备NAT转换失败发送ICMP差错报文功能。

nat icmp-error reply

缺省情况下,NAT转换失败时,设备不发送ICMP差错报文。

2.9  NAT显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示NAT配置后的运行情况,通过查看显示信息验证配置的效果。

在用户视图下,执行reset命令可以清除NAT表项。

表2-1 NAT显示和维护

操作

命令

显示NAT ALG功能的开启状态

display nat alg

显示所有的NAT配置信息

display nat all

显示NAT地址组的配置信息

display nat address-group [ group-id ]

显示NAT EIM表项信息

display nat eim

显示NAT入接口动态地址转换关系的配置信息

display nat inbound

显示NAT日志功能的配置信息

display nat log

显示NAT NO-PAT表项信息

display nat no-pat

显示NAT出接口动态地址转换关系的配置信息

display nat outbound

显示NAT内部服务器的配置信息

display nat server

显示NAT内部服务器组的配置信息

display nat server-group [ group-id ]

显示NAT会话

display nat session [ [ responder ] { source-ip source-ip | destination-ip destination-ip } * ] [ verbose ]

显示NAT静态地址转换的配置信息

display nat static

显示NAT统计信息

display nat statistics [ summary ]

清除NAT转换计数信息

reset nat count statistics { all | dynamic | server | static }

删除NAT会话

reset nat session

 

2.10  NAT典型配置举例

2.10.1  内网用户通过NAT地址访问外网(静态地址转换)

1. 组网需求

内部网络用户192.168.1.10/24使用外网地址202.38.1.100访问Internet。

2. 组网图

图2-1 静态地址转换典型配置组网图

 

3. 配置步骤

# 按照组网图配置各接口的IP地址,具体配置过程略。

# 配置内网IP地址192.168.1.10到外网地址202.38.1.100之间的一对一静态地址转换映射。

<AP> system-view

[AP] nat static outbound 192.168.1.10 202.38.1.100

# 使配置的静态地址转换在接口Vlan-interface10上生效。

[AP] interface vlan-interface 10

[AP-Vlan-interface10] nat static enable

[AP-Vlan-interface10] quit

4. 验证配置

# 以上配置完成后,内网主机可以访问外网服务器。通过查看如下显示信息,可以验证以上配置成功。

[AP] display nat static

Static NAT mappings:

  Totally 1 outbound static NAT mappings.

  IP-to-IP:

    Local IP     : 192.168.1.10

    Global IP    : 202.38.1.100

    Config status: Active

 

Interfaces enabled with static NAT:

  Totally 1 interfaces enabled with static NAT.

  Interface: Vlan-interface2

    Config status: Active

# 通过以下显示命令,可以看到Client访问某外网服务器时生成NAT会话信息。

[AP] display nat session verbose

Initiator:

  Source      IP/port: 192.168.1.10/42496

  Destination IP/port: 202.38.1.111/2048

  DS-Lite tunnel peer: -

  VPN instance/VLAN ID/Inline ID: -/-/-

  Protocol: ICMP(1)

  Inbound interface: Vlan-interface1

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/Inline ID: -/-/-

  Protocol: ICMP(1)

  Inbound interface: Vlan-interface10

State: ICMP_REPLY

Application: INVALID

Rule ID: -/-/-

Rule name:

Start time: 2017-08-16 09:30:49  TTL: 27s

Initiator->Responder:            5 packets        420 bytes

Responder->Initiator:            5 packets        420 bytes

 

Total sessions found: 1

2.10.2  内网用户通过NAT地址访问外网(动态地址转换)

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。

2. 组网图

图2-2 动态地址转换典型配置组网图

 

3. 配置步骤

# 按照组网图配置各接口的IP地址,具体配置过程略。

# 配置地址组0,包含两个外网地址202.38.1.2和202.38.1.3。

<AP> system-view

[AP] nat address-group 0

[AP-address-group-0] address 202.38.1.2 202.38.1.3

[AP-address-group-0] quit

# 配置ACL 2000,仅允许对内部网络中192.168.1.0/24网段的用户报文进行地址转换。

[AP] acl basic 2000

[AP-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255

[AP-acl-ipv4-basic-2000] quit

# 在接口Vlan-interface10上配置出方向动态地址转换,允许使用地址组0中的地址对匹配ACL 2000的报文进行源地址转换,并在转换过程中使用端口信息。

[AP] interface vlan-interface 10

[AP-Vlan-interface10] nat outbound 2000 address-group 0

[AP-GigabitEthernet1/0/2] quit

4. 验证配置

以上配置完成后,Client A能够访问Web server,Client B无法访问Web server。通过查看如下显示信息,可以验证以上配置成功。

[AP] display nat all

NAT address group information:

  Totally 1 NAT address groups.

  Address group ID: 0:

    Port range: 1-65535

    Address information:

      Start address         End address

      202.38.1.2            202.38.1.3

 

NAT outbound information:

  Totally 1 NAT outbound rules.

  Interface: Vlan-interface10

    ACL: 2000

    Address group ID: 0

    Port-preserved: N    NO-PAT: N         Reversible: N

    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

  RTSP       : Enabled

  RSH        : Enabled

  SCCP       : Enabled

  SIP        : Enabled

  SQLNET     : Enabled

  TFTP       : Enabled

  XDMCP      : Enabled

 

Static NAT load balancing:     Disabled

# 通过以下显示命令,可以看到Client A访问Web server时生成NAT会话信息。

[AP] 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/Inline ID: -/-/-

  Protocol: ICMP(1)

  Inbound interface: Vlan-interface1

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/Inline ID: -/-/-

  Protocol: ICMP(1)

  Inbound interface: Vlan-interface10

State: ICMP_REPLY

Application: INVALID

Rule ID: -/-/-

Rule name:

Start time: 2017-08-15 14:53:29  TTL: 12s

Initiator->Responder:            1 packets         84 bytes

Responder->Initiator:            1 packets         84 bytes

 

Total sessions found: 1

2.11  NAT典型配置举例

2.11.1  内网用户通过NAT地址访问外网(静态地址转换)

1. 组网需求

内部网络用户192.168.1.10/24使用外网地址202.38.1.100访问Internet。

2. 组网图

图2-3 静态地址转换典型配置组网图

 

3. 配置步骤

# 按照组网图配置各接口的IP地址,具体配置过程略。

# 配置内网IP地址192.168.1.10到外网地址202.38.1.100之间的一对一静态地址转换映射。

<IoT Gateway> system-view

[IoT Gateway] nat static outbound 192.168.1.10 202.38.1.100

# 使配置的静态地址转换在接口Vlan-interface10上生效。

[IoT Gateway] interface vlan-interface 10

[IoT Gateway-Vlan-interface10] nat static enable

[IoT Gateway-Vlan-interface10] quit

4. 验证配置

# 以上配置完成后,内网主机可以访问外网服务器。通过查看如下显示信息,可以验证以上配置成功。

[IoT Gateway] display nat static

Static NAT mappings:

  Totally 1 outbound static NAT mappings.

  IP-to-IP:

    Local IP     : 192.168.1.10

    Global IP    : 202.38.1.100

    Config status: Active

 

Interfaces enabled with static NAT:

  Totally 1 interfaces enabled with static NAT.

  Interface: Vlan-interface2

    Config status: Active

# 通过以下显示命令,可以看到Client访问某外网服务器时生成NAT会话信息。

[IoT Gateway] display nat session verbose

Initiator:

  Source      IP/port: 192.168.1.10/42496

  Destination IP/port: 202.38.1.111/2048

  DS-Lite tunnel peer: -

  VPN instance/VLAN ID/Inline ID: -/-/-

  Protocol: ICMP(1)

  Inbound interface: Vlan-interface1

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/Inline ID: -/-/-

  Protocol: ICMP(1)

  Inbound interface: Vlan-interface10

State: ICMP_REPLY

Application: INVALID

Rule ID: -/-/-

Rule name:

Start time: 2017-08-16 09:30:49  TTL: 27s

Initiator->Responder:            5 packets        420 bytes

Responder->Initiator:            5 packets        420 bytes

 

Total sessions found: 1

2.11.2  内网用户通过NAT地址访问外网(动态地址转换)

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。

2. 组网图

图2-4 动态地址转换典型配置组网图

 

3. 配置步骤

# 按照组网图配置各接口的IP地址,具体配置过程略。

# 配置地址组0,包含两个外网地址202.38.1.2和202.38.1.3。

<IoT Gateway> system-view

[IoT Gateway] nat address-group 0

[IoT Gateway-address-group-0] address 202.38.1.2 202.38.1.3

[IoT Gateway-address-group-0] quit

# 配置ACL 2000,仅允许对内部网络中192.168.1.0/24网段的用户报文进行地址转换。

[IoT Gateway] acl basic 2000

[IoT Gateway-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255

[IoT Gateway-acl-ipv4-basic-2000] quit

# 在接口Vlan-interface10上配置出方向动态地址转换,允许使用地址组0中的地址对匹配ACL 2000的报文进行源地址转换,并在转换过程中使用端口信息。

[IoT Gateway] interface vlan-interface 10

[IoT Gateway-Vlan-interface10] nat outbound 2000 address-group 0

[IoT Gateway-GigabitEthernet1/0/2] quit

4. 验证配置

以上配置完成后,Client A能够访问Web server,Client B无法访问Web server。通过查看如下显示信息,可以验证以上配置成功。

[IoT Gateway] display nat all

NAT address group information:

  Totally 1 NAT address groups.

  Address group ID: 0:

    Port range: 1-65535

    Address information:

      Start address         End address

      202.38.1.2            202.38.1.3

 

NAT outbound information:

  Totally 1 NAT outbound rules.

  Interface: Vlan-interface10

    ACL: 2000

    Address group ID: 0

    Port-preserved: N    NO-PAT: N         Reversible: N

    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

  RTSP       : Enabled

  RSH        : Enabled

  SCCP       : Enabled

  SIP        : Enabled

  SQLNET     : Enabled

  TFTP       : Enabled

  XDMCP      : Enabled

 

Static NAT load balancing:     Disabled

# 通过以下显示命令,可以看到Client A访问Web server时生成NAT会话信息。

[IoT Gateway] 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/Inline ID: -/-/-

  Protocol: ICMP(1)

  Inbound interface: Vlan-interface1

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/Inline ID: -/-/-

  Protocol: ICMP(1)

  Inbound interface: Vlan-interface10

State: ICMP_REPLY

Application: INVALID

Rule ID: -/-/-

Rule name:

Start time: 2017-08-15 14:53:29  TTL: 12s

Initiator->Responder:            1 packets         84 bytes

Responder->Initiator:            1 packets         84 bytes

 

Total sessions found: 1

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们