1、4.3 NAT 的配置NAT 配置包括: 配置地址池 配置 Easy IP 配置静态地址转换 配置多对多地址转换 配置 NAPT 配置内部服务器 配置地址转换应用层网关 配置内部主机通过域名区分并访问其对应的内部服务器 配置地址转换有效时间 配置最大连接数限制 配置报文匹配方式 配置地址转换表项的老化刷新速度4.3.1 配置地址池地址池是一些连续的 IP 地址集合,当内部数据包通过地址转换到达外部网络时,将会选择地址池中的某个地址作为转换后的源地址。表 4-1 配置地址池操作 命令定义一个地址池 nat address-group group-number start-addr end-add
2、r删除一个地址池 undo nat address-group group-number 说明: NAT 地址池中的地址不应包含公网主机已使用的地址,否则会造成地址冲突。 如果防火墙仅提供 Easy IP 功能,则不需要配置 NAT 地址池,直接使用接口地址作为转换后的 IP 地址。 当某个地址池已经和某个访问控制列表关联进行地址转换,是不允许删除这个地址池的。 地址池长度(地址池中包含的所有地址个数)不能超过 255 个地址。4.3.2 配置地址转换将访问控制列表和地址池关联(或接口地址)后,即可实现地址转换。这种关联指定了“具有某些特征的 IP 报文”才可以使用“这样的地址池中的地址(或接
3、口地址)”。当内部网络有数据包要发往外部网络时,首先根据访问列表判定是否是允许的数据包,然后根据转换关联找到与之对应的地址池(或接口地址)进行转换。不同形式的地址转换,配置方法稍有不同。1. Easy IP如果地址转换命令不带 address-group 参数,即仅使用 nat outbound acl-number 命令,则实现了 easy-ip 的特性。地址转换时,直接使用接口的 IP 地址作为转换后的地址,利用访问控制列表控制哪些地址可以进行地址转换。表 4-2 配置 Easy IP操作 命令配置访问控制列表和接口地址关联 nat outbound acl-number 删除访问控制列表
4、和接口地址的关联 undo nat outbound acl-number 2. 使用指定 loopback 接口进行地址转换表 4-3 使用指定 loopback 接口进行地址转换操作 命令配置访问控制列表和指定的 loopback 接口地址关联nat outbound acl-number interface interface-type interface-number删除访问控制列表和指定 loopback 接口地址的关联undo nat outbound acl-number interface interface-type interface-number匹配访问控制列表的数据报文
5、的源地址将转换为指定的 loopback 接口的 IP 地址。3. 配置静态地址转换表(1) 配置一对一静态地址转换表表 4-4 配置一对一地址转换操作 命令配置从内部地址到外部地址的一对一转换 nat static ip-addr1 ip-addr2删除已经配置得 NAT 一对一转换 undo nat static ip-addr1 ip-addr2(2) 配置静态网段地址转换表使用静态网段地址转换时,只进行网段地址的转换,而保持主机地址不变。请在系统视图下进行下列配置。操作 命令配置从内部地址到外部地址的静态网段地址转换表nat static inside ip inside-addres
6、s global ip global-addressnat static inside ip inside-start-address inside-end-address global ip global-address mask 操作 命令删除已经配置的 NAT 网段地址转换表undo nat static inside ip inside-addressundo nat static inside ip inside-address global ip global-addressundo nat static inside ip inside-start-address inside-
7、end-address global ip global-address mask nat static inside 和 nat static 会分别创建两种不同的 NAT 静态表项,在具体的配置中,两种 NAT 静态表项不存在冲突即可。注意:在配置静态网段地址转换时,应该确保转换后的地址不会被网络拓扑中的其他设备使用。(3) 使静态转换表项在接口上生效请在接口视图下进行下列配置。操作 命令使已经配置的 NAT 静态转换表项在接口上生效 nat outbound static禁止在接口上配置的 NAT 静态转换表项生效 undo nat outbound static4. 配置多对多地址转换
8、将访问控制列表和地址池关联后,即可实现多对多地址转换。请在接口视图下进行下列配置。表 4-7 配置多对多地址转换操作 命令配置访问控制列表和地址池关联 nat outbound acl-number address-group group-number no-pat 删除访问控制列表和地址池的关联 undo nat outbound acl-number address-group group-number no-pat 5. 配置 NAPT将访问控制列表和 NAT 地址池关联时,如果选择 no-pat 参数,则表示只转换数据包的 IP 地址而不使用端口信息,即不使用 NAPT 功能;如果不选
9、择 no-pat 参数,则启用 NAPT 功能。缺省情况是启用。请在接口视图下进行下列配置。表 4-8 配置 NAPT操作 命令配置访问控制列表和地址池关联 nat outbound acl-number address-group group-number 删除访问控制列表和地址池的关联 undo nat outbound acl-number address-group group-number 6. 配置双向地址转换请在系统视图下进行下面配置。表 4-9 配置双向地址转换操作 命令配置重叠地址池到临时地址池的映射nat overlapaddress number overlappool-
10、startaddress temppool-startaddress pool-length pool-length | address-mask mask 删除重叠地址池到临时地址池的映射 undo nat overlapaddress number7. 配置 NAT 多实例无论 Easy IP、多对多地址转换,还是 NAPT,都可以支持 NAT 多实例的配置。只要在访问控制列表的规则rule 中配置 vpn-instance vpn-instance-name,指明那些 MPLS VPN 用户需要进行地址转换,即可以实现对 MPLS VPN 的支持。4.3.3 配置内部服务器通过配置内部服
11、务器,可将相应的外部地址、端口等映射到内部的服务器上,提供了外部网络可访问内部服务器的功能。内部服务器与外部网络的映射表是由 nat server 命令配置的。用户需要提供的信息包括:外部地址、外部端口、内部服务器地址、内部服务器端口以及服务协议类型。防火墙支持使用接口地址作为 NAT Server 的公网地址。当路由器的公网接口通过拨号或 DHCP 方式获取公网地址时,其 NAT Server 的公网地址可以动态更新,方便用户配置。当内部服务器位于 MPLS VPN 时,还应指定所属的 vpn-instance-name。如果不设置该值,表示内部服务器属于一个普通的私网,不属于某一个 MPL
12、S VPN。请在接口视图下进行下列配置。操作 命令配置内部服务器nat server vpn-instance vpn-instance-name protocol pro-type global global-addr | current-interface | interface type number global-port inside host-addr host-port nat server vpn-instance vpn-instance-name protocol pro-type global global-addr | current-interface | inter
13、face type number global-port1 global-port2 inside host-addr1 host-addr2 host-port删除内部服务器undo nat server vpn-instance vpn-instance-name protocol pro-type global global-addr | current-interface | interface type number global-port inside host-addr host-port undo nat server vpn-instance vpn-instance-nam
14、e protocol pro-type global global-addr | current-interface | interface type number global-port1 global-port2 inside host-addr1 host-addr2 host-port注意:global-port 和 inside-port 只要有一个定义了 any,则另一个要么不定义,要么是any。 如果 global-port 和 inside-port 都为 0、any 或未配置的话,则内网服务器可以通过该配置访问公网,但发起访问的协议必须与配置的协议相同。 当使用端口范围配置
15、FTP 服务器的 NAT Server 时,内部端口号不能配置为 20和 21;当不使用端口范围配置 FTP 服务器的 NAT Server 时,内部端口号不能配置为20。 由于 TFTP 协议的特殊性,当配置 TFTP 服务器的 NAT Server 时,还应对内部的 TFTP 服务器配置相应的 nat outbound 命令。4.3.4 配置地址转换应用层网关请在系统视图下进行下面配置表 4-11 配置地址转换应用层网关操作 命令配置地址转换应用层网关 nat alg dns | ftp | h323 | ils | msn | nbt | pptp | tns 禁用地址转换应用层网关功能
16、 undo nat alg dns | ftp | h323 | ils | msn | nbt | pptp | tns 缺省情况下,使能地址转换应用层网关功能。4.3.5 配置内部主机通过域名区分并访问其对应的内部服务器当内部网络无 DNS 服务器,但存在类型不同的多台内部服务器(如 FTP、WWW 等),且内部主机希望通过不同域名区分并访问其对应的内部服务器时,请在系统视图下进行下面配置。表 4-12 配置内部主机通过域名区分并访问其对应的内部服务器操作 命令配置一条域名到外部 IP 地址、端口号、协议类型的映射nat dns-map domain-name global-addr gl
17、obal-port tcp | udp 删除一条域名到外部 IP 地址、端口号、协议类型的映射。 undo nat dns-map domain-name系统最多允许配置 64 条映射。4.3.6 配置地址转换有效时间由于地址转换所使用的 HASH 表不能永久存在,该命令支持用户可为 TCP、UDP、ICMP 协议分别设置 HASH表有效的时间,若在设定的时间内未使用该 HASH 表,将失效。举例来说,某个 IP 地址为 10.110.10.10的用户利用端口 2000 进行了一次对外 TCP 连接,地址转换为它分配了相应的地址和端口,但是若在一定时间内他一直未使用这个 TCP 连接,系统将把
18、这个连接删除。请在系统视图下进行下列配置。表 4-13 配置地址转换的有效时间操作 命令配置地址转换有效时间nat aging-time default | dns | ftp-ctrl | ftp-data | icmp | pptp | tcp | tcp-fin | tcp-syn | udp seconds 参数 default 表示采用系统缺省的地址转换有效时间。缺省情况下,DNS 协议地址转换有效时间为 60 秒,FTP 协议控制链路地址转换有效时间为 7200 秒,FTP协议数据链路地址转换有效时间为 300 秒,PPTP 协议地址转换有效时间为 86400 秒,TCP 地址转换
19、有效时间为 86400 秒,TCP 协议 FIN、RST 或 SYN 连接地址转换有效时间为 60 秒,UDP 地址转换有效时间为 300秒,ICMP 地址转换有效时间为 60 秒。ALG 的默认老化时间和对应的应用有关,同时为防止攻击,首包老化时间设置为 5 秒。4.3.7 配置 NAT 限制最大 TCP 连接数1. 使能连接数限制功能请在系统视图下进行下列配置。表 4-14 使能连接数限制功能。缺省情况下,关闭连接数限制功能操作 命令使能连接数限制功能 connection-limit enable关闭连接数限制功能 undo connection-limit enable2. 设置缺省的
20、连接数限制行为当系统在未查找到连接数限制策略时,可以设置缺省行为,即是否进行连接数限制。请在系统视图下进行下列配置。操作 命令设置缺省的连接数限制行为 connection-limit default permit | deny 缺省情况下,未查找到连接数限制策略时不对连接数进行限制。3. 设置连接数限制的缺省阈值请在系统视图下进行下列配置。表 4-16 设置连接数限制的缺省阈值操作 命令设置连接数限制的缺省阈值 connection-limit default amount upper-limit upper-limit | lower-limit lower-limit *取消设置的阈值
21、undo connection-limit default amount upper-limit | lower-limit *缺省情况下,上限为 50,下限为 20。4. 创建连接数限制策略请在系统视图下进行下列配置。缺省情况下,未创建连接数限制策略。操作 命令创建连接数限制策略并进入连接数限制策略视图 connection-limit policy policy-number删除连接数限制策略 undo connection-limit policy policy-number | all 5. 定义连接数限制策略的规则请在连接数限制策略视图下进行下列配置。操作 命令操作 命令定义连接数限
22、制策略的规则limit limit-id acl acl-number per-source | per-destination | per-service * amount upper-limit lower-limit 删除连接数限制策略的规则 undo limit limit-id缺省情况下,未定义连接数限制策略的规则。 说明: 通过定义连接限制策略规则的 ACL,不但可以限制 TCP 连接数量,也可以限制非 TCP 流量(如:UDP、ICMP)。如果只对 TCP 连接进行限制,需要在 ACL 中明确指定。 在实际应用中,需要合理设置 TCP 连接的上限值和下限值,否则会影响正常业务。6
23、. 绑定连接数限制策略配置完连接数限制策略后,需将其与 NAT 功能绑定才能生效。请在系统视图下进行下列配置。操作 命令绑定连接数限制策略 nat connection-limit-policy policy-number取消绑定连接数限制策略 undo nat connection-limit-policy policy-number缺省情况下,未绑定连接数限制策略。4.3.8 配置报文匹配方式可以通过如下配置改变报文的匹配方式。请在系统视图下进行下列配置。操作 命令配置报文匹配方式为五元组匹配 nat match factor-all配置报文匹配方式为三元组匹配 undo nat matc
24、h factor-all缺省情况下,报文匹配方式为五元组匹配。当匹配方式为三元组匹配时,创建的 UDP 协议的 NAT 表项将不包括目的地址和目的端口。4.3.9 配置地址转换表项的老化刷新速度地址转换表项的老化刷新速度可以在一定范围内调整。请在系统视图下进行下列配置。操作 命令配置地址转换表项的老化刷新速度 nat session refresh-speed level level-value恢复缺省的地址转换表项的老化刷新速度 undo nat session refresh-speed参数 level-value 表示老化刷新速度的等级,取值范围为 15,级别越高速度越快。默认情况下,S
25、ecPath F1000 的等级为 2,SecBlade 的等级为 3,其它 SecPath 安全网关设备的等级为1。4.4 地址转换显示和调试在完成上述配置后,在所有视图下执行 display 命令可以显示地址转换配置后的运行情况,通过查看显示信息验证配置的效果。在用户视图下,执行 reset 命令可以清除该运行情况。在用户视图下,执行 debugging 命令可以对地址转换进行调试。操作 命令查看地址转换的状况display nat address-group | aging-time | all | outbound | server | statistics | static | se
26、ssion vpn-instance vpn-instance-name source global global-addr | inside inside-addr 显示连接数限制信息display connection-limit statistics source source-addr source-mask | source-mask-len destination destination-addr destination-mask | destination-mask-len destination-port eq | neq | gt | lt destination-port
27、| range destination-port1 destination-port2 vpn-instance vpn-name 显示连接数限制策略 display connection-limit policy policy-number | all显示与 NAT 相关的连接数限制信息display nat connection-limit source source-addr source-mask | source-mask-len destination destination-addr destination-mask | destination-mask-len destinat
28、ion-port eq | neq | gt | lt destination-port | range destination-port1 destination-port2 vpn-instance vpn-name 打开 NAT 的调试开关 debugging nat alg | event | packet interface interface-type interface-number 关闭 NAT 的调试开关 undo debugging nat alg | event | packet interface interface-type interface-number 打开连接数限制的调试开关 debugging connection-limit关闭连接数限制的调试开关 undo debugging connection-limit清除地址转换映射表 reset nat log-entry | session