01-NAT配置
本章节下载: 01-NAT配置 (840.75 KB)
目 录
2.11.2 开启对TCP SYN和SYN ACK报文中时间戳的删除功能
2.11.3 配置全局NAT策略中NAT类型的SNAT+DNAT规则的源IP地址转换和目的IP转换先于安全策略匹配,以便与老版本兼容
2.13.4 开启NO-PAT方式下NAT地址组中地址成员使用率的日志信息功能
2.13.7 配置NAT地址组不可用IP地址排除率的告警阈值
2.13.8 配置NO-PAT模式NAT地址资源使用率的告警阈值
2.15.1 内网用户通过NAT地址访问外网配置举例(静态地址转换)
2.15.2 内网用户通过NAT地址访问外网配置举例(地址不重叠)
2.15.4 外网用户通过域名访问内网服务器配置举例(地址不重叠)
NAT(Network Address Translation,网络地址转换)是将IP数据报文头中的IP地址转换为另一个IP地址的过程。在实际应用中,NAT主要应用在连接两个网络的边缘设备上,用于实现允许内部网络用户访问外部公共网络以及允许外部公共网络访问部分内部网络资源(例如内部服务器)的目的。
NAT基本概念如下:
· NAT设备:配置了NAT功能的连接内部网络和外部网络的边缘设备。
· NAT接口:NAT设备上应用了NAT相关配置的接口。
· NAT规则:用于进行地址转换的NAT配置称为NAT规则。NAT规则的位置决定了匹配的优先级,位置越靠前的NAT规则,其匹配优先级越高。
· NAT地址:用于进行地址转换的公网IP地址,与外部网络路由可达,可静态指定或动态分配。
· NAT表项:NAT设备上用于记录网络地址转换映射关系的表项。关于NAT表项的详细介绍请参见“NAT表项”。
· Easy IP功能:NAT转换时直接使用设备上接口的IP地址作为NAT地址。设备上接口的地址可静态指定或通过DHCP等协议动态获取。
· 全局NAT:NAT规则的应用范围为全局。对于全局NAT,所有经过NAT设备的流量都会进行匹配,并对匹配NAT规则的流量进行地址转换。
图1-1 NAT基本工作过程示意图
如图1-1所示,一台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“隐藏”了企业的私有网络。
在实际应用中,用户可能希望某些内部网络的主机可以访问外部网络,而某些主机不允许访问;或者希望某些外部网络的主机可以访问内部网络,而某些主机不允许访问。即NAT设备只对符合要求的报文进行地址转换。
NAT设备可以利用ACL(Access Control List,访问控制列表)来对地址转换的使用范围进行控制,通过定义ACL规则,并将其与NAT配置相关联,实现只对匹配指定的ACL permit规则的报文才进行地址转换的目的。而且,NAT仅使用规则中定义的源IP地址、源端口号、目的IP地址、目的端口号、传输层协议类型和VPN实例这几个元素进行报文匹配,忽略其它元素。
NAT转换方式
静态地址转换是指外部网络和内部网络之间的地址映射关系由配置确定,该方式适用于内部网络与外部网络之间存在固定访问需求的组网环境。静态地址转换支持双向互访:内网用户可以主动访问外网,外网用户也可以主动访问内网。
源IP地址转换方式是一种动态地址转换方式,动态地址转换是指内部网络和外部网络之间的地址映射关系在建立连接的时候动态产生。该方式通常适用于内部网络有大量用户需要访问外部网络的组网环境。
源IP地址转换包括NO-PAT模式的地址转换、基于端口的PAT模式的地址转换和基于端口块的PAT模式的地址转换。
NO-PAT(Not Port Address Translation)模式下,一个外网地址同一时间只能分配给一个内网地址进行地址转换,不能同时被多个内网地址共用。当使用某外网地址的内网用户停止访问外网时,NAT会将其占用的外网地址释放并分配给其他内网用户使用。
该模式下,NAT设备只对报文的IP地址进行NAT转换,同时会建立一个NO-PAT表项用于记录IP地址映射关系,并可支持所有IP协议的报文。
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网关之后的主机使用内网主机转换后的地址进行互访。
基于端口块的PAT模式是一种基于端口范围的PAT动态地址转换,即一个私网IP地址在一个时间段内独占一个公网IP地址的某个端口块。例如:假设私网IP地址10.1.1.1独占公网IP地址202.1.1.1的一个端口块10001~10256,则该私网IP向公网发起的所有连接,源IP地址都将被转换为同一个公网IP地址202.1.1.1,而源端口将被转换为端口块10001~10256之内的一个端口。
基于端口块的PAT模式包括端口块方式包括静态映射和动态映射两种,主要应用在NAT444或DS-Lite网络中。
· 端口块静态映射
端口块静态映射是指,NAT网关设备根据配置自动计算私网IP地址到公网IP地址、端口块的静态映射关系,并创建静态端口块表项。当私网IP地址成员中的某个私网IP地址向公网发起新建连接时,根据私网IP地址匹配静态端口块表项,获取对应的公网IP地址和端口块,并从端口块中动态为其分配一个公网端口,对报文进行地址转换。
配置端口块静态映射时,需要创建一个端口块组,并在端口块组中配置私网IP地址成员、公网IP地址成员、端口范围和端口块大小。假设端口块组中每个公网IP地址的可用端口块数为m(即端口范围除以端口块大小),则端口块静态映射的算法如下:按照从小到大的顺序对私网IP地址成员中的所有IP地址进行排列,最小的m个私网IP地址对应最小的公网IP地址及其端口块,端口块按照起始端口号从小到大的顺序分配;次小的m个私网IP地址对应次小的公网IP地址及其端口块,端口块的分配顺序相同;依次类推。
· 端口块动态映射
当内网用户向公网发起连接时,首先根据动态地址转换中的ACL规则进行过滤,决定是否需要进行源地址转换。对于需要进行源地址转换的连接,当该连接为该用户的首次连接时,从所匹配的动态地址转换配置引用的NAT地址组中获取一个公网IP地址,从该公网IP地址中动态分配一个端口块,创建动态端口块表项,然后从端口块表项中动态分配一个公网端口,进行地址转换。对该用户后续连接的转换,均从生成的动态端口块表项中分配公网端口。当该用户的所有连接都断开时,回收为其分配的端口块资源,删除相应的动态端口块表项。
端口块动态映射支持增量端口块分配。当为某私网IP地址分配的端口块资源耗尽(端口块中的所有端口都被使用)时,如果该私网IP地址向公网发起新的连接,则无法再从端口块中获取端口,无法进行地址转换。此时,如果预先在相应的NAT地址组中配置了增量端口块数,则可以为该私网IP地址分配额外的端口块,进行地址转换。
在实际应用中,内网中的服务器可能需要对外部网络提供一些服务,例如给外部网络提供Web服务,或是FTP服务。这种情况下,通过定义内部服务器对外提供服务使用的外部IP地址+端口与内部服务器在内网使用的地址+端口的映射关系,实现NAT设备允许外网用户通过指定的NAT地址和端口访问这些内部服务器。
如图1-3所示,外部网络用户访问内部网络服务器的数据报文经过NAT设备时,NAT设备将报文的目的地址与接口上的NAT内部服务器配置进行匹配,并将匹配上的访问内部服务器的请求报文的目的IP地址和端口号转换成内部服务器的私有IP地址和端口号。当内部服务器回应该报文时,NAT设备再根据已有的地址映射关系将回应报文的源IP地址和端口号转换成外网IP地址和端口号。
NAT设备处理一个连接的首报文时便确定了相应的地址转换关系,并同时创建会话表项,该会话表项中添加了NAT扩展信息(例如接口信息、转换方式)。会话表项中记录了首报文的地址转换信息。这类经过NAT处理的会话表项,也称为NAT会话表项。
当该连接的后续报文经过NAT设备时,将与NAT会话表项进行匹配,NAT设备从匹配到的会话表项中得到首报文的转换方式,并根据首报文的转换方式对后续报文进行处理:
· 后续报文方向与首报文相同时,源和目的的转换方式与首报文相同。
· 后续报文方向与首报文相反时,转换方式与首报文相反。即,如果首报文转换了源地址,则后续报文需要转换目的地址;如果首报文转换了目的地址,则后续报文需要转换源地址。
NAT会话表项的更新和老化由会话管理模块维护,关于会话管理的相关介绍请参见“安全配置指导”中的“会话管理”。
如果NAT设备上开启了Endpoint-Independent Mapping模式,则在PAT方式的动态地址转换过程中,会首先创建一个NAT会话表项,然后创建一个用于记录地址和端口的转换关系(内网地址和端口<-->NAT地址和端口)的EIM三元组表项,该表项有以下两个作用:
· 保证后续来自相同源地址和源端口的新建连接与首次连接使用相同的转换关系。
· 允许外网主机向NAT地址和端口发起的新建连接根据EIM表项进行反向地址转换。
该表项在与其相关联的所有NAT会话表项老化后老化。
在NO-PAT方式进行源地址的动态转换过程中,NAT设备首先创建一个NAT会话表项,然后建立一个NO-PAT表项用于记录该转换关系(内网地址<-->NAT地址)。除此之外,在NAT设备进行ALG处理时,也会触发创建NO-PAT表项。NAT ALG的相关介绍请参见“NAT支持ALG”。
NO-PAT表项有以下两个作用:
· 保证后续来自相同源地址的新建连接与首次连接使用相同的转换关系。
· 允许满足指定条件的主机向NAT地址发起的新建连接根据NO-PAT表项进行反向地址转换。
该表项在与其相关联的所有NAT会话表项老化后老化。
端口块表项记录1个用户在网关转换前的私网IP地址、转换后对应的公网IP地址及其端口块。端口块表项分为静态端口块表项和动态端口块表项。关于端口块表项的详细介绍,请参见“基于端口块的PAT模式”。
NAT端口复用技术是专门为需要进行大规模私网到互联网源地址转换的大型企业、运营商、金融数据中心等开发的,以节约互联网地址为目的的技术。
在PAT模式的地址转换中,不同会话的地址转换结果可以共享同一个转换后的源端口。只要其地址转换后的三元组(源地址、源端口号、协议类型)不同或五元组(源地址、源端口号、协议类型、目的地址、目的端口号)不同即可。
假设源地址为10.1.1.1的设备访问目的地址为5.5.5.5的设备123端口时,NAT地址转换将源地址转换为3.3.3.3,源端口转换为1023。此时会有以下情况:
· 当源地址为10.1.1.2的设备也访问目的地址为5.5.5.5的设备123端口时,NAT地址转换不可以将源地址转换为3.3.3.3,源端口转换为1023。
· 当源地址为10.1.1.3的设备访问目的地址为5.5.5.5的设备124端口时,NAT地址转换仍然可以将源地址转换为3.3.3.3,源端口转换为1023。
一般来说,单个NAT地址的端口数量有限,如果会话数量非常多,传统方法需要很多NAT地址才能满足需求。然而,端口复用功能有效地解决了这个问题。理论上,借助端口复用,一个NAT地址足以支持无限的会话数量。
每个互联网地址可以提供超过六万五千个端口数量的NAT会话。端口复用功能可以进一步节省公网IP,减少企业购买和维护大量公网IP地址的成本,在高并发的网络环境中,端口复用能够支持更多的连接。
支持多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服务。目前,仅全局NAT支持多VPN实例。
NAT hairpin功能用于满足位于内网侧的用户之间或内网侧的用户与服务器之间通过NAT地址进行访问的需求,通过对报文同时进行源地址和目的地址的转换来实现。它支持两种组网模式:
· P2P:位于内网侧的用户之间通过动态分配的NAT地址互访。内网各主机首先向外网服务器注册自己的内网地址信息,该地址信息为外网侧出方向地址转换的NAT地址,然后内网主机之间通过使用彼此向外网服务器注册的外网地址进行互访。
· C/S:位于内网侧的用户使用NAT地址访问内网服务器。
ALG(Application Level Gateway,应用层网关)主要完成对应用层报文的解析和处理。通常情况下,NAT只对报文头中的IP地址和端口信息进行转换,不对应用层数据载荷中的字段进行分析和处理。然而对于一些应用层协议,它们的报文的数据载荷中可能包含IP地址或端口信息,这些载荷信息也必须进行有效的转换,否则可能导致功能不正常。
例如,FTP(File Transfer Protocol,文件传输协议)应用由FTP客户端与FTP服务器之间建立的数据连接和控制连接共同实现,而数据连接使用的地址和端口由控制连接协商报文中的载荷信息决定,这就需要ALG利用NAT的相关转换配置完成载荷信息的转换,以保证后续数据连接的正确建立。
一般情况下,DNS(Domain Name System,域名系统)服务器和访问私网服务器的用户都在公网,通过在NAT设备上配置内部服务器,可以将公网地址、端口等信息映射到私网内的服务器上,使得公网用户可以通过内部服务器的域名或公网地址来访问内部服务器。但是,如图1-4所示,如果DNS服务器在公网,私网用户希望通过域名来访问私网的Web服务器,则会由于DNS服务器向私网用户发送的响应报文中包含的是私网服务器的公网地址,而导致收到响应报文的私网用户无法利用域名访问私网服务器。通过在设备上配置DNS mapping可以解决该问题。
图1-4 NAT DNS mapping工作示意图
NAT DNS mapping功能是指,通过配置“域名+公网IP地址+公网端口号+协议类型”的映射表,建立内部服务器域名与内部服务器公网信息的对应关系。NAT设备检查接收到的DNS响应报文,根据报文中的域名查找用户配置的DNS mapping映射表,并根据表项内的“公网地址+公网端口+协议类型”信息查找内部服务器地址映射表中该信息对应的私网地址,替换DNS查询结果中的公网地址。这样,私网用户收到的DNS响应报文中就包含了要访问的内部服务器的私网地址,也就能够使用内部服务器域名访问同一私网内的内部服务器。
NAT模块会借助地址管理模块对公网IPv4地址资源进行管理,具体机制为:
(1) NAT模块将公网IPv4地址下发地址管理模块。
(2) NAT模块发送免费ARP报文通告下发到地址管理模块的公网IPv4地址与自身物理接口MAC地址的对应关系,以便局域网内其他设备的ARP表项或MAC地址表项保持最新。从而避免因ARP表项或MAC地址表项更新不及时引发的业务异常。
同时,NAT模块会回应其他设备发送的免费ARP。
关于免费ARP的详细介绍,请参见“三层技术-IP业务配置指导”中的“ARP”。
NAT444是运营商网络部署NAT的整体解决方案,它基于NAT444网关,结合AAA服务器、日志服务器等配套系统,提供运营商级的NAT,并支持用户溯源等功能。在众多IPv4向IPv6网络过渡的技术中,NAT444仅需在运营商侧引入二次NAT,对终端和应用服务器端的更改较小,并且NAT444通过端口块分配方式解决用户溯源等问题,因此成为了运营商的首选IPv6过渡方案。
通过在CR设备上安装处理NAT业务的slot或者旁挂NAT444设备来实现NAT444。如图1-5所示,用户访问外部网络时,CPE设备上进行第一次NAT转换,然后在BRAS上完成AAA认证和私网地址的分配,认证通过后,用户发起访问外网的报文会在NAT444网关上进行NAT444转换(第二次NAT转换)。
图1-5 NAT444集中部署组网图
分属不同VPN的内部网络主机使用了相同的地址空间,为了实现不同VPN中地址重叠的内网主机互访,需要配置静态NAT,对同一个方向的同一条流的数据报文同时进行源IP地址转换和目的IP地址转换。
如图1-6所示,VPN 1和VPN 2中的内网用户地址均为192.168.1.1。配置静态NAT,将VPN 1中Host A的地址在VPN 2中转换为172.16.1.1,将VPN 2中Host B的地址在VPN 1中转换为172.16.2.1。当静态NAT生效后,Host A使用172.16.2.1能够访问Host B,Host B使用172.16.1.1能够访问Host A。
图1-6 地址中叠的两个VPN之间互访
当内部网络主机使用外网注册地址或者合法的外网地址访问外部网络时,内网主机的IP地址和外网主机的IP地址可能会发生重叠。为了实现内网主机能够成功访问与之地址重叠的外部服务器,需要配置NAT ALG+动态NAT。
如图1-7所示,内网Host通过域名访问外网Web服务器,Host和Web服务器的IP地址均为192.168.1.1。
(1) 内网Host首先向外网的DNS服务器发起DNS查询请求。
(2) DNS服务器发送的DNS应答报文中,Web服务器的域名对应的IP地址为192.168.1.1。DNS应答报文经过NAT设备时,进行DNS的NAT ALG处理,将DNS应答报文中域名对应的IP地址192.168.1.1转换为10.1.1.1(该地址为临时分配的NAT地址)。NAT设备将ALG处理后的DNS应答报文发送给内网Host。
(3) Host访问Web服务器的报文中,源IP地址为192.168.1.1,目的IP地址为10.1.1.1。报文经过NAT设备时,NAT设备根据动态NAT配置将源地址192.168.1.1转换为20.1.1.1;NAT设备检测到目的地址10.1.1.1为临时分配的NAT地址,根据步骤(2)中的转换关系,将10.1.1.1转换为192.168.1.1。
DS-Lite(Dual Stack Lite,轻量级双协议栈)技术综合了IPv4 over IPv6隧道技术和NAT技术,利用隧道技术实现通过IPv6网络连接隔离的IPv4网络。
在DS-Lite网络中,B4设备为用户网络的网关或者运行DS-Lite客户端软件的用户主机,AFTR设备作为隧道端点设备和NAT网关负责执行隧道报文的封装、解封装以及对解封装后的IPv4地址进行转换。有关DS-Lite隧道的详细介绍,请参见“VPN配置指导”中的“隧道”。
图1-8 DS-Lite网络组网图
在该组网环境下,AFTR设备可基于B4的IPv6地址对B4分配端口块,DS-Lite主机或所有以B4为网关的私网主机共用该B4的端口块访问IPv4网络。该方式支持对DS-Lite主机基于端口块的溯源。
目前,仅支持对B4进行动态映射方式的端口块分配。
全局NAT适用于外部接口不固定的场景,当外部接口发生变化时,用户无需更改相关配置,降低了维护成本。
全局NAT通过在全局NAT策略中创建并执行NAT规则来实现地址转换。NAT规则中包含报文的过滤条件和地址转换动作:
· 过滤条件用于匹配进行地址转换的报文。
· 地址转换动作包括源NAT(SNAT)和目的NAT(DNAT)。SNAT转换报文的源IP地址,能够隐藏内网用户的IP地址;DNAT转换报文的目的IP地址,通常用于内网服务器对外部网络用户提供服务的场景。在同一条NAT规则中组合使用SNAT和DNAT,能够同时对报文进行源地址转换和目的地址转换。
全局NAT将NAT规则分为以下三类:
· SNAT规则:一条NAT规则中的动作仅包括SNAT。
· DNAT规则:一条NAT规则中的动作仅包括DNAT。
· SNAT+DNAT规则:一条NAT规则中的动作包含SNAT和DNAT。
(1) 配置全局NAT策略
a. 创建全局NAT策略
b. 配置NAT类型的规则
c. 配置NAT64类型的规则
d. 配置NAT66类型的规则
e. 移动NAT规则
f. 禁用NAT规则
(2) (可选)配置NAT地址组
(3) (可选)配置NAT ALG
(4) (可选)配置NAT DNS mapping功能
(5) (可选)配置NAT发送免费ARP报文功能
(6) (可选)提高NAT业务的可靠性
(7) (可选)特定条件下的NAT配置
¡ 开启对TCP SYN和SYN ACK报文中时间戳的删除功能
¡ 配置全局NAT策略中NAT类型的SNAT+DNAT规则的源IP地址转换和目的IP转换先于安全策略匹配,以便与老版本兼容
(8) (可选)配置NAT维护功能
(9) (可选)配置NAT日志和告警功能
¡ 开启NO-PAT方式下NAT地址组中地址成员使用率的日志信息功能
全局NAT策略由NAT规则组成,NAT规则由匹配条件和动作组成:
· 匹配条件:源地址、目的地址、服务类型、源安全域和目的安全域。每条NAT规则中可以根据需求配置不同的匹配条件,设备对匹配上的流量进行地址转换。匹配上的流量指的是能够匹配上某条NAT规则中所有匹配条件的流量。
· 动作:源地址转换和目的地址转换。
NAT规则有如下三种类型:
· NAT类型的地址转换,即IPv4和IPv4地址的相互转换。关于NAT功能和原理的详细介绍,请参见“NAT配置指导”中的“NAT” 。
· NAT64类型的地址转换,即IPv4和IPv6地址的相互转换。关于NAT64功能和原理的详细介绍,请参见“NAT配置指导”中的“AFT” 。
· NAT66类型的地址转换,即IPv6地址之间的相互转换,或者NPTv6方式的前缀转换。关于NAT66功能和原理的详细介绍,请参见“NAT配置指导”中的“NAT66” 。
若NAT规则未引用任何对象组或安全域,则该规则将匹配任意报文。
在全局NAT策略处于生效状态时,如果全局NAT策略中包含多条规则,则位置靠前的规则具有更高的匹配优先级。设备会按照规则的匹配优先级对报文进行匹配,一旦报文匹配上某条规则,匹配过程即结束。如果全局NAT策略未生效,则不会使用该策略中的规则进行报文匹配。可以通过执行display nat global-policy命令查看全局NAT策略的状态,显示信息中的“Config status”字段标识了全局NAT策略是否生效。
配置内部服务器时,如果将TCP或UDP协议的端口号改为非知名端口号,则NAT设备不会进行ALG处理,导致用户无法使用内部服务器提供的服务。可通过如下两种方式解决上述问题:
· 修改内部服务器配置,使用TCP或UDP协议自身的知名端口号。
· 不修改内部服务器配置,使用port-mapping命令建立TCP或UDP协议与对应的内部服务器配置中的端口号的映射。关于port-mapping命令的详细介绍,请参见“安全配置指导”中的“APR”。
(1) 进入系统视图。
system-view
(2) 创建全局NAT策略,并进入全局NAT策略视图。
nat global-policy
对于“DNAT规则”或者“SNAT+DNAT规则”,不能将目的安全域作为报文的过滤条件。
对于使用静态地址转换方式的SNAT规则,该规则引用的对象组中不能存在排除地址。
(1) 进入系统视图。
system-view
(2) 进入全局NAT策略视图。
nat global-policy
(3) 创建NAT类型的规则,并进入NAT规则视图。
rule name rule-name [ type nat ]
缺省情况下,不存在NAT规则。
(4) (可选)配置NAT规则的描述信息。
description text
缺省情况下,NAT规则未配置任何描述信息。
(5) 配置报文过滤条件。
¡ 配置NAT规则中用于匹配报文源IP地址的过滤条件。
source-ip { object-group-name | host ip-address | subnet subnet-ip-address mask-length }
缺省情况下,NAT规则中不存在用于匹配报文源IP地址的过滤条件。
¡ 配置NAT规则中用于匹配报文目的IP地址的过滤条件。
destination-ip { object-group-name | host ip-address | subnet subnet-ip-address mask-length }
缺省情况下,NAT规则中不存在用于匹配报文目的IP地址的过滤条件。
¡ 配置NAT规则中用于匹配报文携带的服务类型的过滤条件。
service object-group-name
缺省情况下,NAT规则中不存在用于匹配报文携带的服务类型的过滤条件。
¡ 配置作为NAT规则过滤条件的源安全域。
source-zone source-zone-name
缺省情况下,NAT规则中不存在源安全域过滤条件。
¡ 配置作为NAT规则过滤条件的目的安全域。
destination-zone destination-zone-name
缺省情况下,NAT规则中不存在目的安全域过滤条件。
¡ 配置NAT规则中用于匹配报文所属VPN实例的过滤条件。
vrf vrf-name
缺省情况下,NAT规则中不存在用于匹配报文所属VPN实例的过滤条件。
(6) 配置NAT规则的动作。
¡ 配置NAT规则中源地址转换方式。
NO-PAT方式:
action snat { address-group { group-id | name group-name } | object-group ipv4-object-group-name } no-pat [ reversible ] [ vrrp virtual-router-id ] [ vrf vrf-name ]
PAT方式:
action snat { address-group { group-id | name group-name } | object-group ipv4-object-group-name } [ port-preserved ] [ vrrp virtual-router-id ] [ vrf vrf-name ]
Easy IP方式:
action snat easy-ip [ port-preserved ] [ vrf vrf-name ]
静态地址转换方式:
action snat static { ip-address global-address | object-group object-group-name | subnet subnet-ip-address mask-length } [ vrrp virtual-router-id ] [ vrf vrf-name ]
NO-NAT方式:
action snat no-nat
缺省情况下,未配置NAT规则中源地址的转换方式。
¡ 配置NAT规则的目的地址转换方式。
服务器映射方式:
action dnat { ip-address local-address | object-group ipv4-object-group-name } [ local-port { local-port1 [ to local-port2 ] }&<1-32> ] [ vrrp virtual-router-id ] [ vrf vrf-name ]
NO-NAT方式:
action dnat no-nat
缺省情况下,未配置NAT规则中目的地址的转换方式。
(7) (可选)开启NAT规则命中统计功能。
counting enable
缺省情况下,NAT规则命中统计功能处于关闭状态。
(8) 配置PAT方式地址转换的模式。
a. 退回全局NAT策略视图。
quit
b. 退回系统视图。
quit
c. 配置PAT方式地址转换的模式。
nat mapping-behavior endpoint-independent [ acl { ipv4-acl-number | name ipv4-acl-name } ]
缺省情况下,PAT方式地址转换的模式为Address and Port-Dependent Mapping。
该配置只对PAT方式的出方向动态地址转换有效。
NAT64类型的规则对应的功能为AFT(Address Family Translation,地址族转换),有如下两种应用场景:
· IPv6侧发起访问。在IPv4向IPv6过渡初期,多数服务位于IPv4网络中,IPv6网络用户访问IPv4网络中的服务时,用户报文的源地址和目的地址的类型均为IPv6,需要将源地址和目的地址转换为IPv4地址。
· IPv4侧发起访问。在IPv4向IPv6过渡后期,多数服务位于IPv6网络中,IPv4网络用户访问IPv6网络中的服务时,用户报文的源地址和目的地址的类型均为IPv4,需要将源地址和目的地址转换为IPv6地址。
以上两种场景中,既需进行源地址转换,也需要进行目的地址转换。
同一个NAT64规则中可以根据需求配置多个匹配条件,但后配置的匹配条件中的IP地址类型必须与先配置的匹配条件中的IP地址类型一致,例如先配置了source-ip host 192.168.1.1,接下来配置了source-ip host 100::1,那么source-ip host 100::1配置不生效。请根据实际应用场景规划配置。
使用前缀方式进行地址转换时,匹配条件中的IPv6地址前缀长度必须符合转换动作中General前缀、IVI前缀或NAT64前缀对前缀长度的要求。
(1) 进入系统视图。
system-view
(2) 进入全局NAT策略视图。
nat global-policy
(3) 创建NAT64类型的规则,并进入NAT规则视图。
rule name rule-name type nat64
缺省情况下,不存在NAT规则。
(4) (可选)配置NAT规则的描述信息。
description text
缺省情况下,NAT规则未配置任何描述信息。
(5) 配置报文过滤条件。
¡ 配置NAT规则中用于匹配报文源IP地址的过滤条件。
source-ip { { ipv4-object-group-name | ipv6-object-group-name } | host { ipv4-address | ipv6-address } | subnet { subnet-ipv4-address mask-length | subnet-ipv6-address prefix-length } }
缺省情况下,NAT规则中不存在用于匹配报文源IP地址的过滤条件。
¡ 配置NAT规则中用于匹配报文目的IP地址的过滤条件。
destination-ip { { ipv4-object-group-name | ipv6-object-group-name } | host { ipv4-address | ipv6-address } | subnet { subnet-ipv4-address mask-length | subnet-ipv6-address prefix-length } }
¡ 配置NAT规则中用于匹配报文携带的服务类型的过滤条件。
service object-group-name
缺省情况下,NAT规则中不存在用于匹配报文携带的服务类型的过滤条件。
¡ 配置作为NAT规则过滤条件的源安全域。
source-zone source-zone-name
缺省情况下,NAT规则中不存在源安全域过滤条件。
¡ 配置NAT规则中用于匹配报文所属VPN实例的过滤条件。
vrf vrf-name
缺省情况下,NAT规则中不存在用于匹配报文所属VPN实例的过滤条件。
(6) 配置NAT规则的动作。
¡ 配置NAT规则中源地址转换方式。
NO-PAT方式:
action snat object-group ipv4-object-group-name no-pat [ ipv4-vrrp virtual-router-id ] [ vrf vrf-name ]
action snat object-group ipv6-object-group-name no-pat [ vrf vrf-name ]
PAT方式:
action snat object-group ipv4-object-group-name [ ipv4-vrrp virtual-router-id ] [ vrf vrf-name ]
action snat object-group ipv6-object-group-name [ vrf vrf-name ]
前缀转换方式:
action snat prefix { general { v4tov6 prefix-general general-prefix-length | v6tov4 } | ivi v6tov4 | nat64 v4tov6 prefix-nat64 nat64-prefix-length } [ vrf vrf-name ]
静态地址转换方式:
action snat static ip-address global-ipv4-address [ ipv4-vrrp virtual-router-id ] [ vrf vrf-name ]
action snat static ip-address global-ipv6-address [ ipv6-vrrp virtual-router-id ] [ vrf vrf-name ]
¡ 配置NAT规则的目的地址转换方式。
静态地址转换方式:
action dnat static ip-address local-ipv4-address [ ipv6-vrrp virtual-router-id ] [ vrf vrf-name ]
action dnat static ip-address local-ipv6-address [ ipv4-vrrp virtual-router-id ] [ vrf vrf-name ]
服务器映射方式:
action dnat server ip-address local-ipv4-address [ local-port local-port ] [ vrf vrf-name ]
action dnat server ip-address local-ipv6-address [ local-port local-port ] [ ipv4-vrrp virtual-router-id ] [ vrf vrf-name ]
前缀方式:
action dnat prefix { general v6tov4 | nat64 v6tov4 } [ vrf vrf-name ]
action dnat prefix { general v4tov6 prefix-general prefix-length | ivi v4tov6 prefix-ivi } [ ipv4-vrrp virtual-router-id ] [ vrf vrf-name ]
(7) (可选)开启NAT规则命中统计功能。
counting enable
缺省情况下,NAT规则命中统计功能处于关闭状态。
NAT66是指IPv6地址之间的转换,包括动态方式、静态方式和NPTv6三种转换方式。IPv6地址由网络前缀和接口ID两部分组成,NPTv6方式的地址转换将网络前缀转换为新的网络前缀,同时IPv6地址接口ID部分会根据RFC 6296进行调整。具体算法请参考RFC 6296。其他方式的地址转换是将IPv6地址转换为新的IPv6地址。在IPv6地址数量较多且对转换后的地址不敏感的情况下,建议采用NPTv6方式。
对于“DNAT规则”或者“SNAT+DNAT规则”,不能将目的安全域作为报文的过滤条件。
(1) 进入系统视图。
system-view
(2) 进入全局NAT策略视图。
nat global-policy
(3) 创建NAT66类型的规则,并进入NAT规则视图。
rule name rule-name type nat66
缺省情况下,不存在NAT规则。
(4) (可选)配置NAT规则的描述信息。
description text
缺省情况下,NAT规则未配置任何描述信息。
(5) 配置报文过滤条件。
¡ 配置NAT规则中用于匹配报文源IP地址的过滤条件。
source-ip { ipv6-object-group-name | host ipv6-address | subnet subnet-ipv6-address prefix-length }
缺省情况下,NAT规则中不存在用于匹配报文源IP地址的过滤条件。
¡ 配置NAT规则中用于匹配报文目的IP地址的过滤条件。
destination-ip { ipv6-object-group-name | host ipv6-address | subnet subnet-ipv6-address prefix-length }
¡ 配置NAT规则中用于匹配报文携带的服务类型的过滤条件。
service object-group-name
缺省情况下,NAT规则中不存在用于匹配报文携带的服务类型的过滤条件。
¡ 配置作为NAT规则过滤条件的源安全域。
source-zone source-zone-name
缺省情况下,NAT规则中不存在源安全域过滤条件。
¡ 配置作为NAT规则过滤条件的目的安全域。
destination-zone destination-zone-name
缺省情况下,NAT规则中不存在目的安全域过滤条件。
¡ 配置NAT规则中用于匹配报文所属VPN实例的过滤条件。
vrf vrf-name
缺省情况下,NAT规则中不存在用于匹配报文所属VPN实例的过滤条件。
(6) 配置NAT规则的动作。
¡ 配置NAT规则中源地址转换方式。
NO-PAT方式:
action snat object-group ipv6-object-group-name no-pat [ vrf vrf-name ]
PAT方式:
action snat object-group ipv6-object-group-name [ vrf vrf-name ]
静态地址转换方式:
action snat static ip-address global-ipv6-address [ ipv6-vrrp virtual-router-id ] [ vrf vrf-name ]
NPTv6方式:
action snat nptv6 translated-ipv6-prefix nptv6-prefix-length [ vrf vrf-name ]
NO-NAT方式:
action snat no-nat
¡ 配置NAT规则的目的地址转换方式。
服务器映射方式:
action dnat ip-address local-ipv6-address [ local-port local-port ] [ vrf vrf-name ]
NPTv6方式:
action dnat nptv6 translated-ipv6-prefix nptv6-prefix-length [ vrf vrf-name ]
NO-NAT方式:
action dnat no-nat
(7) (可选)开启NAT规则命中统计功能。
counting enable
缺省情况下,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。
在全局NAT策略视图下,可通过执行display this命令查看NAT规则的匹配优先级顺序。匹配优先级顺序受规则创建顺序和规则中包含的转换动作类型的影响,具体如下:
· “DNAT规则”和“SNAT+DNAT规则”的匹配优先级高于所有“SNAT规则”
· “DNAT规则”和“SNAT+DNAT规则”的匹配优先级顺序与创建顺序有关,先创建的规则拥有较高的匹配优先级。
· 当新建“DNAT规则”或“SNAT+DNAT规则”时,该规则位于所有已存在的“DNAT规则”以及“SNAT+DNAT规则”之后,即该规则的匹配优先级低于所有已存在的“DNAT规则”以及“SNAT+DNAT规则”。
· “SNAT规则”的匹配优先级与创建顺序有关,先创建的规则拥有较高的匹配优先级。
· 当新建“SNAT规则”时,该规则在所有已有的“SNAT规则”之后,即该规则的匹配优先级低于所有已存在的“SNAT规则”。
一旦设备匹配到了“DNAT规则”或者“SNAT+DNAT规则”,就不会再匹配“SNAT规则”。用户可以通过移动NAT规则来调整匹配优先级顺序,但是需确保所有的“DNAT规则”和“SNAT+DNAT规则”位于“SNAT规则”之前:
· 不允许将“DNAT规则”或“SNAT+DNAT规则”移动到“SNAT规则”之后。
· 不允许将“SNAT规则”移动到“DNAT规则”或“SNAT+DNAT规则”之前。
(1) 进入系统视图。
system-view
(2) 进入全局NAT策略视图。
nat global-policy
(3) 修改NAT规则的匹配优先级顺序。
rule move rule-name1 [ type { nat | nat64 | nat66 } ] { after | before } [ rule-name2 [ type { nat | nat64 | nat66 } ] ]
通过本命令只能调整已经存在的NAT规则的匹配优先级顺序。
调整NAT规则的优先级顺序时,可以不指定规则类型。若指定了规则类型,建议指定准确的类型。
配置本功能后,相应的NAT规则将不再生效,但是不会将此NAT规则删除。如果不再需要此NAT规则,需要执行undo rule name命令才能将其删除。
(1) 进入系统视图。
system-view
(2) 进入全局NAT策略视图。
nat global-policy
(3) 进入NAT规则视图。
rule name rule-name [ type { nat | nat64 | nat66 } ]
(4) 禁用NAT规则中的地址转换映射。
disable
缺省情况下,NAT规则中的地址转换映射处于开启状态。
一个NAT地址组是多个地址成员的集合。在全局NAT中,NAT类型的SNAT规则可以通过引用NAT地址组,将NAT地址组中的地址成员作为地址转换后的地址。
(1) 创建NAT地址组,并进入NAT地址组视图。
nat address-group group-id [ name group-name ]
(2) (可选)配置NAT地址组的描述信息。
description text
缺省情况下,未配置NAT地址组的描述信息。
(3) (可选)配置电信云堤网络中NAT地址组别名及所属的租户。
yundi alias alias-name tenant tenant-id
缺省情况下,在电信云堤网络中未配置NAT地址组别名及所属的租户。
别名和租户ID通常由远端控制器分配,因此不建议在设备上手工设置本功能。
(4) 添加地址成员。下面两种方法互斥,请选择其中一项进行配置。
¡ 将IP地址段作为NAT地址组中的地址成员。
address start-address end-address
可通过多次执行本命令添加多个地址组成员。
当前地址组成员的IP地址段不能与该地址组中或者其它地址组中已有的地址成员组成员
重叠。
如果IP地址段的某些IP地址不能用于地址转换,可通过如下命令配置禁止用于地址转换的IP地址。
exclude-ip start-address end-address
end-address必须大于或等于start-address,如果start-address和end-address相同,则表示只有一个地址。
¡ 将接口的IP地址作为NAT地址组中的地址成员,即实现Easy IP功能。
address interface interface-type interface-number
缺省情况下,未指定接口地址作为地址成员。
在同一个NAT地址组中,通过本命令只能将一个接口的地址作为地址成员。
(5) (可选)配置端口范围。
port-range start-port-number end-port-number
缺省情况下,端口范围为1~65535。
该配置仅对PAT方式地址转换生效。
(6) (可选)配置端口块参数。
port-block block-size block-size [ extended-block-number extended-block-number ]
缺省情况下,未配置NAT地址组的端口块参数。
该配置仅对PAT方式地址转换生效。
(1) 进入系统视图。
system-view
(2) 开启指定或所有协议类型的NAT ALG功能。
nat alg { all | dns | ftp | h323 | icmp-error | ils | mgcp | nbt | pptp | rsh | rtsp | sccp | sctp | sip | sqlnet | sunrpc | tftp | xdmcp }
缺省情况下,DNS、FTP、ICMP差错报文、PPTP、RTSP协议类型的NAT ALG功能处于开启状态,其他协议类型的NAT ALG功能处于关闭状态。
NAT DNS mapping功能适用于DNS服务器在公网、私网用户希望通过域名来访问私网内部服务器的场景中,用于将DNS响应报文载荷中内部服务器域名对应的公网IP替换为私网IP,从而让私网用户使用替换后的私网IP访问内部服务器。
DNS mapping功能需要和服务器映射方式的地址转换配置配合使用:
(1) DNS mapping建立“内部服务器域名<-->外网IP地址+外网端口号+协议类型”的映射关系。
(2) 服务器映射方式的地址转换配置中,用于匹配报文目的IP地址的过滤条件指定了内部服务器对外提供服务的公网IP地址,用于匹配报文携带的服务类型的过滤条件指定了内部服务器对外提供的服务类型以及端口号,转换动作指定了内部服务器公网IP地址转换后的私网IP地址。
(3) NAT设备收到DNS响应报文后,根据报文中的域名查找DNS mapping映射表,并根据表项内的“公网地址+公网端口+协议类型”信息查找服务器映射方式的地址转换配置中该信息对应的私网地址,替换DNS查询结果中的公网地址。
(1) 进入系统视图。
system-view
(2) 开启DNS协议类型的NAT ALG功能。
nat alg dns
缺省情况下,DNS协议类型的NAT ALG功能处于开启状态。
(3) 配置一条域名到内部服务器的映射。
nat dns-map domain domain-name protocol pro-type { interface interface-type interface-number | ip global-ip } port global-port
可配置多条域名到内部服务器的映射。
缺省情况下,NAT模块会发送免费ARP报文,向同一局域网内所有节点通告NAT公网IP地址与MAC地址的对应关系,并且会回应同一局域网内其他节点发送的免费ARP。当NAT公网地址较多时,发送免费ARP耗时较长,可能会导致ARP业务异常。这种情况下,为了保证ARP业务正常运行,可以暂时关闭此功能。关闭此功能后,NAT不再发送免费ARP报文,仅回应同一局域网内其他节点发送的免费ARP。
关闭NAT发送免费ARP报文通告公网IP地址与MAC地址对应关系的功能后,当NAT公网地址或NAT公网地址对应的VRRP变更、接口MAC或虚MAC变更、等价出口的链路震荡等,NAT模块不会主动发送免费ARP,可能会导致同一局域网内其他节点不能及时更新MAC地址表项,从而引发业务异常。请谨慎使用。
(1) 进入系统视图。
system-view
(2) 开启NAT发送免费ARP报文功能。
nat gratuitous-arp enable
缺省情况下,NAT发送免费ARP报文功能处于开启状态。
在双机热备的负载分担场景下,开启NAT端口负载分担功能后,两台设备分别获得一半的端口块资源,使得相同私网IP地址在不同的成员设备上独占一定的端口资源,避免端口分配冲突。
关于IRF的详细介绍,请参见“虚拟化技术配置指导”中的“IRF”。
在双机热备的主备备份场景下,不需要配置此命令。
nat port-load-balance enable slot slot-number
在业务热备份环境中,通过开启NAT444业务热备份功能功能,可以实现主备切换后动态端口块表项一致。
本特性的支持情况与设备型号有关,具体请参见命令参考。
HA组网环境下,开启RBM热备功能(执行hot-backup enable命令)后本功能才能生效。关于HA的详细介绍,请参见“可靠性配置指导”中的“双机热备(RBM)”。
IRF组网环境下,开启会话业务热备份功能(执行session synchronization enable命令)后本功能才能生效。关于IRF的详细介绍,请参见“虚拟化配置指导”中的“IRF”。
(1) 进入系统视图。
system-view
(2) 开启NAT444业务热备份功能。
nat port-block synchronization enable
缺省情况下,NAT444业务热备份功能处于关闭状态。
在单台NAT设备的组网中,一旦发生单点故障,内网用户将无法与外网通信。采用HA可以很好的避免上述情况的发生。在HA组网中的两台设备均可承担NAT业务,并通过HA通道进行会话热备、会话关联表热备、NAT端口块表项热备以及NAT配置的同步。当其中一台设备故障后流量自动切换到另一台正常工作的设备。
关于HA的详细介绍,请参见“高可靠性配置指导”中的“双机热备(RBM)” 。
HA组网中的两台设备均可承担NAT业务,实际处理NAT业务的设备由VRRP备份组中的Master设备承担。下面以主备模式的HA为例,介绍该场景中当Master设备发生故障时如何保证NAT业务不中断。
如图2-1所示,Device A和Device B组成HA(Device A为HA的主管理设备,Device B为HA的从管理设备),Device A通过备份通道将会话表项、会话关联表项和端口块表项实时备份到Device B。同时,Device A和Device B的下行链路组成VRRP备份组1,上行链路组成VRRP备份组2,并将VRRP和HA关联。HA根据链路状态或设备的转发能力选择Device A作为Master设备,正常情况下,由Device A进行地址转换。
如图2-2所示,当Device A的接口Interface A2发生故障时,Device B在VRRP备份组中的状态由Backup变为Master,由于Device B上已经有相关的NAT配置信息和业务表项,因此可以保证链路切换后的NAT业务不中断。
在主备模式的HA组网中,静态IP地址转换、源IP地址转换、目的IP地址转换的部分转换规则会将转换后的公网IP地址或内部服务器对外提供服务的公网IP地址下发到地址管理。然后,主、备设备均会向同一局域网内所有节点或本地链路范围内所有节点通告公网IP与自身物理接口MAC地址的对应关系。导致与HA直连的上行三层设备可能会将下行报文发送给HA中的Backup设备,从而影响业务的正常运行。
为了避免上述情况的发生,需要将地址转换方式与VRRP备份组绑定。执行绑定操作后,仅Master设备收到对转换后IP地址或内部服务器对外提供服务的公网IP地址的ARP请求或NS请求后,才会回应ARP响应报文或NA响应报文,响应报文中携带的MAC地址为此VRRP备份组的虚拟MAC地址。有关HA的详细介绍,请参见“高可靠性配置指导”中的“高可靠性”。
请在HA的主管理设备的NAT规则视图下将地址转换方式与VRRP备份组绑定,该备份组的虚拟IP与转换后的公网IP地址或内部服务器对外提供服务的公网IP地址在同一网段。
在主备模式的HA组网中使用NAT444端口块动态映射时,必须开启NAT444业务热备份功能(通过nat port-block synchronization enable命令)。否则,主备切换后会触发端口块重新分配,从而导致流量中断。
(1) 进入系统视图。
system-view
(2) 进入全局NAT策略视图。
nat global-policy
(3) 进入NAT规则视图。
rule name rule-name [ type nat ]
(4) 将地址转换方式与VRRP备份组绑定。请至少选择其中一项进行配置。
¡ NO-PAT方式源地址转换与VRRP绑定。
action snat address-group { group-id | name group-name } no-pat [ reversible ] vrrp virtual-router-id
¡ PAT方式源地址转换与VRRP绑定。
action snat address-group { group-id | name group-name } [ port-preserved ] vrrp virtual-router-id
¡ 静态方式源地址转换与VRRP绑定。
action snat static { ip-address global-address | object-group object-group-name | subnet subnet-ip-address mask-length } vrrp virtual-router-id
¡ 服务器映射方式目的地址转换与VRRP绑定。
action dnat { ip-address local-address | object-group ipv4-object-group-name } [ local-port { local-port1 [ to local-port2 ] }&<1-32> ] vrrp virtual-router-id
缺省情况下,地址转换方式未绑定任何VRRP备份组。
(1) 进入系统视图。
system-view
(2) 进入全局NAT策略视图。
nat global-policy
(3) 进入NAT规则视图。
rule name rule-name type nat64
(4) 将地址转换方式与VRRP备份组绑定。请至少选择其中一项进行配置。
¡ NO-PAT方式源地址转换与VRRP绑定。
action snat object-group ipv4-object-group-name no-pat [ ipv4-vrrp virtual-router-id ] [ vrf vrf-name ]
¡ PAT方式源地址转换与VRRP绑定。
action snat object-group ipv4-object-group-name [ ipv4-vrrp virtual-router-id ] [ vrf vrf-name ]
¡ IPv6到IPv4静态方式源地址转换与VRRP绑定。
action snat static ip-address global-ipv4-address [ ipv4-vrrp virtual-router-id ] [ vrf vrf-name ]
¡ IPv4到IPv6静态方式源地址转换与VRRP绑定。
action snat static ip-address global-ipv6-address [ ipv6-vrrp virtual-router-id ] [ vrf vrf-name ]
¡ IPv6到IPv4静态方式目的地址转换与VRRP绑定。
action dnat static ip-address local-ipv4-address [ ipv6-vrrp virtual-router-id ] [ vrf vrf-name ]
¡ IPv4到IPv6静态方式目的地址转换与VRRP绑定。
action dnat static ip-address local-ipv6-address [ ipv4-vrrp virtual-router-id ] [ vrf vrf-name ]
¡ IPv4到IPv6服务器映射方式目的地址转换与VRRP绑定。
action dnat server ip-address local-ipv6-address [ local-port local-port ] [ ipv4-vrrp virtual-router-id ] [ vrf vrf-name ]
¡ IPv4到IPv6前缀方式目的地址转换与VRRP绑定。
action dnat prefix { general v4tov6 prefix-general prefix-length | ivi v4tov6 prefix-ivi } [ ipv4-vrrp virtual-router-id ] [ vrf vrf-name ]
缺省情况下,地址转换方式未绑定任何VRRP备份组。
(1) 进入系统视图。
system-view
(2) 进入全局NAT策略视图。
nat global-policy
(3) 进入NAT规则视图。
rule name rule-name type nat66
(4) 将静态方式源地址转换与VRRP备份组绑定。
action snat static ip-address global-ipv6-address [ ipv6-vrrp virtual-router-id ] [ vrf vrf-name ]
缺省情况下,静态方式源地址转换未绑定任何VRRP备份组。
在双主模式的HA组网中,两台设备互为主备,仍然可能出现与HA直连的上行三层设备将下行报文发送给HA中的Backup设备,从而影响业务正常运行的情况。
为了避免上述情况的发生,需要将地址转换方式与VRRP备份组绑定。执行绑定操作后,仅Master设备收到对转换后IP地址或内部服务器对外提供服务的公网IP地址的ARP请求或NS请求后,才会回应ARP响应报文或NA响应报文,响应报文中携带的MAC地址为此VRRP备份组的虚拟MAC地址。有关HA的详细介绍,请参见“高可靠性配置指导”中的“高可靠性”。
请根据不同的情况选择不同的配置方式:
· 双主模式的HA组网中,两台设备的NAT规则可以共用同一个NAT地址组时,需要注意的是,为了防止不同的Master设备将不同主机的流量转换为同一个地址和端口号,需要使用PAT方式的地址转换,并配置nat remote-backup port-alloc命令,使得不同的Master设备使用不同范围的端口资源。
· 除上述情况外,建议双主模式HA组网中的两台设备使用不同的公网IP进行地址转换,避免出现不同的Master设备对不同主机的流量进行地址转换后,地址转换的结果相同的情况。例如,当HA中的两台设备使用不同地址范围的NAT地址组时(通过NAT规则匹配用户流量,实现不同源IP地址范围的用户流量使用不同的NAT地址组进行地址转换),不同的内网用户设置不同的网关地址,使得正向地址转换的流量由不同的Master设备进行处理。请在HA的主管理设备上将使用不同的NAT地址组进行地址转换的地址转换方式与不同的VRRP备份组绑定,从而引导反向地址转换的流量使用不同的Master设备进行地址转换,实现NAT业务的负载分担。
请在HA的主管理设备的NAT规则视图下将地址转换方式与VRRP备份组绑定,该备份组的虚拟IP与转换后的公网IP地址或内部服务器对外提供服务的公网IP地址在同一网段。
在双主模式的HA组网中使用NAT444端口块动态映射时,必须同时开启NAT444业务热备份功能(通过nat port-block synchronization enable命令)和端口拆分功能(通过nat remote-backup port-alloc命令)。否则,两台设备可能因分配相同的端口而导致端口冲突,从而造成流量中断。
(1) 进入系统视图。
system-view
(2) 进入全局NAT策略视图。
nat global-policy
(3) 进入NAT规则视图。
rule name rule-name [ type nat ]
(4) 将地址转换方式与VRRP备份组绑定。请至少选择其中一项进行配置。
¡ NO-PAT方式源地址转换与VRRP绑定。
action snat address-group { group-id | name group-name } no-pat [ reversible ] vrrp virtual-router-id
¡ PAT方式源地址转换与VRRP绑定。
action snat address-group { group-id | name group-name } [ port-preserved ] vrrp virtual-router-id
¡ 静态方式源地址转换与VRRP绑定。
action snat static { ip-address global-address | object-group object-group-name | subnet subnet-ip-address mask-length } vrrp virtual-router-id
¡ 服务器映射方式目的地址转换与VRRP绑定。
action dnat { ip-address local-address | object-group ipv4-object-group-name } [ local-port { local-port1 [ to local-port2 ] }&<1-32> ] vrrp virtual-router-id
缺省情况下,地址转换方式未绑定任何VRRP备份组。
(5) (可选)指定HA中主、从管理设备可以使用的NAT端口块范围。
a. 退回全局NAT策略视图。
quit
b. 退回系统视图。
quit
c. 指定HA中主、从管理设备可以使用的NAT端口块范围。
nat remote-backup port-alloc { primary | secondary }
缺省情况下,HA中的主、从管理设备共用NAT端口资源。
参数 |
功能 |
primary |
表示使用数值较小的一半端口 |
secondary |
表示使用数值较大的一半端口 |
(1) 进入系统视图。
system-view
(2) 进入全局NAT策略视图。
nat global-policy
(3) 进入NAT规则视图。
rule name rule-name type nat64
(4) 将地址转换方式与VRRP备份组绑定。请至少选择其中一项进行配置。
¡ NO-PAT方式源地址转换与VRRP绑定。
action snat object-group ipv4-object-group-name no-pat [ ipv4-vrrp virtual-router-id ] [ vrf vrf-name ]
¡ PAT方式源地址转换与VRRP绑定。
action snat object-group ipv4-object-group-name [ ipv4-vrrp virtual-router-id ] [ vrf vrf-name ]
¡ IPv6到IPv4静态方式源地址转换与VRRP绑定。
action snat static ip-address global-ipv4-address [ ipv4-vrrp virtual-router-id ] [ vrf vrf-name ]
¡ IPv4到IPv6静态方式源地址转换与VRRP绑定。
action snat static ip-address global-ipv6-address [ ipv6-vrrp virtual-router-id ] [ vrf vrf-name ]
¡ IPv6到IPv4静态方式目的地址转换与VRRP绑定。
action dnat static ip-address local-ipv4-address [ ipv6-vrrp virtual-router-id ] [ vrf vrf-name ]
¡ IPv4到IPv6静态方式目的地址转换与VRRP绑定。
action dnat static ip-address local-ipv6-address [ ipv4-vrrp virtual-router-id ] [ vrf vrf-name ]
¡ IPv4到IPv6服务器映射方式目的地址转换与VRRP绑定。
action dnat server ip-address local-ipv6-address [ local-port local-port ] [ ipv4-vrrp virtual-router-id ] [ vrf vrf-name ]
¡ IPv4到IPv6前缀方式目的地址转换与VRRP绑定。
action dnat prefix { general v4tov6 prefix-general prefix-length | ivi v4tov6 prefix-ivi } [ ipv4-vrrp virtual-router-id ] [ vrf vrf-name ]
缺省情况下,地址转换方式未绑定任何VRRP备份组。
(1) 进入系统视图。
system-view
(2) 进入全局NAT策略视图。
nat global-policy
(3) 进入NAT规则视图。
rule name rule-name type nat66
(4) 将静态方式源地址转换与VRRP备份组绑定。
action snat static ip-address global-ipv6-address [ ipv6-vrrp virtual-router-id ] [ vrf vrf-name ]
缺省情况下,静态方式源地址转换未绑定任何VRRP备份组。
在入方向动态地址转换功能与隧道功能配合使用的组网环境中,若多个隧道接口引用同一个NAT地址组,则设备会将来自不同隧道的报文的源IP地址转换为相同的NAT地址,并从设备的出接口转发出去。缺省情况下,设备出接口收到反向报文后,不会查询NAT会话表项,这将导致反向报文不能正确转发。为解决此问题,可在设备的出接口开启反向报文的重定向功能,使出接口收到反向报文后查询NAT会话表项,根据NAT会话表项记录的信息将反向报文的目的IP地址进行NAT地址转换,从而使反向报文通过接收正向报文的隧道发送出去。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启反向报文的重定向功能。
nat redirect reply-route enable
缺省情况下,反向报文的重定向功能处于关闭状态。
在PAT方式的动态地址转换(即接口上配置了nat inbound或nat outbound命令)组网环境中,若服务器上同时开启了tcp_timestams和tcp_tw_recycle功能,则Client与Server之间可能会出现无法建立TCP连接的现象。
为了解决以上问题,可在服务器上关闭tcp_tw_recycle功能或在设备上开启对TCP SYN和SYN ACK报文中时间戳的删除功能。
(1) 进入系统视图。
system-view
(2) 开启对TCP SYN和SYN ACK报文中时间戳的删除功能。
nat timestamp delete [ vpn-instance vpn-instance-name ]
缺省情况下,不对TCP SYN和SYN ACK报文中的时间戳进行删除。
多次执行本命令,可为不同VPN中的报文开启此功能。
本功能用于解决如下场景中新老版本不兼容的问题。
设备进行软件版本升级前,当全局NAT策略中使用SNAT+DNAT规则时,设备先进行源IP和目的IP转换,然后使用转换后的源IP和目的IP匹配安全策略。
设备升级软件版本后,当全局NAT策略中使用SNAT+DNAT规则时,设备会先进行目的IP转换,然后使用转换前的源IP和转换后的目的IP匹配安全策略,最后进行源IP转换。这样会导致软件版本升级前后的处理方式不兼容。
为了解决上述问题,设备进行软件升级过程中,会自从生成并下发nat global-policy compatible-previous-version rule-type ipv4-snat-and-dnat translate-before-secp命令并保存此配置。
本功能仅用于兼容老版本,不建议用户手工配置。
(1) 进入系统视图。
system-view
(2) 配置全局NAT策略中NAT类型的SNAT+DNAT规则的源IP地址转换和目的IP转换先于安全策略匹配,以便与老版本兼容。
nat global-policy compatible-previous-version rule-type ipv4-snat-and-dnat translate-before-secp
缺省情况下,设备先进行全局NAT策略中NAT类型的SNAT+DNAT规则的目的IP转换,然后使用转换前的源地址和转换后的目的地址匹配安全策略,最后进行全局NAT策略中NAT类型的SNAT+DNAT规则的源IP转换。
开启NAT定时统计功能后,NAT将按照一定的时间间隔对每个地址组中的会话数目和端口块分配冲突计数进行统计。
使用本功能可能会占用较多的CPU资源,当CPU资源紧张时,可将其关闭。
(1) 进入系统视图。
system-view
(2) 开启NAT定时统计功能。
nat periodic-statistics enable
缺省情况下,NAT定时统计功能处于关闭状态。
(3) 配置NAT定时统计功能的时间间隔。
nat periodic-statistics interval interval
缺省情况下,NAT定时统计功能的时间间隔为300秒。
如果将NAT定时统计功能的时间间隔调小,会占用较多的CPU资源。通常情况下,建议使用缺省值。
开启此功能后,设备会对新建NAT会话的速率进行统计,统计信息可以通过display nat statistics命令查看。
(1) 进入系统视图。
system-view
(2) 开启新建NAT会话速率的统计功能。
nat session create-rate enable
缺省情况下,新建NAT会话速率的统计功能处于关闭状态。
通过在地址组中引用NQA模板来实现检测NAT地址组中地址可用性的目的。关于NQA的详细介绍,请参见“网络管理和监控配置指导”中的“NQA”。
检测NAT地址组成员可用性的详细过程如下:
(1) 引用NQA探测模板后,设备会周期性地向NQA模板中指定的目的地址依次发送探测报文,其中各探测报文的源IP地址是地址池中的IP地址。
(2) 若设备在当前探测周期内没有收到NQA探测应答报文,则将该探测报文的源IP地址从地址池中排除,即在本探测周期内禁止该IP地址用于地址转换。
(3) 下一个探测周期重复以上过程。被排除的IP地址也会重新进行可用性探测。
一个NAT地址组视图下,可指定多个NQA探测模板。当指定多个NQA探测模板时,只要有一个NQA探测模板探测成功,则表示该地址可用于地址转换。
本功能仅对用于出方向地址转换的地址成员的可用性进行检测。不对通过exclude-ip命令配置的禁止用于地址转换的IP地址的可用性进行检测。
引用的NQA探测模板中,不能配置探测报文的源IP地址。
(1) 进入系统视图。
system-view
(2) 进入NAT地址组视图。
nat address-group group-id [ name group-name ]
(3) 指定NAT地址组中地址成员的检测方法。
probe template-name
缺省情况下,未指定NAT地址组中地址成员的检测方法。
指定的检测方法可以不存在,但要使检测功能生效,必须通过nqa template命令创建检测方法所使用的NQA模板。
缺省情况下,NAT设备对ICMP报文的地址转换失败时,不会发送ICMP差错报文,从而导致使用ICMP协议报文的应用无法感知此事件。开启本功能后,NAT设备对ICMP报文地址转换失败时,会发送ICMP差错报文,使用ICMP协议报文的应用根据收到的ICMP差错报文发现和定位问题。
(1) 进入系统视图。
system-view
(2) 开启设备NAT对ICMP报文转换失败发送ICMP差错报文功能。
nat icmp-error reply
缺省情况下,NAT设备对ICMP报文地址转换失败时,设备不发送ICMP差错报文。
缺省情况下,当NAT配置发生变更时(例如添加、删除、修改或移动NAT规则),对于已经建立的连接,配置变更可能会导致该连接上的流量匹配到了新的NAT规则,此时需要重新建立连接。
如果不希望NAT配置变更影响已经建立的连接,请配置nat configuration-for-new-connection enable命令。配置本命令后,NAT配置变更时,对于已经建立的连接上的流量,设备仍然使用配置变更前的地址转换规则进行地址转换。对于新建立的连接上的流量,根据NAT配置变更后的NAT规则优先级顺序进行流量匹配,并使用匹配上的NAT规则进行地址转换。
使用nat configuration-for-new-connection enable命令时,需注意其潜在的局限性,特别是与NAT444、NO-PAT、EIM等配置共同使用时。该命令启用后,现有连接产生的流量所对应的NAT会话不会因NAT配置更改而自动删除。然而,NAT444、NO-PAT、EIM配置所生成的NAT表项依赖于会话的删除机制来移除。这可能导致在NAT配置变更后,原有的NAT表项仍然残留在系统中。这些残留的NAT表项有可能引起一系列问题,包括配置变更后表项统计数据不准、新建连接流量无法按照最新配置进行转换,甚至可能导致新建连接无法成功建立。因此,请谨慎使用nat configuration-for-new-connection enable命令。
(1) 进入系统视图。
system-view
(2) 开启地址转换配置变更仅对新连接生效的功能。
nat configuration-for-new-connection enable
缺省情况下,地址转换配置变更仅对新连接生效的功能处于关闭状态。
NAT会话日志是为了满足网络管理员安全审计的需要,对NAT会话(报文经过设备时,源或目的信息被NAT进行过转换的连接)信息进行的记录,包括IP地址及端口的转换信息、用户的访问信息以及用户的网络流量信息。
有三种情况可以触发设备生成NAT会话日志:
· 新建NAT会话。
· 删除NAT会话。新增高优先级的配置、删除配置、报文匹配规则变更、NAT会话老化以及执行删除NAT会话的命令时,都可能导致NAT会话被删除。
· 存在NAT活跃流。NAT活跃流是指在一定时间内存在的NAT会话。当设置的生成活跃流日志的时间间隔到达时,当前存在的NAT会话信息就被记录并生成日志。NAT活跃流日志仅支持通过Flow日志输出方式发送到日志主机,不支持以快速日志输出方式发送。关于通过Flow日志输出方式发送到日志主机的相关介绍,请参见“网络管理和监控配置指导”中的“Flow日志”。
(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日志。
NAT444用户日志是为了满足互联网用户溯源的需要,在NAT444地址转换中,对每个用户的私网IP地址进行端口块分配或回收时,都会输出一条基于用户的日志,记录私网IP地址和端口块的映射关系。在进行用户溯源时,只需根据报文的公网IP地址和端口找到对应的端口块分配日志信息,即可确定私网IP地址。
有两种情况可以触发设备输出NAT444用户日志:
· 端口块分配:端口块静态映射方式下,在某私网IP地址的第一个新建连接通过端口块进行地址转换时输出日志;端口块动态映射方式下,在为某私网IP地址分配端口块或增量端口块时输出日志。
· 端口块回收:端口块静态映射方式下,在某私网IP地址的最后一个连接拆除时输出日志;端口块动态映射方式下,在释放端口块资源(并删除端口块表项)时输出日志。
在配置NAT444用户日志功能前,必须先配置将用户定制日志发送到日志主机的功能,否则无法产生NAT444用户日志。详细配置请参见“网络管理和监控配置指导”中的“信息中心”。
(1) 进入系统视图。
system-view
(2) 开启NAT日志功能。
nat log enable [ acl { ipv4-acl-number | name ipv4-acl-name } ]
缺省情况下,NAT日志功能处于关闭状态。
ACL参数对NAT444用户日志功能无效。
(3) 开启端口块用户日志功能。请至少选择其中一项进行配置。
¡ 开启端口块分配的NAT444用户日志功能。
nat log port-block-assign
¡ 开启端口块回收的NAT444用户日志功能。
nat log port-block-withdraw
缺省情况下,分配和回收端口块时,均不输出NAT444用户日志。
在NAT地址转换中,如果可为用户分配的NAT资源用尽,后续连接由于没有可用的资源无法对其进行地址转换,相应的报文将被丢弃。本命令用来在NAT资源用尽时输出告警日志。在NO-PAT动态映射中,NAT资源是指公网IP地址;在EIM模式的PAT动态映射中,NAT资源是指公网IP地址和端口;在NAT444地址转换中,NAT资源是指公网IP、端口块和端口块中的端口。
NAT444端口块动态映射方式中,当端口块分配失败时,系统会输出日志信息。
NAT444端口块动态映射方式中,当端口块中的端口资源都用尽但还是无法满足用户的地址转换需求时,系统会输出日志信息。
只有开启NAT日志功能(通过nat log enable命令)之后,NAT告警信息日志功能才能生效。
在配置NAT告警信息日志功能前,必须先配置将用户定制日志发送到日志主机的功能,否则无法产生NAT告警信息日志。详细配置请参见“网络管理和监控配置指导”中的“信息中心”。
(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资源用尽时,系统会输出告警日志。
(4) (可选)配置动态NAT444端口块使用率的阈值。
nat log port-block usage threshold threshold-value
缺省情况下,动态NAT444的端口块使用率的阈值为90%。
创建动态端口块表项时,若端口块的使用率大于阈值,系统会输出告警日志。
创建NO-PAT表项时,若NO-PAT方式下NAT地址组中地址成员的使用率超过设定的百分比时,系统将会输出日志信息。
只有开启NAT日志功能(通过nat log enable命令)之后,NAT地址组中地址成员使用率的日志信息功能才能生效。
(1) 进入系统视图。
system-view
(2) 开启NAT日志功能。
nat log enable [ acl { ipv4-acl-number | name ipv4-acl-name } ]
缺省情况下,NAT日志功能处于关闭状态。
ACL参数对NO-PAT方式下NAT地址组中地址成员使用率的日志信息功能无效。
(3) 开启NO-PAT方式下NAT地址组中地址成员使用率的日志信息功能,并设置NAT地址组中地址成员使用率的阈值。
nat log no-pat ip-usage [ threshold value ]
缺省情况下,NAT地址组中地址成员使用率的日志信息功能处于关闭状态。
本功能用于需要快速输出NAT新建流日志的场景。
NAT支持将新建流日志快速输出到日志主机或DAC(Data Analysis Center,数据分析中心),从而满足简化配置、快速输出NAT新建流日志的需求,具体如下:
· 对于输出到日志主机的场景,配置customlog host v2命令并设置导出NAT日志后,如果未开启NAT新建流日志的快速输出功能,则需要配置nat log enable命令和nat log flow-begin命令才能输出NAT新建流日志到日志主机。开启NAT新建流日志的快速输出功能后,则无需配置nat log enable命令和nat log flow-begin命令即可输出NAT新建流日志到日志主机。
· 对于输出到DAC的场景,配置dac log-collect service nat flow_log enable命令后,如果未开启NAT新建流日志的快速输出功能,则需要配置nat log enable命令和nat log flow-begin命令才能输出NAT新建流日志到DAC。开启NAT新建流日志的快速输出功能后,则无需配置nat log enable命令和nat log flow-begin命令即可输出NAT新建流日志到DAC。关于DAC的详细介绍,请参见“DPI深度安全配置指导”中的“数据分析中心”。
NAT新建流日志的快速输出功能处于开启状态的情况下,如果配置了nat log enable命令和nat log flow-begin命令,则NAT设备新建流时会同时生成如下类型的日志:
· NAT_FLOW
· NAT_IPV4_MATCH
· NAT_IPV6_MATCH
(1) 进入系统视图。
system-view
(2) 开启NAT快速输出新建流日志的功能。
nat log flow-match
缺省情况下,NAT输出新建流日志的功能处于开启状态。
本功能用于在NAT动态端口块资源的使用率过高或资源恢复时,向网络管理系统发送Trap消息进行告警。具体工作机制如下:
(1) 当NAT动态端口块资源的使用率大于或等于本功能设置的阈值时,NAT会生成Trap告警信息。
(2) 当NAT动态端口块资源的使用率回落到小于本功能设置的阈值的90%时,NAT会生成Trap告警信息,提示用户端口块资源恢复。
生成的告警信息将被送到设备的SNMP模块,通过设置SNMP中的告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
(1) 进入系统视图。
system-view
(2) 开启NAT日志功能。
nat trap port-block threshold threshold-value
缺省情况下,NAT动态端口块资源使用率的告警阈值为95%。
NAT地址组下通过配置probe命令引用NQA模板来检测NAT地址组中地址可用性时,会将不可用的IP地址从地址组中排除。排除不可用IP地址的过程中,如下两种情况会触发NAT发送Trap消息:
· 当不可用IP地址的排除率大于本功能设置的阈值导致剩余IP地址不足时,NAT会生成Trap告警信息。
· 当不可用IP地址的排除率回落到低于本功能设置的阈值时,NAT会生成Trap告警信息,提示用户可用IP地址资源充足。
生成的告警信息将被送到设备的SNMP模块,通过设置SNMP中的告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
(1) 进入系统视图。
system-view
(2) 开启NAT日志功能。
nat trap nqa threshold upper-limit upperlimit-value lower-limit lowerlimit-value
缺省情况下,NAT地址组通过NQA探测排除不可用IP地址时,系统会在不可用IP地址的排除率高于90%或者低于85%的情况下发送Trap消息进行告警。
本功能用于在NO-PAT模式NAT地址资源的使用率过高或资源恢复时,向网络管理系统发送Trap消息进行告警。具体工作机制如下:
(1) 当NO-PAT模式NAT地址资源的使用率大于或等于本功能设置的阈值时,NAT会生成Trap告警信息。
(2) 当NO-PAT模式NAT地址资源的使用率回落到小于本功能设置的阈值时,NAT会生成Trap告警信息,提示用户NO-PAT模式NAT地址资源恢复。
生成的告警信息将被送到设备的SNMP模块,通过设置SNMP中的告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
(1) 进入系统视图。
system-view
(2) 开启NAT日志功能。
nat trap no-pat ip-usage threshold threshold-value
缺省情况下,NO-PAT模式NAT地址资源使用率的告警阈值为95%。
在完成上述配置后,在任意视图下执行display命令可以显示NAT配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可以清除NAT表项。
表2-1 全局NAT显示和维护
操作 |
命令 |
显示NAT ALG功能的开启状态 |
display nat alg |
显示所有的NAT配置信息 |
display nat all |
显示NAT地址组的配置信息 |
display nat address-group [ group-id ] |
显示全局NAT策略的配置信息 |
display nat global-policy [ rule-type { nat | nat64 | nat66 } ] |
显示NAT日志功能的配置信息 |
display nat log |
显示NAT NO-PAT表项信息 |
display nat no-pat { ipv4 | ipv6 } [ slot slot-number ] |
显示NO-PAT方式下NAT地址组中地址成员的使用率 |
display nat no-pat ip-usage [ address-group { group-id | name group-name } ] [ slot slot-number ] |
显示NAT定时统计功能的计数信息 |
display nat periodic-statistics { address-group [ group-id | name group-name ] | ip global-ip } [ slot slot-number ] |
显示NAT会话 |
display nat session [ [ responder ] { source-ip source-ip-start [ source-ip-end ] | destination-ip destination-ip-start [ destination-ip-end ] | source-port source-port | destination-port destination-port | protocol { dccp | icmp | raw-ip | sctp | tcp | udp | udp-lite } | application application-name | state { dccp-closereq | dccp-closing | dccp-open | dccp-partopen | dccp-request | dccp-respond | dccp-timewait | icmp-reply | icmp-request | rawip-open | rawip-ready | sctp-closed | sctp-cookie-echoed | sctp-cookie-wait | sctp-established | sctp-shutdown-ack-sent | sctp-shutdown-recd | sctp-shutdown-sent | tcp-close | tcp-close-wait | tcp-est | tcp-fin-wait | tcp-last-ack | tcp-syn-recv | tcp-syn-sent | tcp-syn-sent2 | tcp-time-wait | udp-open | udp-ready | udplite-open | udplite-ready } | interface { interface-name | interface-type interface-number } } * [ vpn-instance vpn -instance-name ] ] [ slot slot-number ] [ verbose ] |
显示NAT统计信息 |
display nat statistics [ summary ] [ slot slot-number ] |
显示端口块表项 |
display nat port-block dynamic [ address-group { group-id | name group-name } ] [ slot slot-number ] |
显示动态NAT444地址组中端口块的使用率 |
display nat port-block-usage [ address-group group-id ] [ slot slot-number ] |
显示NAT地址组中地址成员的检测信息 |
display nat probe address-group [ group-id ] |
清除NAT转换计数信息 |
reset nat count statistics { all | dynamic | global-policy | server | static } |
清除NAT定时统计功能的计数信息 |
reset nat periodic-statistics [ slot slot-number ] |
删除NAT会话 |
reset nat session [ slot slot-number ] |
内部网络用户10.110.10.8/24使用外网地址202.38.1.100访问Internet中的地址为201.20.1.1/24的 Server。
图2-3 内网用户通过NAT地址访问外网配置组网图(静态地址转换)
(1) 配置接口IP地址
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 10.110.10.1 24
[Device-GigabitEthernet1/0/1] quit
请参考以上步骤配置其他接口的IP地址,具体配置步骤略。
(2) 将接口加入安全域
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
(3) 配置静态路由
本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
# 请根据组网图中规划的信息,配置静态路由,本举例假设到达Server所在网络的下一跳IP地址为202.38.1.2,实际使用中请以具体组网情况为准,具体配置步骤如下。
[Device] ip route-static 201.20.1.0 24 202.38.1.2
(4) 配置安全策略
# 配置名称为trust-untrust的安全策略,保证Trust安全域内的Host可以访问Untrust安全域中的Server,具体配置步骤如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name trust-untrust
[Device-security-policy-ip-1-trust-untrust] source-zone trust
[Device-security-policy-ip-1-trust-untrust] destination-zone untrust
[Device-security-policy-ip-1-trust-untrust] source-ip-host 10.110.10.8
[Device-security-policy-ip-1-trust-untrust] destination-ip-host 201.20.1.1
[Device-security-policy-ip-1-trust-untrust] action pass
[Device-security-policy-ip-1-trust-untrust] quit
[Device-security-policy-ip] quit
(5) 配置NAT功能
# 配置内网IP地址10.110.10.8到外网地址202.38.1.100之间的一对一静态地址转换映射。
[Device] nat global-policy
[Device-nat-global-policy] rule name rule1
[Device-nat-global-policy-rule-rule1] source-ip host 10.110.10.8
[Device-nat-global-policy-rule-rule1] source-zone trust
[Device-nat-global-policy-rule-rule1] destination-zone untrust
[Device-nat-global-policy-rule-rule1] action snat static ip-address 202.38.1.100
# 以上配置完成后,内网主机可以访问外网服务器。通过查看如下显示信息,可以验证以上配置成功。
[Device] display nat global-policy
NAT global-policy information:
Totally 1 NAT global-policy rules.
Rule name: rule1
Type : nat
SrcIP address : 10.110.10.8
Source-zone name : Trust
Destination-zone name : Untrust
SNAT action:
Ipv4 address: 202.38.1.100
NAT counting : 0
Config status: Active
# 通过以下显示命令,可以看到Host访问某外网服务器时生成NAT会话信息。
[Device] display nat session verbose
Slot 1:
Initiator:
Source IP/port: 10.110.10.8/54765
Destination IP/port: 201.20.1.1/23
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
Source security zone: Trust
Responder:
Source IP/port: 201.20.1.1/23
Destination IP/port: 202.38.1.100/54765
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/2
Source security zone: Untrust
State: TCP_ESTABLISHED
Application: TELNET
Rule ID: -/-/-
Rule name:
Start time: 2017-05-19 10:57:47 TTL: 1195s
Initiator->Responder: 8 packets 375 bytes
Responder->Initiator: 10 packets 851 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。
图2-4 内网用户通过NAT访问外网配置组网图(地址不重叠)
(1) 配置接口IP地址
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.1 16
[Device-GigabitEthernet1/0/1] quit
请参考以上步骤配置其他接口的IP地址,具体配置步骤略。
(2) 将接口加入安全域
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
(3) 配置静态路由
本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
# 请根据组网图中规划的信息,配置静态路由,本举例假设到达Server所在网络的下一跳IP地址为202.38.1.20,实际使用中请以具体组网情况为准,具体配置步骤如下。
[Device] ip route-static 200.1.1.0 24 202.38.1.20
(4) 配置安全策略
# 配置名称为trust-untrust的安全策略,保证Trust安全域内的Host可以访问Untrust安全域中的Server,具体配置步骤如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name trust-untrust
[Device-security-policy-ip-1-trust-untrust] source-zone trust
[Device-security-policy-ip-1-trust-untrust] destination-zone untrust
[Device-security-policy-ip-1-trust-untrust] source-ip-subnet 192.168.1.0 24
[Device-security-policy-ip-1-trust-untrust] destination-ip-host 200.1.1.10
[Device-security-policy-ip-1-trust-untrust] action pass
[Device-security-policy-ip-1-trust-untrust] quit
[Device-security-policy-ip] quit
(5) 配置NAT功能
# 配置地址组0,包含两个外网地址202.38.1.2和202.38.1.3。
[Device] nat address-group 0
[Device-address-group-0] address 202.38.1.2 202.38.1.3
[Device-address-group-0] quit
# 配置地址对象组obj1,仅允许对内部网络中192.168.1.0/24网段的用户报文进行地址转换。
[Device] object-group ip address obj1
[Device-obj-grp-ip-obj1] network subnet 192.168.1.0 24
[Device-obj-grp-ip-obj1] quit
# 配置全局NAT规则,允许使用地址组0中的地址对匹配的对象组obj1的报文进行源地址转换,并在转换过程中使用端口信息。
[Device] nat global-policy
[Device-nat-global-policy] rule name rule1
[Device-nat-global-policy-rule-rule1] source-ip obj1
[Device-nat-global-policy-rule-rule1] action snat address-group 0
# 以上配置完成后,Host A能够访问WWW server,Host B和Host C无法访问WWW server。通过查看如下显示信息,可以验证以上配置成功。
[Device] 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
Exclude address information:
Start address End address
--- ---
NAT global-policy information:
Totally 1 NAT global-policy rules.
Rule name: rule1
Type : nat
SrcIP object group : obj1
SNAT action:
Address group ID: 0
NO-PAT: N
Reversible: N
Port-preserved: N
NAT counting : 0
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
NO-PAT IP usage : Disabled
NAT log flow-match : Enabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Disabled
ICMP-ERROR : Enabled
ILS : Disabled
MGCP : Disabled
NBT : Disabled
PPTP : Enabled
RTSP : Enabled
RSH : Disabled
SCCP : Disabled
SIP : Disabled
SQLNET : Disabled
TFTP : Disabled
XDMCP : Disabled
Static NAT load balancing: Disabled
NAT link-switch recreate-session: Disabled
NAT configuration-for-new-connection: Disabled
NAT global-policy compatible-previous-version rule-type ipv4-snat-and-dnat translate-before-secp : Disabled
NAT gratuitous-arp: Enabled
NAT zone-switch recreate-session: Enabled
NAT null-route silent: Disabled
Nat global-policy object-group nested-and-wildcard: Disabled
# 通过以下显示命令,可以看到Host A访问WWW server时生成NAT会话信息。
[Device] display nat session verbose
Slot 1:
Initiator:
Source IP/port: 192.168.1.10/52082
Destination IP/port: 200.1.1.10/80
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
Source security zone: Trust
Responder:
Source IP/port: 200.1.1.10/80
Destination IP/port: 202.38.1.2/1036
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/2
Source security zone: Untrust
State: TCP_ESTABLISHED
Application: HTTP
Rule ID: -/-/-
Rule name:
Start time: 2017-05-19 16:16:59 TTL: 9995s
Initiator->Responder: 551 packets 32547 bytes
Responder->Initiator: 956 packets 1385514 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端口。
图2-5 外网用户通过外网地址访问内网服务器配置组网图
(1) 配置接口IP地址
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 10.110.10.10 16
[Device-GigabitEthernet1/0/1] quit
请参考以上步骤配置其他接口的IP地址,具体配置步骤略。
(2) 将接口加入安全域
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
(3) 配置安全策略
# 配置名称为untrust-trust的安全策略,保证Untrust安全域中的Host可以访问Trust安全域中的Server,具体配置步骤如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name untrust-trust
[Device-security-policy-ip-1-untrust-trust] source-zone untrust
[Device-security-policy-ip-1-untrust-trust] destination-zone trust
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 10.110.10.1
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 10.110.10.2
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 10.110.10.3
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 10.110.10.4
[Device-security-policy-ip-1-untrust-trust] action pass
[Device-security-policy-ip-1-untrust-trust] quit
[Device-security-policy-ip] quit
(4) 配置NAT功能
# 配置服务对象组,提供FTP、Web和SMTP服务。
[Device] object-group service service1
[Device-obj-grp-service-service1] service tcp destination eq 21
[Device-obj-grp-service-service1] quit
[Device] object-group service service2
[Device-obj-grp-service-service2] service tcp destination eq 80
[Device-obj-grp-service-service2] quit
[Device] object-group service service3
[Device-obj-grp-service-service3] service tcp destination eq 8080
[Device-obj-grp-service-service3] quit
[Device] object-group service service4
[Device-obj-grp-service-service4] service tcp destination eq 25
[Device-obj-grp-service-service4] quit
# 配置全局NAT规则,允许外网主机访问内网服务器。
[Device] nat global-policy
[Device-nat-global-policy] rule name rule1
[Device-nat-global-policy-rule-rule1] destination-ip host 202.38.1.1
[Device-nat-global-policy-rule-rule1] source-zone untrust
[Device-nat-global-policy-rule-rule1] service service1
[Device-nat-global-policy-rule-rule1] action dnat ip-address 10.110.10.3 local-port 21
[Device-nat-global-policy-rule-rule1] quit
[Device-nat-global-policy] rule name rule2
[Device-nat-global-policy-rule-rule2] destination-ip host 202.38.1.1
[Device-nat-global-policy-rule-rule2] source-zone untrust
[Device-nat-global-policy-rule-rule2] service service2
[Device-nat-global-policy-rule-rule2] action dnat ip-address 10.110.10.1 local-port 80
[Device-nat-global-policy-rule-rule2] quit
[Device-nat-global-policy] rule name rule3
[Device-nat-global-policy-rule-rule3] destination-ip host 202.38.1.1
[Device-nat-global-policy-rule-rule3] source-zone untrust
[Device-nat-global-policy-rule-rule3] service service3
[Device-nat-global-policy-rule-rule3] action dnat ip-address 10.110.10.2 local-port 80
[Device-nat-global-policy-rule-rule3] quit
[Device-nat-global-policy] rule name rule4
[Device-nat-global-policy-rule-rule4] destination-ip host 202.38.1.1
[Device-nat-global-policy-rule-rule4] source-zone untrust
[Device-nat-global-policy-rule-rule4] service service4
[Device-nat-global-policy-rule-rule4] action dnat ip-address 10.110.10.4 local-port 25
[Device-nat-global-policy-rule-rule4] quit
[Device-nat-global-policy] quit
# 以上配置完成后,外网Host能够通过NAT地址访问各内网服务器。通过查看如下显示信息,可以验证以上配置成功。
[Device] display nat all
NAT global-policy information:
Totally 4 NAT global-policy rules.
Rule name: rule1
Type : nat
DestIP address : 202.38.1.1
Source-zone name : untrust
Service object group : service1
DNAT action:
IPv4 address: 10.110.10.3
Port: 21
NAT counting : 0
Config status: Active
Rule name: rule2
Type : nat
DestIP address : 202.38.1.1
Source-zone name : untrust
Destination-zone name : trust
Service object group : service2
DNAT action:
IPv4 address: 10.110.10.1
Port: 80
NAT counting : 0
Config status: Active
Rule name: rule3
Type : nat
DestIP address : 202.38.1.1
Source-zone name : untrust
Destination-zone name : trust
Service object group : service3
DNAT action:
IPv4 address: 10.110.10.2
Port: 80
NAT counting : 0
Config status: Active
Rule name: rule4
Type : nat
DestIP address : 202.38.1.1
Source-zone name : untrust
Destination-zone name : trust
Service object group : service4
DNAT action:
IPv4 address: 10.110.10.4
Port: 25
NAT counting : 0
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
NO-PAT IP usage : Disabled
NAT log flow-match : Enabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Disabled
ICMP-ERROR : Enabled
ILS : Disabled
MGCP : Disabled
NBT : Disabled
PPTP : Enabled
RTSP : Enabled
RSH : Disabled
SCCP : Disabled
SIP : Disabled
SQLNET : Disabled
TFTP : Disabled
XDMCP : Disabled
Static NAT load balancing: Disabled
NAT link-switch recreate-session: Disabled
NAT configuration-for-new-connection: Disabled
NAT global-policy compatible-previous-version rule-type ipv4-snat-and-dnat translate-before-secp : Disabled
NAT gratuitous-arp: Enabled
NAT zone-switch recreate-session: Enabled
NAT null-route silent: Disabled
Nat global-policy object-group nested-and-wildcard: Disabled
# 通过以下显示命令,可以看到Host访问FTP server时生成NAT会话信息。
[Device] display nat session verbose
Slot 1:
Initiator:
Source IP/port: 202.38.1.2/52802
Destination IP/port: 202.38.1.1/21
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/2
Source security zone: Untrust
Responder:
Source IP/port: 10.110.10.3/21
Destination IP/port: 202.38.1.2/52802
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
Source security zone: Trust
State: TCP_ESTABLISHED
Application: FTP
Rule ID: -/-/-
Rule name:
Start time: 2017-05-21 11:13:39 TTL: 3597s
Initiator->Responder: 7 packets 313 bytes
Responder->Initiator: 6 packets 330 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服务器。
图2-6 外网用户通过域名访问内网服务器配置组网图(地址不重叠)
· 外网主机通过域名访问Web服务器,首先需要通过访问内网DNS服务器获取Web服务器的IP地址,因此需要通过配置NAT内部服务器将DNS服务器的内网IP地址和DNS服务端口映射为一个外网地址和端口。
· DNS服务器回应给外网主机的DNS报文载荷中携带了Web服务器的内网IP地址,因此需要将DNS报文载荷中的内网IP地址转换为一个外网IP地址。外网地址分配可以通过出方向动态地址转换功能实现,转换载荷信息可以通过DNS ALG功能实现。
(1) 配置接口IP地址
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 10.110.10.1 24
[Device-GigabitEthernet1/0/1] quit
请参考以上步骤配置其他接口的IP地址,具体配置步骤略。
(2) 将接口加入安全域
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
(3) 配置安全策略
# 配置名称为untrust-trust的安全策略,保证Untrust安全域内的Host可以访问Trust安全域中的Server,具体配置步骤如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name untrust-trust
[Device-security-policy-ip-1-untrust-trust] source-zone untrust
[Device-security-policy-ip-1-untrust-trust] destination-zone trust
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 10.110.10.2
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 10.110.10.3
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 10.110.10.4
[Device-security-policy-ip-1-untrust-trust] action pass
[Device-security-policy-ip-1-untrust-trust] quit
[Device-security-policy-ip] quit
(4) 配置NAT功能
# 开启DNS的NAT ALG功能。
[Device] nat alg dns
# 创建地址组。
[Device] nat address-group 1
[Device-address-group-1] address 202.38.1.3 202.38.1.3
[Device-address-group-1] quit
# 配置服务对象组service1,提供DNS服务。
[Device] object-group service service1
[Device-obj-grp-service-service1] service tcp destination eq 53
[Device-obj-grp-service-service1] service udp destination eq 53
[Device-obj-grp-service-service1] quit
# 配置全局NAT规则,允许外网主机使用地址202.38.1.2访问内网DNS服务器。
[Device] nat global-policy
[Device-nat-global-policy] rule name rule1
[Device-nat-global-policy-rule-rule1] source-zone untrust
[Device-nat-global-policy-rule-rule1] destination-ip host 202.38.1.2
[Device-nat-global-policy-rule-rule1] service service1
[Device-nat-global-policy-rule-rule1] action dnat ip-address 10.110.10.3 local-port 53
[Device-nat-global-policy-rule-rule1] quit
# 配置全局NAT规则,允许使用地址组1中的地址对DNS应答报文载荷中的内网地址进行转换,并在转换过程中不使用端口信息,以及允许反向地址转换。
[Device-nat-global-policy] rule name rule2
[Device-nat-global-policy-rule-rule2] source-ip host 10.110.10.2
[Device-nat-global-policy-rule-rule2] source-zone trust
[Device-nat-global-policy-rule-rule2] destination-zone untrust
[Device-nat-global-policy-rule-rule2] action snat address-group 1 no-pat reversible
[Device-nat-global-policy-rule-rule2] quit
[Device-nat-global-policy] quit
# 以上配置完成后,外网Host能够通过域名访问内网Web server。通过查看如下显示信息,可以验证以上配置成功。
[Device] display nat all
NAT address group information:
Totally 1 NAT address groups.
Address group ID: 1
Port range: 1-65535
Address information:
Start address End address
202.38.1.3 202.38.1.3
NAT global-policy information:
Totally 2 NAT global-policy rules.
Rule name: rule1
Type : nat
DestIP address : 202.38.1.2
Source-zone name : untrust
Service object group : service1
DNAT action:
IPv4 address: 10.110.10.3
Port: 53
NAT counting : 0
Config status: Active
Rule name: rule2
Type : nat
SrcIP address : 10.110.10.2
Source-zone name : trust
Destination-zone name : untrust
SNAT action:
Address group ID: 1
NO-PAT: Y
Reversible: Y
Port-preserved: N
NAT counting : 0
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
NO-PAT IP usage : Disabled
NAT log flow-match : Enabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Disabled
ICMP-ERROR : Enabled
ILS : Disabled
MGCP : Disabled
NBT : Disabled
PPTP : Enabled
RTSP : Enabled
RSH : Disabled
SCCP : Disabled
SIP : Disabled
SQLNET : Disabled
TFTP : Disabled
XDMCP : Disabled
Static NAT load balancing: Disabled
NAT link-switch recreate-session: Disabled
NAT configuration-for-new-connection: Disabled
NAT global-policy compatible-previous-version rule-type ipv4-snat-and-dnat translate-before-secp : Disabled
NAT gratuitous-arp: Enabled
NAT zone-switch recreate-session: Enabled
NAT null-route silent: Disabled
Nat global-policy object-group nested-and-wildcard: Disabled
# 通过以下显示命令,可以看到Host访问Web server时生成NAT会话信息。
[Device] display nat session verbose
Slot 1:
Initiator:
Source IP/port: 200.1.1.2/1694
Destination IP/port: 202.38.1.3/8080
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/2
Source security zone: Untrust
Responder:
Source IP/port: 10.110.10.2/8080
Destination IP/port: 200.1.1.2/1694
DS-Lite tunnel peer: -
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
Source security zone: Trust
State: TCP_ESTABLISHED
Application: HTTP
Rule ID: -/-/-
Rule name:
Start time: 2017-06-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地址和端口进行互访。
图2-7 内网用户通过NAT地址互访配置组网图
该需求为典型的P2P模式的NAT hairpin应用,具体配置思路如下。
· 内网中的客户端需要向外网中的服务器注册,因此需要进行源地址转换,可以配置出方向动态地址转换实现。
· 服务器记录客户端的IP地址和端口号,且该地址和端口号是NAT转换后的。由于服务器记录的客户端IP地址和端口号需要供任意源地址访问,因此客户端地址的转换关系必须不关心对端地址,这可以通过配置EIM模式的动态地址转换实现。
(1) 配置接口IP地址
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.1 24
[Device-GigabitEthernet1/0/1] quit
请参考以上步骤配置其他接口的IP地址,具体配置步骤略。
(2) 将接口加入安全域
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
(3) 配置静态路由
本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
# 请根据组网图中规划的信息,配置静态路由,本举例假设到达Server所在网络的下一跳IP地址为202.38.1.1,实际使用中请以具体组网情况为准,具体配置步骤如下。
[Device] ip route-static 200.2.2.0 24 202.38.1.1
(4) 配置安全策略
# 配置名称为trust-untrust的安全策略,保证Trust安全域内的Host可以访问Untrust安全域内的Server,具体配置步骤如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name trust-untrust
[Device-security-policy-ip-1-trust-untrust] source-zone trust
[Device-security-policy-ip-1-trust-untrust] destination-zone untrust
[Device-security-policy-ip-1-trust-untrust] source-ip-subnet 192.168.1.0 24
[Device-security-policy-ip-1-trust-untrust] destination-ip-host 200.2.2.2
[Device-security-policy-ip-1-trust-untrust] action pass
[Device-security-policy-ip-1-trust-untrust] quit
# 配置名称为trust-trust的安全策略,保证Trust安全域内的Host可以互访,具体配置步骤如下。
[Device-security-policy-ip] rule name trust-trust
[Device-security-policy-ip-2-trust-trust] source-zone trust
[Device-security-policy-ip-2-trust-trust] destination-zone trust
[Device-security-policy-ip-2-trust-trust] source-ip-host 202.38.1.3
[Device-security-policy-ip-2-trust-trust] destination-ip-subnet 192.168.1.0 24
[Device-security-policy-ip-2-trust-trust] action pass
[Device-security-policy-ip-2-trust-trust] quit
[Device-security-policy-ip] quit
(5) 配置NAT功能
# 配置地址对象组obj1,仅允许对192.168.1.0/24网段的用户报文进行地址转换。
[Device] object-group ip address obj1
[Device-obj-grp-ip-obj1] network subnet 192.168.1.0 24
[Device-obj-grp-ip-obj1] quit
# 配置全局NAT规则,通过Easy IP方式对内网访问外网的报文进行源地址转换,因为多个内部主机共用一个外网地址,因此需要配置为PAT方式,即转换过程中使用端口信息。
[Device] nat global-policy
[Device-nat-global-policy] rule name rule1
[Device-nat-global-policy-rule-rule1] source-zone trust
[Device-nat-global-policy-rule-rule1] destination-zone untrust
[Device-nat-global-policy-rule-rule1] source-ip obj1
[Device-nat-global-policy-rule-rule1] action snat easy-ip
[Device-nat-global-policy-rule-rule1] quit
[Device-nat-global-policy] quit
# 配置ACL 2000,允许对内部网络中192.168.1.0/24网段的报文进行地址转换。
[Device] acl basic 2000
[Device-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Device-acl-ipv4-basic-2000] quit
# 配置PAT方式下的地址转换模式为EIM,即只要是来自相同源地址和源端口号的且匹配ACL 2000的报文,不论其目的地址是否相同,通过PAT转换后,其源地址和源端口号都被转换为同一个外部地址和端口号。
[Device] nat mapping-behavior endpoint-independent acl 2000
# 以上配置完成后,Host A、Host B和Host C 分别向外网服务器注册之后,它们之间可以相互访问。通过查看如下显示信息,可以验证以上配置成功。
[Device] display nat all
NAT global-policy information:
Totally 2 NAT global-policy rules.
Rule name: rule1
Type : nat
SrcIP object group : obj1
Source-zone name : trust
Destination-zone name : untrust
SNAT action:
Easy-IP
Reversible: N
Port-preserved: N
NAT counting : 0
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
NO-PAT IP usage : Disabled
NAT log flow-match : Enabled
NAT mapping behavior:
Mapping mode : Endpoint-Independent
ACL : 2000
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Disabled
ICMP-ERROR : Enabled
ILS : Disabled
MGCP : Disabled
NBT : Disabled
PPTP : Enabled
RTSP : Enabled
RSH : Disabled
SCCP : Disabled
SIP : Disabled
SQLNET : Disabled
TFTP : Disabled
XDMCP : Disabled
Static NAT load balancing: Disabled
NAT link-switch recreate-session: Disabled
NAT configuration-for-new-connection: Disabled
NAT global-policy compatible-previous-version rule-type ipv4-snat-and-dnat translate-before-secp : Disabled
NAT gratuitous-arp: Enabled
NAT zone-switch recreate-session: Enabled
NAT null-route silent: Disabled
Nat global-policy object-group nested-and-wildcard: Disabled
# 通过以下显示命令,可以看到Client A访问Client B时生成NAT会话信息。
[Device] display nat session verbose
Slot 1:
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/Inline ID: -/-/-
Protocol: UDP(17)
Inbound interface: GigabitEthernet1/0/1
Source security zone: Trust
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/Inline ID: -/-/-
Protocol: UDP(17)
Inbound interface: GigabitEthernet1/0/1
Source security zone: Trust
State: UDP_READY
Application: TFTP
Rule ID: -/-/-
Rule name:
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
· 某公司内网使用的IP地址为192.168.0.0/16。
· 该公司拥有202.38.1.2和202.38.1.3两个外网IP地址。
需要实现,内部网络中的192.168.1.0/24网段的用户可以访问Internet中地址为200.2.2.1的Server,其它网段的用户不能访问Internet。基于NAT444端口块动态映射方式复用两个外网地址202.38.1.2和202.38.1.3,外网地址的端口范围为1024~65535,端口块大小为300。当为某用户分配的端口块资源耗尽时,再为其增量分配1个端口块。
图2-8 NAT444端口块动态映射配置组网图
(1) 配置接口IP地址
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.1 16
[Device-GigabitEthernet1/0/1] quit
请参考以上步骤配置其他接口的IP地址,具体配置步骤略。
(2) 将接口加入安全域
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
(3) 配置静态路由
本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
# 请根据组网图中规划的信息,配置静态路由,本举例假设到达Server所在网络的下一跳IP地址为202.38.1.20,实际使用中请以具体组网情况为准,具体配置步骤如下。
[Device] ip route-static 200.2.2.1 32 202.38.1.20
(4) 配置安全策略
# 配置名称为trust-untrust的安全策略,保证Trust安全域内的Host可以访问Untrust安全域中的Server,具体配置步骤如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name trust-untrust
[Device-security-policy-ip-1-trust-untrust] source-zone trust
[Device-security-policy-ip-1-trust-untrust] destination-zone untrust
[Device-security-policy-ip-1-trust-untrust] source-ip-subnet 192.168.1.0 24
[Device-security-policy-ip-1-trust-untrust] destination-ip-host 200.2.2.1
[Device-security-policy-ip-1-trust-untrust] action pass
[Device-security-policy-ip-1-trust-untrust] quit
[Device-security-policy-ip] quit
(5) 配置NAT功能
# 配置地址组0,包含两个外网地址202.38.1.2和202.38.1.3,外网地址的端口范围为1024~65535,端口块大小为300,增量端口块数为1。
[Device] nat address-group 0
[Device-address-group-0] address 202.38.1.2 202.38.1.3
[Device-address-group-0] port-range 1024 65535
[Device-address-group-0] port-block block-size 300 extended-block-number 1
[Device-address-group-0] quit
# 配置地址对象组obj1,仅允许对内部网络中192.168.1.0/24网段的用户报文进行地址转换。
[Device] object-group ip address obj1
[Device-obj-grp-ip-obj1] network subnet 192.168.1.0 24
[Device-obj-grp-ip-obj1] quit
# 配置全局NAT规则,允许使用地址组0中的地址对匹配的对象组obj1的报文进行源地址转换,并在转换过程中使用端口信息。
[Device] nat global-policy
[Device-nat-global-policy] rule name rule1
[Device-nat-global-policy-rule-rule1] source-ip obj1
[Device-nat-global-policy-rule-rule1] action snat address-group 0
# 以上配置完成后,Host A能够访问外网服务器,Host B和Host C无法访问外网服务器。通过查看如下显示信息,可以验证以上配置成功。
[Device] display nat all
NAT address group information:
Totally 1 NAT address groups.
Address group ID: 0
Port range: 1024-65535
Port block size: 300
Extended block number: 1
Blade-load-sharing-group: Blade4fw-m90001
Address information:
Start address End address
202.38.1.2 202.38.1.3
Exclude address information:
Start address End address
NAT global-policy information:
Totally 1 NAT global-policy rules.
Rule name: rule1
SrcIP object group : obj1
SNAT action:
Address group ID: 0
NO-PAT: N
Reversible: N
Port-preserved: N
NAT counting : 0
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
NO-PAT IP usage : Disabled
NAT log flow-match : Enabled
NAT mapping behavior:
Mapping mode : Address and Port-Dependent
ACL : ---
Config status: Active
NAT ALG:
DNS : Enabled
FTP : Enabled
H323 : Disabled
ICMP-ERROR : Enabled
ILS : Disabled
MGCP : Disabled
NBT : Disabled
PPTP : Enabled
RTSP : Enabled
RSH : Disabled
SCCP : Disabled
SIP : Disabled
SQLNET : Disabled
TFTP : Disabled
XDMCP : Disabled
Static NAT load balancing: Disabled
NAT link-switch recreate-session: Disabled
NAT configuration-for-new-connection: Disabled
NAT global-policy compatible-previous-version rule-type ipv4-snat-and-dnat translate-before-secp : Disabled
NAT gratuitous-arp: Enabled
NAT zone-switch recreate-session: Enabled
NAT null-route silent: Disabled
Nat global-policy object-group nested-and-wildcard: Disabled
# 通过以下显示命令,可以看到NAT会话数、当前可分配的动态端口块总数和已分配的动态端口块个数。
[Device] display nat statistics
Slot 1:
Total session entries: 1
Session creation rate: 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
# 通过以下显示命令,可以看到生成的动态端口块表项信息。
[Device] display nat port-block dynamic
Slot 1:
Local VPN Local IP Global IP Port block Connections BackUp
--- 192.168.1.10 202.38.1.2 45724-46023 1 N
Total mappings found: 1
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!