01-NAT命令
本章节下载: 01-NAT命令 (656.59 KB)
目 录
1.2.5 destination-ip(DNAT规则视图)
1.2.6 destination-ip(SNAT规则视图)
1.2.14 egress-interface(SNAT规则视图)
1.2.15 ingress-interface(DNAT规则视图)
1.2.16 ingress-interface(SNAT规则视图)
1.2.17 nat log port-alloc-fail
1.2.18 nat log port-block port-usage threshold
1.2.19 nat log port-block usage threshold
1.2.20 nat log port-block-alloc-fail
1.2.21 nat log port-block-assign
1.2.22 nat log port-block-withdraw
1.2.23 nat port-block synchronization enable
1.2.25 reset dnat-rule count statistics
1.2.26 reset snat-rule count statistics
display nat all命令用来显示所有的NAT配置信息。
【命令】
display nat all
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【举例】
# 显示所有的NAT配置信息。
<Sysname> display nat all
NAT address group information:
Totally 5 NAT address groups.
Address group 1:
VRID : 1
Port range: 1-65535
Address information:
Start address End address
202.110.10.10 202.110.10.15
Address group 2:
Port range: 1-65535
Address information:
Start address End address
202.110.10.20 202.110.10.25
202.110.10.30 202.110.10.35
Address group 3:
Port range: 1024-65535
Address information:
Start address End address
202.110.10.40 202.110.10.50
Address group 4:
Port range: 10001-65535
Port block size: 500
Extended block number: 1
Address information:
Start address End address
202.110.10.60 202.110.10.65
Address group 6:
Port range: 1-65535
Address information:
Start address End address
--- ---
NAT server group information:
Totally 3 NAT server groups.
Group Number Inside IP Port Weight
1 192.168.0.26 23 100
192.168.0.27 23 500
2 --- --- ---
3 192.168.0.26 69 100
NAT inbound information:
Totally 1 NAT inbound rules.
Interface: GigabitEthernet1/0/2
ACL: 2038 Address group: 2 Add route: Y
NO-PAT:Y Reversible: N
VPN instance: vpn_nat
Rule name: abc
Priority: 1000
Config status: Active
NAT outbound information:
Totally 2 NAT outbound rules.
Interface: GigabitEthernet1/0/1
ACL: 2036 Address group: 1 Port-preserved: Y
NO-PAT: N Reversible: N
Rule name: def
Priority: 22
Config status: Inactive
Reasons for inactive status:
The following items don't exist or aren't effective: address group, and ACL.
Interface: GigabitEthernet1/0/1
ACL: 2037 Address group: 1 Port-preserved: N
NO-PAT: Y Reversible: Y
VPN instance: vpn_nat
Rule name: rabbit
Priority: 100
Config status: Inactive
Reasons for inactive status:
The following items don't exist or aren't effective: ACL.
NAT internal server information:
Totally 5 internal servers.
Interface: GigabitEthernet1/0/3
VRID : 10
Global ACL : 2000
Local IP/port : 192.168.10.1/23
Rule name : rule1
Priority : 1000
Config status : Active
Interface: GigabitEthernet1/0/3
Protocol: 6(TCP)
Global IP/port: 50.1.1.1/23
Local IP/port : 192.168.10.15/23
ACL : 2000
Rule name : rule2
Config status : Active
Interface: GigabitEthernet1/0/4
Protocol: 6(TCP)
Global IP/port: 50.1.1.1/23-30
Local IP/port : 192.168.10.15-192.168.10.22/23
Global VPN : vpn1
Local VPN : vpn3
Rule name : rule3
Config status : Active
Interface: GigabitEthernet1/0/4
Protocol: 255(Reserved)
Global IP/port: 50.1.1.100/---
Local IP/port : 192.168.10.150/---
Global VPN : vpn2
Local VPN : vpn4
ACL : 3000
Rule name : rule4
Config status : Inactive
Reasons for inactive status:
The following items don't exist or aren't effective: local VPN, and ACL.
Interface: GigabitEthernet1/0/5
Protocol: 17(UDP)
Global IP/port: 50.1.1.2/23
Local IP/port : server group 1
1.1.1.1/21 (Connections: 10)
192.168.100.200/80 (Connections: 20)
Global VPN : vpn1
Local VPN : vpn3
Rule name : rule5
Config status : Active
NAT Instance: instance1
Protocol: 6(TCP)
Global IP/port: 1.1.1.1/0
Local IP/port : 2.2.2.2/0
Config status : Active
Static NAT mappings:
Totally 2 inbound static NAT mappings.
Net-to-net:
Global IP : 2.2.2.1 – 2.2.2.255
Local IP : 1.1.1.0
Netmask : 255.255.255.0
Global VPN : vpn2
Local VPN : vpn1
ACL : 3000
Reversible : Y
Rule name : rulestatic
Priority : 4
Config status: Active
IP-to-IP:
Global IP : 5.5.5.5
Local IP : 4.4.4.4
Global VPN : vpn3
Local VPN : vpn4
ACL : 2001
Reversible : Y
Rule name : ruleiptoip
Priority : 4
Packet type ignore: Y
Config status: Inactive
Reasons for inactive status:
The following items don't exist or aren't effective: local VPN, global VPN, and ACL.
Totally 2 outbound static NAT mappings.
Net-to-net:
VRID : 10
Local IP : 1.1.1.1 - 1.1.1.255
Global IP : 2.2.2.0
Netmask : 255.255.255.0
Local VPN : vpn1
Global VPN : vpn2
ACL : 3000
Reversible : Y
Rule name : rulenettonet
Priority : 5
Config status: Active
IP-to-IP:
VRID : 10
Local IP : 4.4.4.4
Global IP : 5.5.5.5
Local VPN : vpn1
Global VPN : vpn2
ACL: : 2001
Reversible : Y
Rule name : rule10
Priority : 6
Packet type ignore: Y
Config status: Inactive
Reasons for inactive status:
The following items don't exist or aren't effective: ACL.
Interfaces enabled with static NAT:
Totally 2 interfaces enabled with static NAT.
Interface: GigabitEthernet1/0/2
Config status: Active
Interface: GigabitEthernet1/0/3
Config status: Active
NAT DNS mappings:
Totally 2 NAT DNS mappings.
Domain name : www.example.com
Global IP : 6.6.6.6
Global port : 23
Protocol : TCP(6)
Config status: Active
Domain name : service.example.com
Global IP : ---
Global port : 12
Protocol : TCP(6)
Config status: Inactive
Reasons for inactive status:
The following items don't exist or aren't effective: interface IP address.
NAT logging:
Log enable : Enabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Port-alloc-fail : Enabled
Port-block-alloc-fail : Disabled
Port-usage : Disabled
Port-block-usage : Enabled(40%)
NAT hairpinning:
Totally 2 interfaces enabled with NAT hairpinning.
Interface: GigabitEthernet1/0/1
Config status: Active
Interface: GigabitEthernet1/0/2
Config status: Active
NAT mapping behavior:
Mapping mode : Endpoint-Independent
ACL : 2050
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
NAT port block group information:
Totally 3 NAT port block groups.
Port block group 1:
Port range: 1-65535
Block size: 256
Local IP address information:
Start address End address VPN instance
172.16.1.1 172.16.1.254 ---
192.168.1.1 192.168.1.254 vpna
192.168.3.1 192.168.3.254 vpna
Global IP pool information:
Start address End address
201.1.1.1 201.1.1.10
201.1.1.21 201.1.1.25
Port block group 2:
Port range: 10001-30000
Block size: 500
Local IP address information:
Start address End address VPN instance
10.1.1.1 10.1.10.255 vpnb
Global IP pool information:
Start address End address
202.10.10.101 202.10.10.120
Port block group 3:
Port range: 1-65535
Block size: 256
Local IP address information:
Start address End address VPN instance
--- --- ---
Global IP pool information:
Start address End address
--- ---
NAT outbound port block group information:
Totally 2 outbound port block group items.
Interface: GigabitEthernet1/0/2
port-block-group: 2
Rule name : ruleoutbound1
Priority : 4
Config status : Active
Interface: GigabitEthernet1/0/2
port-block-group: 10
Rule name : ruleoutbound2
Priority : 6
Config status : Inactive
Reasons for inactive status:
The following items don't exist or aren't effective: port block group.
DNAT rule information:
Totally 0 DNAT rules.
SNAT rule information:
Totally 0 SNAT rules.
上述显示信息是目前所有NAT配置信息的集合。由于部分NAT配置(nat address-group、nat server-group、nat inbound、nat outbound、nat server、nat static、nat static net-to-net、nat static enable、nat dns-map、nat log、nat port-block-group和nat outbound port-block-group)有自己独立的显示命令,且此处显示信息的格式与各命令对应的显示信息的格式相同的,所以此处不对这些配置的显示字段的含义进行详细解释,如有需要,请参考各独立的显示命令。下面的表格将给出相关显示命令的参见信息并仅解释nat hairpin enable和nat mapping-behavior。
表1-1 display nat all命令显示信息描述表
字段 |
描述 |
NAT address group information |
(暂不支持)NAT地址组的配置信息 |
NAT server group information |
(暂不支持)NAT内部服务器组的配置信息 |
NAT inbound information |
(暂不支持)入方向动态地址转换的配置信息 |
NAT outbound information |
(暂不支持)出方向动态地址转换的配置信息 |
NAT internal server information |
(暂不支持)NAT内部服务器的配置信息 |
Static NAT mappings |
(暂不支持)静态地址转换的配置信息 |
NAT DNS mappings |
(暂不支持)NAT DNS mapping的配置信息 |
NAT logging |
NAT日志功能的配置信息,详细字段解释请参见“display nat log”中的显示信息描述表 |
NAT hairpinning |
NAT hairpin功能 |
Totally n interfaces enabled NAT hairpinning |
当前有n个接口开启NAT hairpin功能 |
Interface |
开启NAT hairpin功能的接口 |
Rule name |
NAT规则的名称 |
Priority |
NAT规则的匹配优先级 |
Config status |
显示NAT hairpin配置的状态 |
NAT mapping behavior |
PAT方式下的地址转换模式 · Endpoint-Independent:表示不关心对端地址和端口的转换模式 · Address and Port-Dependent:表示关心对端地址和端口的转换模式 |
ACL |
引用的ACL编号或名称。如果未配置,则显示“---” |
Config status |
显示NAT mapping behavior配置的状态 · Active:生效 · Inactive:不生效 |
Reasons for inactive status |
当Config status字段为Inactive时,显示NAT mapping behavior配置不生效的原因 · The following items don't exist or aren't effective: ACL:引用的ACL不存在 |
NAT ALG |
各协议的NAT ALG功能开启/关闭信息 |
NAT port block group information |
(暂不支持)NAT端口块组的配置信息 |
NAT outbound port block group information |
(暂不支持)NAT端口块静态映射的配置信息 |
DNAT rule information |
DNAT规则的配置信息,详细字段解释请参见“display dnat-rule”中的显示信息描述表 |
SNAT rule information |
SNAT规则的配置信息,详细字段解释请参见“display snat-rule”中的显示信息描述表 |
NAT global-policy information |
(暂不支持)全局NAT策略的配置信息 |
display nat log命令用来显示NAT日志功能的配置信息。
【命令】
display nat log
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【举例】
# 显示NAT日志功能的配置信息。
<Sysname> display nat log
NAT logging:
Log enable : Enabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active : Disabled
Port-block-assign : Disabled
Port-block-withdraw : Disabled
Port-alloc-fail : Enabled
Port-block-alloc-fail : Disabled
Port-usage : Disabled
Port-block-usage : Enabled(40%)
表1-2 display nat log命令显示信息描述表
字段 |
描述 |
NAT logging |
NAT日志功能的配置信息 |
Log enable |
NAT日志开关 · Enabled:表示处于开启状态。如果指定了ACL,则同时显示指定的ACL编号或名称 · Disabled:表示处于关闭状态 |
Flow-begin |
NAT会话新建日志功能开关 · Enabled:表示处于开启状态 · Disabled:表示处于关闭状态 |
Flow-end |
NAT会话删除日志功能开关 · Enabled:表示处于开启状态 · Disabled:表示处于关闭状态 |
Flow-active |
NAT活跃流日志功能开关 · Enabled:表示处于开启状态。该状态下,将同时显示配置的生成活跃流日志的时间间隔(单位为分) · Disabled:表示处于关闭状态 |
Port-block-assign |
端口块分配的NAT用户日志功能开关 · Enabled:表示处于开启状态 · Disabled:表示处于关闭状态 |
Port-block-withdraw |
端口块回收的NAT用户日志功能开关 · Enabled:表示处于开启状态 · Disabled:表示处于关闭状态 |
Port-alloc-fail |
端口分配失败的日志功能开关 · Enabled:表示处于开启状态 · Disabled:表示处于关闭状态 |
Port-block-alloc-fail |
端口块分配失败的日志功能开关 · Enabled:表示处于开启状态 · Disabled:表示处于关闭状态 |
Port-usage |
端口块中端口使用率的日志功能开关 · Enabled:表示处于开启状态。该状态下,将同时显示配置的端口使用率的阈值(单位为百分比) · Disabled:表示处于关闭状态 |
Port-block-usage |
端口块使用率的日志功能处于开启(Enabled)状态,同时显示配置的端口块使用率的阈值(单位为百分比),缺省值为90% |
【相关命令】
· nat log enable
· nat log flow-active
· nat log flow-begin
display nat session命令用来显示NAT会话,即经过NAT地址转换处理的会话。
【命令】
display nat session [ { source-ip source-ip | destination-ip destination-ip } * [ vpn-instance vpn-instance-name ] ] [ slot slot-number ] [ brief | verbose ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
source-ip source-ip:显示指定源地址的会话。source-ip表示源地址,该地址必须是创建会话的报文的源地址。
destination-ip destination-ip:显示指定目的地址的会话。destination-ip表示目的地址,该地址必须是创建会话的报文的目的地址。
vpn-instance vpn-instance-name:显示指定目的VPN实例的会话。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。该VPN实例必须是报文中携带的VPN实例。如果不指定该参数,则显示目的IP不属于任何VPN实例的会话。
slot slot-number:显示指定成员设备上的NAT会话,slot-number表示设备在IRF中的成员编号。若不指定该参数,则显示所有成员设备上的NAT会话。
brief:显示NAT会话的简要信息。
verbose:显示NAT会话的详细信息。如果不配置则显示会话的概要信息。
【使用指导】
如果不指定任何参数,则显示所有的NAT会话的详细信息。
【举例】
# 显示NAT会话的详细信息。
<Sysname> display nat session verbose
Slot 1:
Initiator:
Source IP/port: 192.168.1.18/1877
Destination IP/port: 192.168.1.55/22
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
Source security zone: SrcZone
Responder:
Source IP/port: 192.168.1.55/22
Destination IP/port: 192.168.1.10/1877
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/2
Source security zone: DestZone
State: TCP_SYN_SENT
Application: SSH
Start time: 2019-07-29 19:12:36
Initiator->Responder: 1 packets 48 bytes
Responder->Initiator: 0 packets 0 bytes
Total sessions found: 1
# 显示NAT会话的简要信息。
<Sysname> display nat session brief
Slot 1:
Protocol Source IP/port Destination IP/port Global IP/port
TCP 10.2.1.58/2477 20.1.1.2/1025 30.2.4.9/226
Total sessions found: 1
表1-3 display nat session命令显示信息描述表
字段 |
描述 |
Source IP/port |
源IP地址/端口号 |
Destination IP/port |
目的IP地址/端口号 |
DS-Lite tunnel peer |
DS-Lite隧道对端地址。会话不属于任何DS-Lite隧道时,本字段显示为“-” |
VPN instance/VLAN ID/VLL ID |
会话所属的MPLS L3VPN/二层转发时会话所属的VLAN ID/二层转发时会话所属的INLINE。如果未指定则显示“-/-/-” |
Protocol |
传输层协议类型,包括:DCCP、ICMP、Raw IP 、SCTP、TCP、UDP、UDP-Lite |
Inbound interface |
报文的入接口 |
Source security zone |
源安全域,即入接口所属的安全域。若接口不属于任何安全域,则显示为“-” |
State |
会话状态 |
Application |
应用层协议类型,取值包括:FTP、DNS等,OTHER表示未知协议类型,其对应的端口为非知名端口 |
Start time |
会话创建时间 |
TTL |
会话剩余存活时间,单位为秒 |
Initiator->Responder |
发起方到响应方的报文数、报文字节数 |
Responder->Initiator |
响应方到发起方的报文数、报文字节数 |
Total sessions found |
当前查找到的会话的总数 |
Source IP/port |
发起方的源IP地址/端口号 |
Destination IP/port |
发起方的目的IP地址/端口号 |
Global IP/port |
公网IP地址/端口号 |
【相关命令】
· reset nat session
display nat statistics命令用来显示NAT统计信息。
【命令】
display nat statistics [ summary ] [ slot slot-number ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
summary:显示NAT统计信息的摘要信息。不指定该参数时,显示NAT统计信息的详细信息。
slot slot-number:显示指定成员设备上的NAT统计信息,slot-number表示设备在IRF中的成员编号。若不指定该参数,则显示所有成员设备上的NAT统计信息。
【举例】
# 显示所有NAT统计信息的详细信息。
<Sysname> display nat statistics
Slot 1:
Total session entries: 100
Total EIM entries: 1
Total inbound NO-PAT entries: 0
Total outbound NO-PAT entries: 0
Total static port block entries: 10
Total dynamic port block entries: 15
Active static port block entries: 0
Active dynamic port block entries: 0
表1-4 display nat statistics命令显示信息描述表
字段 |
描述 |
Total session entries |
NAT会话表项个数 |
Total EIM entries |
EIM表项个数 |
Total inbound NO-PAT entries |
入方向的NO-PAT表项个数 |
Total outbound NO-PAT entries |
出方向的NO-PAT表项个数 |
Total static port block entries |
当前配置创建的静态端口块表项个数 |
Total dynamic port block entries |
当前配置可创建的动态端口块表项个数,即可分配的动态端口块总数,包括已分配的端口块和尚未分配的端口块 |
Active static port block entries |
当前正在使用的静态端口块表项个数 |
Active dynamic port block entries |
当前已创建的动态端口块表项个数,即已分配的动态端口块个数 |
# 显示所有NAT统计信息的概要信息。
<Sysname> display nat statistics summary
EIM: Total EIM entries.
SPB: Total static port block entries.
DPB: Total dynamic port block entries.
ASPB: Active static port block entries.
ADPB: Active dynamic port block entries.
Slot Sessions EIM SPB DPB ASPB ADPB
1 100 1 10 15 0 0
表1-5 display nat statistics summary命令显示信息描述表
字段 |
描述 |
Sessions |
NAT会话表项个数 |
EIM |
EIM表项个数 |
SPB |
当前配置创建的静态端口块表项个数 |
DPB |
当前配置可创建的动态端口块表项个数,即可分配的动态端口块总数,包括已分配的端口块和尚未分配的端口块 |
ASPB |
当前正在使用的静态端口块表项个数 |
ADPB |
当前已创建的动态端口块表项个数,即已分配的动态端口块个数 |
nat alg命令用来开启指定或所有协议类型的NAT ALG功能。
undo nat alg命令用来关闭指定或所有协议类型的NAT ALG功能。
【命令】
nat alg { all | dns | ftp | h323 | icmp-error | ils | mgcp | nbt | pptp | rsh | rtsp | sccp | sip | sqlnet | tftp | xdmcp }
undo nat alg { all | dns | ftp | h323 | icmp-error | ils | mgcp | nbt | pptp | rsh | rtsp | sccp | sip | sqlnet | tftp | xdmcp }
【缺省情况】
DNS协议、FTP协议、ICMP差错控制报文、PPTP协议和RTSP协议的NAT ALG功能处于开启状态,其他协议类型的NAT ALG功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
all:所有可指定的协议的ALG功能。
dns:表示DNS协议的ALG功能。
ftp:表示FTP协议的ALG功能。
h323:表示H323协议的ALG功能。
icmp-error:表示ICMP差错控制报文的ALG功能。
ils:表示ILS(Internet Locator Service,互联网定位服务)协议的ALG功能。
mgcp:表示MGCP(Media Gateway Control Protocol,媒体网关控制协议)协议的ALG功能。
nbt:表示NBT(NetBIOS over TCP/IP,基于TCP/IP的网络基本输入输出系统)协议的ALG功能。
pptp:表示PPTP(Point-to-Point Tunneling Protocol,点到点隧道协议)协议的ALG功能。
rsh:表示RSH(Remote Shell,远程外壳)协议的ALG功能。
rtsp:表示RTSP(Real Time Streaming Protocol,实时流协议)协议的ALG功能。
sccp:表示SCCP(Skinny Client Control Protocol,瘦小客户端控制协议)协议的ALG功能。
sip:表示SIP(Session Initiation Protocol,会话初始协议)协议的ALG功能。
sqlnet:表示SQLNET协议的ALG功能。
tftp:表示TFTP协议的ALG功能。
xdmcp:表示XDMCP(X Display Manager Control Protocol,X显示监控)协议的ALG功能。
【使用指导】
ALG(Application Level Gateway,应用层网关)主要完成对应用层报文的解析和处理。通常情况下,NAT只对报文头中的IP地址和端口信息进行转换,不对应用层数据载荷中的字段进行分析和处理。然而对于一些应用层协议,它们的报文的数据载荷中可能包含IP地址或端口信息,这些载荷信息也必须进行有效的转换,否则可能导致功能不正常。
例如,FTP应用由数据连接和控制连接共同完成,而数据连接使用的地址和端口由控制连接协商报文中的载荷信息决定,这就需要ALG利用NAT的相关转换配置来完成载荷信息的转换,以保证后续数据连接的正确建立。
【举例】
# 开启FTP协议的ALG功能。
<Sysname> system-view
[Sysname] nat alg ftp
【相关命令】
· display nat all
nat log enable命令用来开启NAT日志功能。
undo nat log enable用来关闭NAT日志功能。
【命令】
nat log enable [ acl { ipv4-acl-number | name ipv4-acl-name } ]
undo nat log enable
【缺省情况】
NAT日志功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
acl:指定ACL的编号或名称。
ipv4-acl-number:ACL的编号,取值范围为2000~3999。
name ipv4-acl-name:ACL的名称,为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,ACL的名称不允许使用英文单词all。
【使用指导】
必须开启NAT日志功能,NAT会话日志功能(包括NAT新建会话、NAT删除会话和NAT活跃流的日志功能)、NAT用户日志功能(包括NAT端口块分配和NAT端口块回收的日志功能)和NAT告警信息日志功能才能生效。
acl参数只对NAT会话日志功能有效,对其他NAT日志功能无效。如果指定了ACL,则只有符合ACL permit规则的数据流才有可能触发输出NAT会话日志;如果没有指定ACL,则表示对所有被NAT处理过的数据流都有可能触发输出NAT会话日志。
【举例】
# 开启NAT日志功能。
<Sysname> system-view
[Sysname] nat log enable
【相关命令】
· display nat all
· display nat log
· nat log flow-active
· nat log flow-begin
· nat log flow-end
· nat log port-alloc-fail
· nat log port-block-alloc-fail
· nat log port-block-assign
· nat log port-block-withdraw
nat log flow-begin命令用来开启NAT新建会话的日志功能,即新建NAT会话时,输出NAT日志。
undo nat log flow-begin命令用来关闭NAT新建会话的日志功能。
【命令】
nat log flow-begin
undo nat log flow-begin
【缺省情况】
NAT新建会话的日志功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
只有开启NAT日志功能(通过nat log enable命令)之后,NAT新建会话的日志功能才能生效。
【举例】
# 开启NAT新建会话的日志功能。
<Sysname> system-view
[Sysname] nat log flow-begin
【相关命令】
· display nat all
· display nat log
· nat log enable
nat log flow-end命令用来开启NAT删除会话的日志功能。
undo nat log flow-end命令用来关闭NAT删除会话的日志功能。
【命令】
nat log flow-end
undo nat log flow-end
【缺省情况】
NAT删除会话的日志功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
只有开启NAT日志功能(通过nat log enable命令)之后,NAT删除会话的日志功能才能生效。
【举例】
# 开启NAT删除会话的日志功能。
<Sysname> system-view
[Sysname] nat log flow-end
【相关命令】
· display nat all
· display nat log
· nat log enable
reset nat session命令用来删除NAT会话。
【命令】
reset nat session [ protocol { tcp | udp } ] [ slot slot-number ]
【视图】
用户视图
【缺省用户角色】
network-admin
【参数】
protocol:删除指定协议类型的NAT会话。如果未指定本参数,则表示删除所有协议类型的NAT会话。
tcp:删除TCP协议类型的NAT会话。
udp:删除UDP协议类型的NAT会话。
slot slot-number:删除指定成员设备上的NAT会话,slot-number表示设备在IRF中的成员编号。如果不指定该参数,则表示删除所有成员设备上的NAT会话。
【举例】
# 删除指定slot上的NAT会话。
<Sysname> reset nat session slot 1
【相关命令】
· display nat session
action命令用来配置DNAT规则中目的地址转换方式。
undo action命令用来删除DNAT规则中目的地址转换方式。
【命令】
action { dnat object-group object-group-name [ port { local-port1 local-port2 | local-port } ] | no-nat }
undo action
【缺省情 况】
未配置DNAT规则中目的地址的转换方式。
【视图】
DNAT规则视图
【缺省用户角色】
network-admin
【参数】
dnat:对符合NAT规则中匹配条件的报文进行目的地址转换。
object-group object-group-name:转换后的私网地址,即内部服务器在内网中的地址。object-group-name表示IPv4地址对象组的名称,为1~63个字符的字符串,不区分大小写,且不能为字符串any。如果该字符串中包含空格,需要在字符串的首末添加英文格式的引号,形如”xxx xxx”。必须指定已经存在的IPv4地址对象组。
port:对符合NAT规则中匹配条件的报文进行目的端口号转换。
local-port1、local-port2:内网端口范围,local-port1表示起始端口,local-port2表示结束端口。local-port2必须大于local-port1。local-port1和local-port2的取值范围为1~65535。
local-port:内部服务器的内网端口号,取值范围为1~65535。
no-nat:不对符合NAT规则中匹配条件的报文进行目的地址转换,也不使用其他优先级较低的NAT规则进行目的地址转换。
【使用指导】
内网中的服务器对外部网络提供服务时(例如FTP、Web等),NAT设备允许外网用户通过指定的NAT地址和端口访问这些内部服务器,配置本命令后,对于通过过滤条件的报文,它的目的地址和端口将被转换成内部服务器内网IP地址和端口。
对于不同的使用场景,action命令的配置方式、目的地址过滤条件以及源地址过滤条件需要满足的要求不同,具体如表1-6所示。
使用场景 |
action命令的配置方式 |
目的地址过滤条件需要满足的要求 |
service类型过滤条件需要满足的要求 |
源地址过滤条件需要满足的要求 |
允许外部用户通过一个外网地址访问内部服务器 |
action dnat object-group object-group-name |
无 |
无 |
无 |
允许外部用户通过多个不同的外网地址访问内部服务器 |
action dnat object-group object-group-name |
所有destination-ip过滤条件中包含的IP地址的数量必须和action命令中object-group定义的IP地址数量相同 |
无 |
无 |
允许外部用户通过一个外网地址、一个固定的端口号访问内部服务器 |
action dnat object-group object-group-name port local-port |
无 |
无 |
无 |
允许外部用户通过一个或多个不同的外网地址、一个固定的端口号访问内部服务器 |
action dnat object-group object-group-name port local-port |
所有destination-ip过滤条件中包含的IP地址的数量=action命令中的包含的IP地址数量×1 |
当前规则下必须存在destination port配置 |
无 |
允许外部用户通过一个或多个不同的外网地址、多个不同的端口号访问内部服务器 |
action dnat object-group object-group-name port local-port1 local-port2 |
所有destination-ip过滤条件中包含的IP地址的数量=action命令中包含的IP地址数量×action命令中的端口数量 |
当前规则下必须存在destination port配置 |
无 |
创建了数量较多的NAT规则后,希望对其中小范围的某些报文不进行目的地址转换 |
action no-nat |
无 |
无 |
无 |
内外网处于不同VPN的场景下,需要配置跨VPN路由保证外网到内网的路由可达。
仅在DNAT规则视图下支持配置本命令。
多次执行本命令,最后一次执行的命令生效。
目的地址转换方式引用地址对象组时,需要注意:
· 目的地址转换方式引用的地址对象组中的对象必须通过如下方式创建,否则该地址对象组无法被目的地址转换方式引用:
¡ [ object-id ] network host address ip-address
¡ [ object-id ] network subnet ip-address { mask-length | mask }
¡ [ object-id ] network range ip-address1 ip-address2
关于以上命令的详细介绍,请参见“安全命令参考”中的“对象组”。
配置action dnat object-group object-group-name命令时,为了保证配置能够成功下发,还需要保证:
· 本命令引用的地址对象组中不同的地址对象之间的地址不重叠,且该地址对象组与其他地址对象组中的地址不重叠。
· 本命令所属的DNAT规则下,所有destination-ip过滤条件中的地址不重叠。
【举例】
# 配置DNAT规则aaa,该规则允许外部用户通过1.1.1.1~1.1.1.9中的外网地址访问地址范围在2.1.1.1~2.1.1.9之间的内部服务器。
<Sysname> system-view
[Sysname] object-group ip address obj1
[Sysname-obj-grp-ip-obj1] network range 1.1.1.1 1.1.1.9
[Sysname-obj-grp-ip-obj1] quit
[Sysname] object-group ip address obj2
[Sysname-obj-grp-ip-obj2] network range 2.1.1.1 2.1.1.9
[Sysname-obj-grp-ip-obj2] quit
[Sysname] dnat-rule name aaa
[Sysname-dnat-rule-aaa] destination-ip obj1
[Sysname-dnat-rule-aaa] action dnat object-group obj2
# 配置DNAT规则aaa,该规则允许外部用户通过1.1.1.1~1.1.1.9之间的某个外网地址访问内网地址为2.1.1.1、端口号为10000~10009的内部服务器。
<Sysname> system-view
[Sysname] object-group ip address obj1
[Sysname-obj-grp-ip-obj1] network range 1.1.1.1 1.1.1.9
[Sysname-obj-grp-ip-obj1] quit
[Sysname] object-group ip address obj2
[Sysname-obj-grp-ip-obj2] network host 2.1.1.1
[Sysname-obj-grp-ip-obj2] quit
[Sysname] dnat-rule name aaa
[Sysname-dnat-rule-aaa] destination-ip obj1
[Sysname-dnat-rule-aaa] action dnat object-group obj2 port 10000 10009
# 不使用DNAT规则aba进行目的地址转换。
<Sysname> system-view
[Sysname] dnat-rule name aba
[Sysname-dnat-rule-aba] action no-nat
【相关命令】
· display dnat-rule
· display nat all
· object-group(安全命令参考/对象组)
action命令用来配置SNAT规则中源地址转换方式。
undo action命令用来删除SNAT规则中源地址转换方式。
【命令】
action { no-nat | snat { egress-if-ip dynamic-port [ port-preserved ] | object-group object-group-name { dynamic | dynamic-port [ port-range start-port-number end-port-number ] [ [ port-block-size block-size [ extended-block-number extended-block-number ] ] | port-preserved ] | static } } }
undo action
【缺省情况】
未配置SNAT规则中源地址的转换方式。
【视图】
SNAT规则视图
【缺省用户角色】
network-admin
【参数】
no-nat:不对符合NAT规则中匹配条件的报文进行源地址转换,也不使用其他优先级较低的NAT规则进行源地址转换。
egress-if-ip:使用报文出接口的主IP地址作为转换后的地址,即实现Easy IP功能。
object-group object-group-name:转换后的公网地址。object-group-name表示IPv4地址对象组的名称,为1~63个字符的字符串,不区分大小写,且不能为字符串any。如果该字符串中包含空格,需要在字符串的首末添加英文格式的引号,形如”xxx xxx”。指定的对象组必须为已经存在的IPv4地址对象组,否则配置将失败。
dynamic:使用NO-PAT方式进行地址转换,即仅转换报文的源IP地址。
dynamic-port:使用PAT方式进行地址转换,即同时转换报文的源IP地址和源端口号。
static:使用静态方式进行地址转换,即内部网络和外部网络之间的地址映射关系由配置确定。
port-range start-port-number end-port-number:公网IP地址端口的起始端口号和结束端口号。end-port-number必须大于或等于start-port-number。如果不指定该参数,公网IP地址端口的默认范围为1~65535。
port-block-size block-size:端口块大小,即一个端口块中所包含的端口数,取值范围为1~max_number。max_number取值为65535。指定该参数时,转换方式为基于端口块的PAT转换方式;如果未指定本参数,则表示转换方式为基于端口的PAT转换方式。
extended-block-number extended-block-number:增量端口块数,取值范围为1~5。当分配端口块中的端口资源耗尽(所有端口都被使用)时,如果对应的私网IP地址向公网发起新的连接,则无法从分配端口块中获取端口。此时,如果配置了增量端口块数,则可以为对应的私网IP地址进行增量端口块分配。一个私网IP地址最多可同时占有1+extended-block-number个端口块。
port-preserved:PAT方式下分配端口时尽量不转换端口。如果不指定本参数,则PAT方式下分配端口时依次分配转换后端口。
【使用指导】
内网中的用户访问外部网络中的主机或服务时,需要将报文中的私网IP地址转换为公网地址。本命令用于指导NAT设备对通过过滤条件的报文进行地址转换。
不同使用场景的配置方式和过滤条件需要满足的要求不同,具体如表1-7所示。
使用场景 |
action命令的配置方式 |
源地址过滤条件需要满足的要求 |
目的地址过滤条件需要满足的要求 |
允许内部用户使用报文出接口的主IP地址访问外部网络中的主机或服务 |
action snat egress-if-ip dynamic-port [ port-preserved ] |
无 |
无 |
内部网络与外部网络之间存在固定访问需求 |
action snat object-group object-group-name static |
所有source-ip过滤条件中包含的IP地址的数量必须和action命令中object-group定义的IP地址数量相同 |
无 |
内部网络有大量用户需要访问外部网络 |
action snat object-group object-group-name dynamic |
无 |
无 |
内部网络有大量用户需要访问外部网络,且需要支持用户溯源 |
action snat object-group object-group-name dynamic-port [ port-range start-port-number end-port-number ] port-block-size block-size [ extended-block-number extended-block-number ] |
无 |
无 |
内部网络有大量用户需要访问外部网络,且尽量使用原始端口号 |
action snat object-group object-group-name dynamic-port [ port-range start-port-number end-port-number ] port-preserved |
无 |
无 |
创建了数量较多的NAT规则后,希望对其中小范围的某些报文不进行源地址转换 |
action no-nat |
无 |
无 |
内外网处于不同VPN的场景下,需要配置跨VPN路由保证内网到外网的路由可达。
设定端口块大小时,需要根据私网IP地址个数,以及公网IP地址个数及其端口范围,确定一个合理的端口块大小值。端口块大小值不能超过公网地址的端口范围值。
源地址转换配置引用地址对象组时,需要注意:
· 源地址转换配置引用的地址对象组中的对象必须通过如下方式创建,否则该地址对象组无法被源地址转换方式引用:
¡ [ object-id ] network host address ip-address
¡ [ object-id ] network subnet ip-address { mask-length | mask }
¡ [ object-id ] network range ip-address1 ip-address2
关于以上命令的详细介绍,请参见“安全命令参考”中的“对象组”。
· 源地址转换配置引用的地址对象组中包含的IP地址个数需要在1~65535范围内,否则会导致SNAT规则无法生效。
配置action snat object-group object-group-name static命令时,为了保证配置能够成功下发,还需要保证:
· 本命令引用的地址对象组中包含的地址数量大于0,且必须和source-ip过滤条件中包含的IP地址的数量相同。
· 本命令引用的地址对象组中不同的地址对象之间的地址不重叠,且该地址对象组与其他地址对象组中的地址不重叠。
· 本命令所属的SNAT规则下,所有source-ip过滤条件中的地址不重叠。
· 多次执行本命令,最后一次执行的命令生效。
【举例】
# 配置SNAT规则aba中源地址转换方式为NO-PAT,使用转换对象组obj1,其配置的地址范围为1.1.1.0~1.1.1.9。
<Sysname> system-view
[Sysname] object-group ip address obj1
[Sysname-obj-grp-ip-obj1] network range 1.1.1.0 1.1.1.9
[Sysname-obj-grp-ip-obj1] quit
[Sysname] snat-rule name aba
[Sysname-snat-rule-aba] action snat object-group obj1 dynamic
# 配置SNAT规则aba中源地址转换方式为动态端口块转换方式,使用转换对象组obj1,其配置的地址范围为1.1.1.0~1.1.1.9。公网地址端口范围为10000~20000,端口块大小为500,增量地址块数为3
<Sysname> system-view
[Sysname] object-group ip address obj1
[Sysname-obj-grp-ip-obj1] network range 1.1.1.0 1.1.1.9
[Sysname-obj-grp-ip-obj1] quit
[Sysname] snat-rule name aba
[Sysname-snat-rule-aba] action snat object-group obj1 dynamic-port port-range 10000 20000 port-block-size 500 extend-port-block-num 3
# 配置SNAT规则aba中目的地址转换方式为静态地址转换,首先首次配置目的地址过滤条件对象组obj1,其中包含的地址范围为1.1.1.0~1.1.1.9,使用转换对象组obj2,其配置的地址范围为2.1.1.0~2.1.1.9。
<Sysname> system-view
[Sysname] object-group ip address obj1
[Sysname-obj-grp-ip-obj1] network range 1.1.1.0 1.1.1.9
[Sysname-obj-grp-ip-obj1] quit
[Sysname] object-group ip address obj2
[Sysname-obj-grp-ip-obj2] network range 2.1.1.0 2.1.1.9
[Sysname-obj-grp-ip-obj2] quit
[Sysname] snat-rule name aba
[Sysname-snat-rule-aba] source-ip obj1
[Sysname-snat-rule-aba] action snat object-group obj2 static
# 将SNAT规则aba的地址转换方式指定为使用出接口地址动态端口转换。
<Sysname> system-view
[Sysname] snat-rule name aba
[Sysname-snat-rule-aba] action snat egress-if-ip dynamic-port
# 配置SNAT规则aba中源地址转换方式为不进行地址转换。
<Sysname> system-view
[Sysname] snat-rule name aba
[Sysname-snat-rule-aba] action no-nat
【相关命令】
· display nat all
· display snat-rule
· object-group(安全命令参考/对象组)
counting enable命令用来开启DNAT/SNAT规则命中统计功能。
undo counting enable命令用来关闭DNAT/SNAT规则命中统计功能。
【命令】
counting enable
undo counting enable
【缺省情况】
DNAT/SNAT规则命中统计功能处于关闭状态。
【视图】
DNAT规则视图
SNAT规则视图
【缺省用户角色】
network-admin
vsys-admin
【使用指导】
配置了多条DNAT/SNAT规则时,如果希望提升命中次数较多的DNAT/SNAT规则的优先级,则可以通过本命令开启DNAT/SNAT规则的命中统计功能,然后通过display dnat-rule/display snat-rule命令查看DNAT规则、SNAT规则的命中统计计数,再通过dnat-rule move/snat-rule move命令提升命中次数较多的DNAT/SNAT规则的优先级。从而减少匹配次数,提升地址转换效率。
配置本命令后,该规则的命中统计功能将会开启,当报文匹配上该规则时,计数加1。可通过display dnat-rule、display snat-rule命令查看DNAT规则、SNAT规则的命中统计计数。
【举例】
# 开启名称为rule1的DNAT规则的命中统计功能。
<Sysname> system-view
[Sysname] dnat-rule name rule1
[Sysname-dnat-rule-rule1] counting enable
# 开启名称为rule2的SNAT规则的命中统计功能。
<Sysname> system-view
[Sysname] snat-rule name rule2
[Sysname-snat-rule-rule2] counting enable
【相关命令】
· display dnat-rule
· display nat all
· display snat-rule
· dnat-rule move
· snat-rule move
description命令用来配置DNAT/SNAT规则的描述信息。
undo description命令用来恢复缺省情况。
【命令】
description text
undo description
【缺省情况】
未配置DNAT/SNAT规则的描述信息。
【视图】
DNAT规则视图
SNAT规则视图
【缺省用户角色】
network-admin
【参数】
text:表示DNAT/SNAT规则的描述信息,为1~255个字符的字符串,区分大小写。
【举例】
# 配置DNAT规则rule1的描述信息为“This is a DNAT rule named rule1”。
<Sysname> system-view
[Sysname] dnat-rule name rule1
[Sysname-dnat-rule-rule1] description This is a DNAT rule named rule1
# 配置SNAT规则rule2的描述信息为“This is an SNAT rule named rule2”。
<Sysname> system-view
[Sysname] snat-rule name rule2
[Sysname-snat-rule-rule2] description This is an SNAT rule named rule2
【相关命令】
· display dnat-rule
· display nat all
· display snat-rule
destination-ip命令用来配置DNAT规则中用于匹配报文目的IP地址的过滤条件。
undo destination-ip命令用来删除DNAT规则中用于匹配报文目的IP地址的过滤条件。
【命令】
destination-ip object-group object-group-name
undo destination-ip { object-group object-group-name | all }
【缺省情况】
DNAT规则中不存在用于匹配报文目的IP地址的过滤条件。
【视图】
DNAT规则视图
【缺省用户角色】
network-admin
【参数】
object-group-name:指定DNAT规则引用的目的IPv4地址对象名称,为1~63个字符的字符串,不区分大小写,且不能为字符串any。如果该字符串中包含空格,需要在字符串的首末添加英文格式的引号,形如“xxx xxx”。指定的对象组必须为已经存在的IPv4地址对象组,否则配置将失败。
all:表示所有目的IP地址过滤条件。执行undo destination-ip all命令表示删除DNAT规则中所有的目的IP地址过滤条件。
【使用指导】
过滤条件用于帮助DNAT规则筛选报文,DNAT规则仅对匹配过滤条件的报文进行地址转换。一条有效的DNAT规则中必须包括源地址过滤条件、目的地址过滤条件和转换方式,使用display dnat-rule命令可以查看的DNAT规则的生效状态。
DNAT规则中过滤条件的作用以及必配/选配说明分别如表1-8所示。
添加了多个过滤条件时,DNAT规则仅对匹配所有过滤条件的报文进行地址转换,同一类型的过滤规则,与其中一个规则匹配即为通过匹配。
表1-8 DNAT规则中过滤条件的必配/选配说明
过滤条件 |
作用 |
必配/选配 |
source-ip |
过滤报文的源IP地址 |
必配 |
destination-ip |
过滤报文的目的IP地址 |
必配 |
service |
过滤报文的传输层协议、源/目的端口号 |
选配 |
ingress-interface |
过滤报文的入接口。目的地址转换场景下,仅对NAT设备上ingress-interface命令指定的接口接收到的、且通过其余过滤条件的报文进行地址转换 |
选配 |
destination-ip命令引用地址对象组时,需要注意:
· 引用的地址对象组必须已经存在,否则配置将失败。
· 目的地址引用的地址对象组中的对象必须通过如下方式创建,否则会导致引用该地址对象组的规则失效:
¡ [ object-id ] network host address ip-address
¡ [ object-id ] network subnet ip-address { mask-length | mask }
¡ [ object-id ] network range ip-address1 ip-address2
关于以上命令的详细介绍,请参见“安全命令参考”中的“对象组”。
同一NAT规则下配置或删除过滤条件时,需要注意:
· 同一DNAT规则下存在action dnat object-group配置时,无法修改或删除目的地址过滤条件。如果希望修改或删除某个DNAT规则下的目的地址过滤条件,请先删除该DNAT规则下的action dnat object-group配置。
【举例】
# 在DNAT规则aaa下配置目的IP地址过滤条件,这些过滤条件引用名为desIP1、desIP2和desIP3的地址对象组来匹配报文的目的IP地址。
<Sysname> system-view
[Sysname] dnat-rule name aaa
[Sysname-dnat-rule-aaa] destination-ip object-group desIP1
[Sysname-dnat-rule-aaa] destination-ip object-group desIP2
[Sysname-dnat-rule-aaa] destination-ip object-group desIP3
【相关命令】
· display dnat-rule
· display nat all
· egress-interface
· ingress-interface
· object-group(安全命令参考/对象组)
· service
· source-ip
destination-ip命令用来配置SNAT规则中用于匹配报文目的IP地址的过滤条件。
undo destination-ip命令用来删除SNAT规则中用于匹配报文目的IP地址的过滤条件。
【命令】
destination-ip object-group object-group-name
undo destination-ip { all | object-group object-group-name }
【缺省情况】
SNAT规则中不存在用于匹配报文目的IP地址的过滤条件。
【视图】
SNAT规则视图
【缺省用户角色】
network-admin
【参数】
object-group-name:指定目的IP地址过滤条件引用的IPv4地址对象组名称,为1~63个字符的字符串,不区分大小写,且不能为字符串any。如果该字符串中包含空格,需要在字符串的首末添加英文格式的引号,形如“xxx xxx”。指定的对象组必须为已经存在的IPv4地址对象组,否则配置将失败。
all:表示所有目的IP地址过滤条件。执行undo destination-ip all命令表示删除SNAT规则中所有的目的IP地址过滤条件。
【使用指导】
过滤条件用于帮助SNAT规则筛选报文,SNAT规则仅对匹配过滤条件的报文进行地址转换。一条有效的SNAT规则中必须包括源地址过滤条件、目的地址过滤条件和转换方式,使用display snat-rule命令可以查看的SNAT规则的生效状态。
SNAT规则中过滤条件的作用以及必配/选配说明分别如表1-9所示。
添加了多个过滤条件时,SNAT规则仅对匹配所有过滤条件的报文进行地址转换,同一类型的过滤规则,与其中一个规则匹配即为通过匹配。
表1-9 SNAT规则中过滤条件的必配/选配说明
过滤条件 |
作用 |
必配/选配 |
source-ip |
过滤报文的源IP地址 |
必配 |
destination-ip |
过滤报文的目的IP地址 |
必配 |
service |
过滤报文的传输层协议、源/目的端口号 |
选配 |
ingress-interface |
过滤报文的入接口。源地址转换场景下,仅对NAT设备上ingress-interface命令指定的接口接收到的、且通过其余过滤条件的报文进行地址转换 |
选配 |
egress-interface |
过滤报文的出接口。源地址转换场景下,仅对出接口为NAT设备上egress-interface命令指定的接口、且通过其余过滤条件的报文进行地址转换 |
选配 |
在SNAT规则下添加目的IP地址过滤条件时,如果仅允许内部用户访问使用特定目的IP地址的外网服务或服务,则目的IP地址过滤条件引用的对象组中包含的地址需要与特定的目的IP地址相同。如果不会对内部用户访问的目的地进行限制,仍需要在SNAT规则中添加一条允许所有目的IP地址通过过滤的过滤条件,该过滤条件中引用的地址对象组中的对象是通过network subnet 0.0.0.0 0命令创建的。
通过destination-ip命令引用地址对象组时,需要注意:
· 目的地址引用的地址对象组中的对象必须通过如下方式创建,否则会导致引用该地址对象组的规则失效:
¡ [ object-id ] network host address ip-address
¡ [ object-id ] network subnet ip-address { mask-length | mask }
¡ [ object-id ] network range ip-address1 ip-address2
关于以上命令的详细介绍,请参见“安全命令参考”中的“对象组”。
【举例】
# 在SNAT规则aba下配置目的IP地址过滤条件,这些过滤条件引用名为desIP1、desIP2和desIP3的地址对象组来匹配报文的目的IP地址。
<Sysname> system-view
[Sysname] snat-rule name aba
[Sysname-snat-rule-aba] destination-ip object-group desIP1
[Sysname-snat-rule-aba] destination-ip object-group desIP2
[Sysname-snat-rule-aba] destination-ip object-group desIP3
【相关命令】
· display nat all
· display snat-rule
· egress-interface
· ingress-interface
· object-group(安全命令参考/对象组)
· service
· source-ip
display dnat-rule命令用来显示DNAT规则的配置及运行状况信息。
【命令】
display dnat-rule [ name rule-name | id rule-id ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
name rule-name:指定DNAT规则的名称。rule-name表示DNAT规则的名称,为1~127个字符的字符串,不区分大小写,若要使用“\”或“"”,则必须在输入时使用转义操作符“\”。如果该字符串中包含空格,需要在字符串的首末添加英文格式的引号,形如“xxx xxx”。
id rule-id:指定DNAT规则的ID。rule-id表示DNAT规则的ID,取值范围为1~5000。
【使用指导】
如果既未指定name参数,也未指定id参数,则显示所有DNAT规则的简要配置及运行状况信息。如果指定了name参数或id参数,则显示指定DNAT规则的完整配置及运行状况信息。
每个DNAT规则中包含两类基本元素:
· 过滤条件,用于识别需要进行地址转换的报文。
· 目的地址转换动作,对于匹配过滤条件的报文,根据动作执行相应的操作。
【举例】
# 显示所有DNAT规则的简要配置及运行状况信息。
<Sysname> display dnat-rule
DNAT rule information:
Totally 2 DNAT rules.
ID Name Status Action ActionObj Count DstObj
1 rule1 Active IP local1 0 group1
2 rule2 Active IP-port local2 0 group2
表1-10 display dnat-rule命令简要信息描述表
字段 |
描述 |
DNAT rule information |
DNAT规则的配置及运行状况信息 |
Totally n DNAT rules |
当前存在n条DNAT规则 |
ID |
DNAT规则的ID |
Name |
DNAT规则的名称 |
Status |
DNAT规则的实际生效状态: · Active:表示DNAT规则生效 · Inactive:表示DNAT规则不生效 |
Action |
DNAT规则中的地址转换方式: · No action:DNAT规则中未配置地址转换方式 · IP:仅转换目的IP地址 · IP-port:同时转换目的IP地址和目的端口号 · NO-NAT:不对符合DNAT规则中匹配条件的报文进行目的地址转换,也不使用其他优先级较低的NAT规则进行目的地址转换 |
ActionObj |
Action引用的对象组名称,取值包括: · xxx:表示对象组的名称。对象组的名称较长且省略后显示为“xxx...”。建议使用display dnat-rule name或display dnat-rule id命令查看DNAT规则的完整配置信息 · ---:表示DNAT规则下未配置action,或者action的转换方式为NO-NAT |
Count |
DNAT规则的命中统计计数 |
DstObj |
DNAT规则目的地址过滤条件引用的对象组名称。SNAT规则下存在多个源地址过滤条件时,仅显示第一个配置的源地址过滤条件引用的对象组的名称。如果对象组的名称较长,则显示为“xxx...”。 建议使用display dnat-rule name或display dnat-rule id命令查看DNAT规则的完整配置信息 |
# 显示ID为1的DNAT规则的完整配置及运行状况信息。
<Sysname> display dnat-rule id 1
DNAT rule information:
DNAT rule ID : 2
DNAT rule name: rule1
SrcIP object group : group3
DestIP object group : local2
Action : IP
ActionObj : group2
NAT count : 0
Config status : Active
表1-11 display dnat-rule命令完整信息描述表
字段 |
描述 |
DNAT rule information |
DNAT规则的配置及运行状况信息 |
DNAT rule ID |
DNAT规则的ID |
DNAT rule name |
DNAT规则的名称 |
Description |
DNAT规则的描述信息。若未配置,则不显示该字段 |
SrcIP object group |
DNAT规则源地址过滤条件引用的地址对象组。若未配置,则不显示该字段 |
DestIP object group |
DNAT规则目的地址过滤条件引用的地址对象组。若未配置,则不显示该字段 |
Service object group |
DNAT规则传输层协议和端口号过滤条件引用的服务对象组。若未配置,则不显示该字段 |
Ingress interface |
DNAT规则的入接口过滤条件,若未配置,则不显示该字段 |
Action |
DNAT规则的目的地址转换方式,取值包括: · No action:DNAT规则中未配置地址转换方式 · IP:地址转换方式,即内部网络和外部网络之间的地址映射关系由配置确定 · IP-port:地址端口转换方式,同时对IP地址和端口号进行转换,地址和端口映射关系由配置确定 · NO-NAT:不对符合DNAT规则中匹配条件的报文进行目的地址转换,也不使用其他优先级较低的NAT规则进行目的地址转换 若未配置,则不显示该字段 |
ActionObj |
DNAT规则的地址转换方式使用的IP地址对象组名称。显示为“---”表示DNAT规则下未配置action,或者action的转换方式为NO-NAT |
Port range |
转换后的端口号范围,若未配置,则不显示该字段 · local-port:转换后的端口 · local-port1-local-port2:转换后的端口范围 |
Global address conflict |
公网地址是否存在冲突: · Existent:表示存在冲突 · Nonexistent:表示不存在冲突 |
RBM VRRP VRID |
(暂不支持)RBM双机组网下,DNAT规则绑定的VRRP备份组ID。若未配置,则不显示该字段 |
NAT count |
DNAT规则转换的计数信息 |
Config status |
DNAT规则的实际生效状态: · Active:表示生效 · Inactive:表示不生效 |
Reasons for inactive status |
当Config status字段为Inactive时,显示配置不生效的原因: · No action:未配置DNAT规则中的地址转换方式 · No source-ip:未配置DNAT规则中的源地址过滤条件 · No destination-ip:未配置DNAT规则中的目的地址过滤条件 · The ingress interface is deactivated:DNAT规则中的入接口过滤条件所关联的接口未激活 · The source object group contains object types that are not supported by DNAT:源地址过滤条件引用的对象组中包含DNAT不支持的对象类型 · The destination object group contains object types that are not supported by DNAT:目的地址过滤条件引用的对象组中包含DNAT不支持的对象类型 · The number of address groups for the source IP address match criterion is 0:源地址过滤条件中的地址组个数为0. · No available service objects for the service type packet match criterion:service类型的过滤条件中没有可用的服务对象. · The DNAT rule is disabled:DNAT规则被禁用 |
display nat no-pat命令用来显示NAT NO-PAT表项信息。
【命令】
display nat no-pat [ slot slot-number ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
slot slot-number:显示指定成员设备上的NO-PAT表项信息,slot-number表示设备在IRF中的成员编号。若不指定该参数,则表示显示所有成员设备上的NO-PAT表项信息。
【使用指导】
NO-PAT表项记录了动态分配的一对一地址映射关系,该表项有两个作用:
· 保证后续同方向的新连接使用与第一个连接相同的地址转换关系。
· 反方向的新连接可以使用NO-PAT表进行地址转换。
nat inbound和nat outbound配置的NO-PAT方式在转换报文地址之后都需要创建NO-PAT表。这两种配置创建的NO-PAT表类型不同,不能互相使用,因此分成两类进行显示。
【举例】
# 显示NAT NO-PAT表项。
<Sysname> display nat no-pat
Slot 1:
Global IP: 200.100.1.100
Local IP: 192.168.100.100
Global VPN: vpn2
Local VPN: vpn1
Reversible: N
Type : Inbound
Local IP: 192.168.100.200
Global IP: 200.100.1.200
Reversible: Y
Type : Outbound
Total entries found: 2
表1-12 display nat no-pat命令显示信息描述表
字段 |
描述 |
Local VPN |
内网地址所属的MPLS L3VPN的实例名称。如果不属于任何VPN实例,则该行不显示 |
Global VPN |
外网地址所属的MPLS L3VPN的实例名称。如果不属于任何VPN实例,则该行不显示 |
Reversible |
是否允许反向地址转换。若其值为“Y”,则表示在某方向上发起的连接已成功建立地址转换表项的情况下,允许反方向发起的连接使用已建立的地址转换表项进行地址转换;若其值为“N”,则表示不允许 |
Type |
NO-PAT表项类型 · Inbound:入方向动态地址转换过程中创建的NO-PAT表项 · Outbound:出方向动态地址转换过程中创建的NO-PAT表项 |
Total entries found |
当前查找到的NO-PAT表项的个数 |
【相关命令】
· nat inbound
· nat outbound
display nat port-block命令用来显示端口块表项。
【命令】
display nat port-block { dynamic | static } [ ip ipv4-source-address ] [ slot slot-number ] [ verbose ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
dynamic:显示动态端口块表项。
static:显示静态端口块表项。
ip ipv4-source-address:显示指定IPv4源地址的端口块表项。ipv4-source-address表示源地址,该地址必须是创建端口块表项的报文的源地址。
slot slot-number:显示指定成员设备上的端口块表项信息,slot-number表示设备在IRF中的成员编号。若不指定该参数,则表示显示所有成员设备上的端口块表项信息。
verbose:显示单板上的端口块表项的详细信息。如果不配置则显示端口块表项的概要信息。
【举例】
# 显示静态端口块表项。
<Sysname> display nat port-block static
Slot 0:
Local VPN Local IP Global IP Port block Connections Extend
--- 100.100.100.111 202.202.100.101 10001-10256 0 ---
--- 100.100.100.112 202.202.100.101 10257-10512 0 ---
--- 100.100.100.113 202.202.100.101 10513-10768 0 ---
vpn012345678 100.100.100.113 202.202.100.101 10769-11024 0 ---
901234567890
1234567
--- 100.100.100.114 0.0.0.0 --- 0 ---
Total mappings found: 5
# 显示动态端口块表项。
<Sysname> display nat port-block dynamic
Slot 0:
Local VPN Local IP Global IP Port block Connections Extend
--- 101.1.1.12 192.168.135.201 10001-11024 1 ---
Total mappings found: 1
# 显示动态端口块表项的详细信息。
<Sysname> display nat port-block dynamic verbose
Slot 0:
Dynamic port block entry
Local IP : 10.15.1.20
Local vpn : ---(0)
Global IP : 30.1.1.117
Global vpn : ---(0)
Port block : 1-1000
Connections : 1
FailgroupID : 1
PortLimit TCP : N/A
PortLimit UDP : N/A
PortLimit ICMP : N/A
PortLimit total : N/A
PortUsed TCP : 0
PortUsed UDP : 1
PortUsed ICMP : 0
PortUsed total : 1
Extend port block: N
Total mappings found: 1
表1-13 display nat port-block命令显示信息描述表
字段 |
描述 |
Local VPN |
私网IP地址所属VPN实例,“---”表示不属于任何VPN实例 |
Local IP |
私网IP地址 |
Global IP |
公网IP地址。显示为0.0.0.0表示公网资源不足,未能分配到公网IP地址 |
Port block |
端口块(起始端口-结束端口)。当公网资源不足时,本字段显示为“---” |
Connections |
当前使用本端口块中的端口建立的连接数 |
Extend |
增量端口块数。如果未配置,则显示“---” |
Total mappings found |
当前查找到的端口块表项的个数 |
表1-14 display nat port-block verbose命令详细显示信息描述表
字段 |
描述 |
Local IP |
私网IP地址 |
Local vpn |
私网IP地址所属VPN实例,“---(0)”表示不属于任何VPN实例 |
Global IP |
公网IP地址。显示为0.0.0.0表示公网资源不足,未能分配到公网IP地址 |
Global vpn |
公网IP地址所属VPN实例,“---(0)”表示不属于任何VPN实例 |
Port block |
端口块(起始端口-结束端口)。当公网资源不足时,本字段显示为“---” |
Connections |
当前使用本端口块中的端口建立的连接数 |
PortLimit TCP |
最多可分配给TCP协议的端口数量 |
PortLimit UDP |
最多可分配给UDP协议的端口数量 |
PortLimit ICMP |
最多可分配给ICMP协议的端口数量 |
PortLimit total |
最多可分配的端口数量 |
PortUsed TCP |
TCP报文分配的端口数 |
PortUsed UDP |
UDP报文分配的端口数 |
PortUsed ICMP |
ICMP报文分配的端口数 |
PortUsed total |
分配的端口总数 |
Extend port block |
增量端口块数。如果未配置,则显示“N” |
Total mappings found |
当前查找到的端口块表项的个数 |
display snat-rule命令用来显示SNAT规则的配置及运行状况信息。
【命令】
display snat-rule [ id rule-id | name rule-name ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
name rule-name:指定SNAT规则的名称。rule-name表示SNAT规则的名称,为1~127个字符的字符串,不区分大小写,若要使用“\”或“"”,则必须在输入时使用转义操作符“\”。如果该字符串中包含空格,需要在字符串的首末添加英文格式的引号,形如“xxx xxx”。
id rule-id:指定SNAT规则的ID。取值范围为1~5000。
【使用指导】
如果既未指定name参数,也未指定id参数,则显示所有SNAT规则的简要配置及运行状况信息。如果指定了name参数或id参数,则显示指定SNAT规则的完整配置及运行状况信息。
每个SNAT规则中包含两类基本元素:
· 过滤条件,用于识别需要进行地址转换的报文。
· 源地址转换动作,对于匹配过滤条件的报文,根据动作执行相应的操作。
【举例】
# 显示所有SNAT规则的简要配置及运行状况信息。
<Sysname> display snat-rule
SNAT rule information:
Totally 2 SNAT rules.
ID Name Status Action ActionRef Count SrcObj
1 rule1 Inactive Dynamic-port obj1 0 local1
2 rule2 Inactive Static group2 0 local2
表1-15 display snat-rule命令简要信息描述表
字段 |
描述 |
SNAT rule information |
SNAT规则的配置及运行状况信息 |
Totally n SNAT rules |
当前存在n条SNAT规则 |
ID |
SNAT规则的ID |
Name |
SNAT规则的名称。如果规则名较长,则显示为“xxx...” |
Status |
SNAT规则的实际生效状态: · Active:表示SNAT规则生效 · Inactive:表示SNAT规则不生效 |
Action |
SNAT规则中的地址转换方式: · No action:SNAT规则中未配置地址转换方式 · Static:静态地址转换方式,即内部网络和外部网络之间的地址映射关系由配置确定 · Dynamic:动态地址转换方式,但是不转换端口号 · Dynamic-port:动态地址转换方式,同时对源IP地址和源端口号进行转换 · NO-NAT:不对符合SNAT规则中匹配条件的报文进行目的地址转换,也不使用其他优先级较低的NAT规则进行目的地址转换 |
ActionRef |
SNAT规则中action使用的公网资源来源信息: · Action引用的对象组名称。使用对象组的IP地址作为转换后的公网地址。对象组的名称较长且省略后显示为“xxx...”。建议使用display snat-rule name或display snat-rule id命令查看SNAT规则的完整配置及运行状况信息 · Egress-if-ip:引用报文出接口的主IP地址作为转换后的公网地址 · ---:表示SNAT规则下未配置action,或者action的转换方式为NO-NAT |
Count |
SNAT规则的命中统计计数 |
SrcObj |
SNAT规则源地址过滤条件引用的对象组名称。SNAT规则下存在多个源地址过滤条件时,仅显示第一个配置的源地址过滤条件引用的对象组的名称。如果对象组的名称较长,则显示为“xxx...”。 SNAT规则下配置多个source-ip的情况下,省略除第一个源地址过滤条件对象组名称后,显示为“xxx...”。建议使用display snat-rule name或display snat-rule id命令查看SNAT规则的完整配置信息 |
# 显示ID为1的SNAT规则的完整配置及运行状况信息。
<Sysname> display snat-rule id 1
SNAT rule information:
SNAT rule ID : 1
SNAT rule name: rule1
SrcIP object group : local1
DestIP object group : group3
Action : Dynamic-port
ActionRef : obj1
Port range : 1000-2000
Port block size : 100
Extended block number : 1
NAT count : 0
Config status : Active
表1-16 display snat-rule命令完整信息描述表
字段 |
描述 |
SNAT rule information |
SNAT规则的配置及运行状况信息 |
SNAT rule ID |
SNAT规则的ID |
SNAT rule name |
SNAT规则的名称 |
Description |
SNAT规则的描述信息。若未配置,则不显示该字段 |
SrcIP object group |
SNAT规则源地址过滤条件引用的地址对象组。若未配置,则不显示该字段 |
DestIP object group |
SNAT规则目的地址过滤条件引用的地址对象组。若未配置,则不显示该字段 |
Service object group |
SNAT规则传输层协议和端口号过滤条件引用的服务对象组。若未配置,则不显示该字段 |
Ingress interface |
SNAT规则的入接口过滤条件。若未配置,则不显示该字段 |
Egress interface |
SNAT规则的出接口过滤条件。若未配置,则不显示该字段 |
Action |
SNAT规则的源地址转换方式,取值包括: · No action:SNAT规则中未配置地址转换方式 · Static:静态地址转换方式,即内部网络和外部网络之间的地址映射关系由配置确定 · Dynamic:动态地址转换方式,但是不转换端口号 · Dynamic-port:动态地址转换方式,同时对IP地址和端口号进行转换 · NO-NAT:不对符合SNAT规则中匹配条件的报文进行目的地址转换,也不使用其他优先级较低的NAT规则进行目的地址转换 若未配置,则不显示该字段 |
ActionRef |
SNAT规则中action使用的公网资源来源信息: · xxx:表示action引用的对象组名称,即引用对象组中的地址作为转换后的公网地址 · Egress-if-ip:引用报文出接口的主IP地址作为转换后的公网地址 |
Port range |
转换后的端口号范围。若未配置,则不显示该字段 |
Port block size |
转换后的端口块大小。若未配置,则不显示该字段 |
Extended block number |
增量端口块个数。若未配置,则不显示该字段 |
Port-preserved |
PAT方式下,是否尽量不转换端口。若其值为“Y”,则表示PAT方式下分配端口时尽量不转换端口;若其值为“N”,则允许并接受PAT方式下分配端口时转换端口。若未配置,则不显示该字段 |
Global address conflict |
公网地址是否存在冲突 · Existent:表示存在冲突 · Nonexistent:表示不存在冲突 |
Port alloc split |
(暂不支持)RBM双机组网下,NAT地址的端口资源是否做拆分。若未配置端口资源拆分,则不显示该字段: · Low:表示使用数值较小的端口资源 · High:表示使用数值较大的端口资源 |
RBM VRRP VRID |
(暂不支持)RBM双机组网下,SNAT规则绑定的VRRP备份组ID。若未配置,则不显示该字段 |
NAT count |
SNAT规则地址转换的计数信息 |
Config status |
SNAT规则的实际生效状态: · Active:表示生效 · Inactive:表示不生效 |
Reasons for inactive status |
当Config status字段为Inactive时,显示SNAT规则不生效的原因: · No action:未配置SNAT规则中的地址转换方式 · No source-ip:未配置SNAT规则中的源地址过滤条件 · No destination-ip:未配置SNAT规则中的目的地址过滤条件 · The source object group contains object types that are not supported by SNAT:源地址过滤条件引用的对象组中包含SNAT不支持的对象类型 · The total number of addresses in the source object groups for packet matching exceeds the upper limit:源地址过滤条件引用的对象组的地址总数超过限制 · The destination object group contains object types that are not supported by SNAT:目的地址过滤条件引用的对象组中包含SNAT不支持的对象类型 · The total number of addresses in the destination object groups for packet matching exceeds the upper limit:目的地址过滤条件引用的对象组的地址总数超过限制 · The object group for source address translation contains object types that are not supported by SNAT:源地址转换方式引用的对象组中包含SNAT不支持的对象类型 · The SNAT rule is disabled:SNAT规则被禁用 · The ingress interface is deactivated:SNAT规则中的入接口过滤条件所关联的接口未激活 · The egress interface is deactivated:SNAT规则中的出接口过滤条件所关联的接口未激活 · The total number of addresses in the object group for address translation exceeds the limit:用于地址转换的对象组中地址总数超限 · The number of addresses in an object of the object groups for address translation exceeds the upper limit:用于地址转换的对象组中某个对象的地址数超过限制 · The number of addresses in an object of the source or destination object groups exceeds the upper limit:源或目的地址过滤条件引用的对象组中某个对象的地址数超过限制 · The virtual address group does not exist:虚拟地址组不存在 · The number of addresses in the object group is 0:转换方式中的地址个数为0 · The number of addresses in the source object group is 0:源地址过滤条件中的地址个数为0 · The number of addresses in the destination object group is 0:目的地址过滤条件中的地址个数为0. · No available service objects for the service type packet match criterion:service类型的过滤条件中没有可用的服务对象 |
【相关命令】
· display nat all
· display snat-rule
dnat-rule move命令用来修改DNAT规则的优先级顺序。
【命令】
dnat-rule move { id rule1-id | name rule1-name } { { after | before } { id rule2-id | name rule2-name } | bottom | top }
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
id rule1-id:指定待移动的DNAT规则的ID,rule1-id表示DNAT规则的ID,取值范围为1~5000。
name rule1-name:指定待移动的DNAT规则的名称,rule1-name表示DNAT规则的名称,为1~127个字符的字符串,不区分大小写。
after:将待移动规则后置,即将规则rule1-name/rule1-id移动到规则rule2-name/rule2-id后面。
before:将待移动规则前置,即将规则rule1-name/rule1-id移动到规则rule2-name/rule2-id前面。
id rule2-id:指定待移动的DNAT规则的参照规则的ID,rule2-id表示参照规则的ID,取值范围为1~5000。
name rule2-name:指定待移动的DNAT规则的参照规则的名称,rule1-name表示参照规则的名称,为1~127个字符的字符串,不区分大小写。
bottom:将待移动规则置底,即将规则移动到优先级最低的位置。
top:将待移动规则置顶,即将规则移动到优先级最高的位置。
【使用指导】
配置了多条DNAT规则时,如果希望提升命中次数较多的DNAT规则的优先级,则可以通过counting enable命令开启DNAT规则的命中统计功能,然后通过display dnat-rule命令查看各个DNAT规则的命中统计计数,再通过dnat-rule move命令提升命中次数较多的DNAT规则的优先级。从而减少匹配次数,提升地址转换效率。
通过本命令调整DNAT规则的优先级顺序时,需要注意:
· 通过本命令只能调整已经存在的DNAT规则的优先级顺序。
· 待移动DNAT规则与目的DNAT规则不能为同一个规则。
【举例】
# 将DNAT规则aaa移动到DNAT规则bbb之后。
<Sysname> system-view
[Sysname] dnat-rule move name aaa after name bbb
【相关命令】
· display dnat-rule
· display nat all
dnat-rule name命令用来创建DNAT规则,并进入DNAT规则视图。如果指定的DNAT规则已经存在,则直接进入DNAT规则视图。
undo dnat-rule命令用来删除指定的DNAT规则。
【命令】
dnat-rule name rule-name [ id rule-id ]
undo dnat-rule { id rule-id | name rule-name }
【缺省情况】
不存在DNAT规则。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
rule-name:指定DNAT规则的名称。rule-name表示DNAT规则的名称,为1~127个字符的字符串,不区分大小写,若要使用“\”或“"”,则必须在输入时使用转义操作符“\”。如果该字符串中包含空格,需要在字符串的首末添加英文格式的引号,形如“xxx xxx”。DNAT规则的名称全局唯一,且DNAT规则名称与ID一一对应,不同名称的规则不能使用同一个ID编号。
id rule-id:指定DNAT规则的ID。取值范围为1~5000。创建DNAT规则时如果未指定本参数,则系统会自动为该规则设置ID值。
【使用指导】
当前支持两种NAT技术的实现方案,即全局NAT和接口NAT。全局NAT技术相比接口NAT技术,有着更为强大的网络适应性和可维护性。原因在于,全局NAT规则的作用范围是设备整体,能对所有接口上匹配NAT规则的流量进行地址转换。而接口NAT规则的作用范围是单个接口,只能对指定皆苦上匹配NAT规则的流量进行地址转换。因此,在网络拓扑多变的环境中,全局NAT无需更改配置即可很好地适应流量出入接口的变化;而接口NAT面对这类情况往往需要更改配置,带来管理和维护的负担。
全局NAT包含两种转换方式:SNAT(Source Network Address Translation,源地址转换)和DNAT(Destination Network Address Translation,目的地址转换),分别用于转换报文的源IP地址和目的IP地址。下面介绍DNAT的概念和工作机制等内容。
DNAT(Destination Network Address Translation,目的地址转换)指的是对报文中的目的地址进行转换,适用于内网服务器对外部网络用户提供服务的场景,例如内网服务器对外提供Web服务,或是FTP服务。DNAT对公网侧主机访问私网侧服务器的报文进行目的IP转换,使得公网侧主机可以使用私网侧服务器对外提供服务的公网IP访问相应的服务。
DNAT转换方式分为如下两种:
· IP:一对一目的地址转换方式,该方式仅转换IP地址,不转换端口。
· IP-port:一对一目的地址和端口转换方式,该方式同时转换IP地址和端口。适用于私网侧服务器通过不同的公网地址提供不同服务的场景。
DNAT功能通过DNAT规则实现,一条有效的DNAT规则中必须包括源地址过滤条件、目的地址过滤条件和转换方式,使用display dnat-rule命令可以查看DNAT规则的生效状态。
DNAT规则中过滤条件的作用以及必配/选配说明如表1-17所示。同一DNAT规则中添加了多个过滤条件时,DNAT规则仅对匹配所有过滤条件的报文进行地址转换,同一类型的过滤规则,与其中一个规则匹配即为通过匹配。
表1-17 DNAT规则中过滤条件的必配/选配说明
过滤条件 |
作用 |
必配/选配 |
source-ip |
过滤报文的源IP地址 |
必配 |
destination-ip |
过滤报文的目的IP地址 |
必配 |
service |
过滤报文的传输层协议、源/目的端口号 |
选配 |
ingress-interface |
过滤报文的入接口。目的地址转换场景下,仅对NAT设备上ingress-interface命令指定的接口接收到的、且通过其余过滤条件的报文进行地址转换 |
选配 |
egress-interface |
过滤报文的出接口 |
DNAT规则下不允许配置egress-interface |
DNAT规则的优先级由配置顺序决定,先配置的优先级高。即配置了多个DNAT规则时,NAT设备先使用优先级最高的DNAT规则尝试对报文进行地址转换。当报文匹配该DNAT规则中所有过滤条件时,NAT设备使用该DNAT规则中的转换方式进行地址转换。如果报文未能通过该DNAT规则中所有过滤条件的过滤,则NAT设备使用优先级次高的DNAT规则尝试进行地址转换。以此类推,如果报文无法通过优先级最低的DNAT规则中所有过滤条件的过滤,则NAT设备不会对报文进行地址转换。
用户可以通过dnat-rule move命令移动规则的位置来调整规则的配置顺序。实际生效的匹配顺序可通过display dnat-rule命令查看。
在HA+VRRP的高可靠性组网中,请在HA主管理设备上将DNAT规则与靠近外网的VRRP备份组绑定,否则可能会导致与HA直连的上行三层设备将下行报文发送给HA中的Backup设备,从而影响业务的正常运行。
缺省vSystem或者非缺省缺省vSystem下存在SNAT、DNAT或接口NAT配置时,无法配置nat global-policy命令。
【举例】
# 配置名为aaa、ID为1的DNAT规则,并进入该DNAT规则视图。
<Sysname> system-view
[Sysname] dnat-rule name aaa id 1
[Sysname-dnat-rule-aaa]
【相关命令】
· display dnat-rule
· display nat all
· dnat-rule move
dnat-rule rename命令用来重命名DNAT规则的名称。
【命令】
dnat-rule rename { id rule-id | name old-name } new-name
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
id rule-id:指定DNAT规则的ID。取值范围为1~5000。
name old-name:指定DNAT规则的原名称,old-name表示DNAT规则的原名称,为1~127个字符的字符串,不区分大小写。
new-name:指定DNAT规则的新名称,为1~127个字符的字符串,不区分大小写,不能与其他已存在的DNAT规则的名称相同。
【使用指导】
DNAT规则的名称能够帮助用户区分多个不同的DNAT规则,如果已有DNAT规则的名称不便于管理和记忆,可以通过本命令重命名DNAT规则的名称。
通过本命令只能对已经存在的DNAT规则进行重命名。
【举例】
# 将DNAT规则aaa重命名为aaa2。
<Sysname> system-view
[Sysname] dnat-rule rename name aaa aaa2
【相关命令】
· display nat all
· display dnat-rule
egress-interface命令用来配置SNAT规则中用于匹配报文出接口的过滤条件。
undo egress-interface命令用来删除SNAT规则中用于匹配报文出接口的过滤条件。
【命令】
egress-interface interface-type interface-number
undo egress-interface { interface-type interface-number | all }
【缺省情况】
SNAT规则中不存在用于匹配报文出接口的过滤条件。
【视图】
SNAT规则视图
【缺省用户角色】
network-admin
【参数】
interface-type interface-number:表示接口类型和接口编号。
all:表示所有出接口过滤条件。执行undo egress-interface all命令表示删除SNAT规则中所有的出接口过滤条件。
【使用指导】
过滤条件用于帮助SNAT规则筛选报文,SNAT规则仅对匹配过滤条件的报文进行地址转换。一条有效的SNAT规则中必须包括源地址过滤条件、目的地址过滤条件和转换方式,使用display snat-rule命令可以查看的SNAT规则的生效状态。
SNAT规则中过滤条件的作用以及必配/选配说明分别如表1-18所示。
添加了多个过滤条件时,SNAT规则仅对匹配所有过滤条件的报文进行地址转换,同一类型的过滤规则,与其中一个规则匹配即为通过匹配。
表1-18 SNAT规则中过滤条件的必配/选配说明
过滤条件 |
作用 |
必配/选配 |
source-ip |
过滤报文的源IP地址 |
必配 |
destination-ip |
过滤报文的目的IP地址 |
必配 |
service |
过滤报文的传输层协议、源/目的端口号 |
选配 |
ingress-interface |
过滤报文的入接口。源地址转换场景下,仅对NAT设备上ingress-interface命令指定的接口接收到的、且通过其余过滤条件的报文进行地址转换 |
选配 |
egress-interface |
过滤报文的出接口。源地址转换场景下,仅对出接口为NAT设备上egress-interface命令指定的接口、且通过其余过滤条件的报文进行地址转换 |
选配 |
【举例】
# 配置应用名称为aba的SNAT规则的出接口为GigabitEthernet1/0/1。
<Sysname> system-view
[Sysname] snat-rule name aba
[Sysname-snat-rule-aba] ingress-interface gigabitethernet 1/0/1
【相关命令】
· display nat all
· display snat-rule
ingress-interface命令用来配置DNAT规则中用于匹配报文入接口的过滤条件。
undo ingress-interface命令用来删除DNAT规则中用于匹配报文入接口的过滤条件。
【命令】
ingress-interface interface-type interface-number
undo ingress-interface { interface-type interface-number | all }
【缺省情况】
DNAT规则中不存在用于匹配报文入接口的过滤条件,即NAT设备会对所有接口接收到的且通过过滤规则的报文进行地址转换。
【视图】
DNAT规则视图
【缺省用户角色】
network-admin
【参数】
interface-type interface-number:表示接口类型和接口编号。
all:表示所有入接口过滤条件。执行undo ingress-interface all命令表示删除DNAT规则中所有的入接口过滤条件。
【使用指导】
过滤条件用于帮助DNAT规则筛选报文,DNAT规则仅对匹配过滤条件的报文进行地址转换。一条有效的DNAT规则中必须包括源地址过滤条件、目的地址过滤条件和转换方式,使用display dnat-rule命令可以查看的DNAT规则的生效状态。
DNAT规则中过滤条件的作用以及必配/选配说明分别如表1-19所示。
添加了多个过滤条件时,DNAT规则仅对匹配所有过滤条件的报文进行地址转换,同一类型的过滤规则,与其中一个规则匹配即为通过匹配。
表1-19 DNAT规则中过滤条件的必配/选配说明
过滤条件 |
作用 |
必配/选配 |
source-ip |
过滤报文的源IP地址 |
必配 |
destination-ip |
过滤报文的目的IP地址 |
必配 |
service |
过滤报文的传输层协议、源/目的端口号 |
选配 |
ingress-interface |
过滤报文的入接口。目的地址转换场景下,仅对NAT设备上ingress-interface命令指定的接口接收到的、且通过其余过滤条件的报文进行地址转换 |
选配 |
egress-interface |
过滤报文的出接口 |
DNAT规则下不允许配置egress-interface |
【举例】
# 在DNAT规则下配置报文入接口是GigabitEthernet1/0/1的过滤条件。
<Sysname> system-view
[Sysname] dnat-rule name aaa
[Sysname-dnat-rule-aaa] ingress-interface gigabitethernet 1/0/1
【相关命令】
· display dnat-rule
· display nat all
ingress-interface命令用来配置SNAT规则中用于匹配报文入接口的过滤条件。
undo ingress-interface命令用来删除SNAT规则中用于匹配报文入接口的过滤条件。
【命令】
ingress-interface interface-type interface-number
undo ingress-interface { interface-type interface-number | all }
【缺省情况】
SNAT规则中不存在用于匹配报文入接口的过滤条件,即NAT设备会对所有接口接收到的且通过过滤规则的报文进行地址转换。
【视图】
SNAT规则视图
【缺省用户角色】
network-admin
【参数】
interface-type interface-number:表示接口类型和接口编号。
all:表示所有入接口过滤条件。执行undo ingress-interface all命令表示删除SNAT规则中所有的入接口过滤条件。
【使用指导】
过滤条件用于帮助SNAT规则筛选报文,SNAT规则仅对匹配过滤条件的报文进行地址转换。一条有效的SNAT规则中必须包括源地址过滤条件、目的地址过滤条件和转换方式,使用display snat-rule命令可以查看的SNAT规则的生效状态。
SNAT规则中过滤条件的作用以及必配/选配说明分别如表1-20所示。
添加了多个过滤条件时,SNAT规则仅对匹配所有过滤条件的报文进行地址转换,同一类型的过滤规则,与其中一个规则匹配即为通过匹配。
表1-20 SNAT规则中过滤条件的必配/选配说明
过滤条件 |
作用 |
必配/选配 |
source-ip |
过滤报文的源IP地址 |
必配 |
destination-ip |
过滤报文的目的IP地址 |
必配 |
service |
过滤报文的传输层协议、源/目的端口号 |
选配 |
ingress-interface |
过滤报文的入接口。源地址转换场景下,仅对NAT设备上ingress-interface命令指定的接口接收到的、且通过其余过滤条件的报文进行地址转换 |
选配 |
egress-interface |
过滤报文的出接口。源地址转换场景下,仅对出接口为NAT设备上egress-interface命令指定的接口、且通过其余过滤条件的报文进行地址转换 |
选配 |
【举例】
# 在SNAT规则下配置报文入接口是GigabitEthernet1/0/1的过滤条件。
<Sysname> system-view
[Sysname] snat-rule name aaa
[Sysname-snat-rule-aaa] ingress-interface gigabitethernet 1/0/1
【相关命令】
· display dnat-rule
· display nat all
· display snat-rule
nat log port-alloc-fail命令用来开启NAT端口分配失败的日志功能。
undo nat log port-alloc-fail命令用来关闭NAT端口分配失败的日志功能。
【命令】
nat log port-alloc-fail
undo nat log port-alloc-fail
【缺省情况】
NAT端口分配失败的日志功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
开启本功能后,当动态方式的NAT地址转换发生端口分配失败的情况时,系统会输出端口分配失败的日志。通常,端口块中所有的端口资源都被占用时会导致端口分配失败。
只有开启NAT日志功能(通过nat log enable命令)之后,本命令才能生效。
【举例】
# 开启NAT端口分配失败的日志功能。
<Sysname> system-view
[Sysname] nat log port-alloc-fail
【相关命令】
· display nat all
· display nat log
· nat log enable
nat log port-block port-usage threshold命令用来开启NAT端口块中端口使用率的日志信息功能,并设置NAT端口使用率的阈值。
undo nat log port-block port-usage threshold命令用来关闭NAT端口块中端口使用率的日志信息功能。
【命令】
nat log port-block port-usage threshold value
undo nat log port-block port-usage threshold
【缺省情况】
NAT端口块中端口使用率的日志信息功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
value:告警阈值,取值范围为40~100,单位为百分比。
【使用指导】
开启本功能后,当端口块中端口数的使用率超过设定的百分比时,系统将会输出日志信息。
只有开启NAT日志功能(通过nat log enable命令)之后,本命令才能生效。
【举例】
# 开启NAT端口块中端口使用率的日志信息功能,并设置NAT端口使用率的阈值为90%。
<Sysname> system-view
[Sysname] nat log port-block port-usage threshold 90
【相关命令】
· display nat all
· display nat log
· nat log enable
nat log port-block usage threshold命令用来配置NAT端口块使用率的阈值。
undo nat log port-block usage threshold命令恢复缺省情况。
【命令】
nat log port-block usage threshold value
undo nat log port-block usage threshold
【缺省情况】
NAT端口块使用率的阈值为90%。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
value:端口块使用率的阈值,取值范围为40~100,单位为百分比。
【使用指导】
当端口块的使用率超过设定的百分比时,系统将会输出日志信息。
只有开启NAT日志功能(通过nat log enable命令)之后,本命令才能生效。
【举例】
# 配置NAT端口块的使用率告警阈值为80%。
<Sysname> system-view
[Sysname] nat log port-block usage threshold 80
【相关命令】
· display nat all
· display nat log
· nat log enable
nat log port-block-alloc-fail命令用来开启NAT端口块分配失败的日志功能。
undo nat log port-block-alloc-fail命令用来关闭NAT端口块分配失败的日志功能。
【命令】
nat log port-block-alloc-fail
undo nat log port-block-alloc-fail
【缺省情况】
NAT端口块分配失败的日志功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
开启本功能后,当NAT端口块地址转换发生端口块分配失败的情况时,系统会输出端口块分配失败的日志。
只有开启NAT日志功能(通过nat log enable命令)之后,本命令才能生效。
【举例】
# 开启NAT端口块分配失败的日志功能。
<Sysname> system-view
[Sysname] nat log port-block-alloc-fail
【相关命令】
· display nat all
· display nat log
· nat log enable
nat log port-block-assign命令用来开启端口块分配的NAT用户日志功能。
undo nat log port-block-assign命令用来关闭端口块分配的NAT用户日志功能。
【命令】
nat log port-block-assign
undo nat log port-block-assign
【缺省情况】
端口块分配的NAT用户日志功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
端口块静态映射方式下,在某私网IP地址的第一个新建连接通过端口块进行地址转换时,如果开启了端口块分配的NAT用户日志功能,则会输出日志。
端口块动态映射方式下,在为某私网IP地址分配端口块或增量端口块时,如果开启了端口块分配的NAT用户日志功能,则会输出日志。
只有开启NAT日志功能(通过nat log enable命令)之后,端口块分配的NAT用户日志功能才能生效。
【举例】
# 开启端口块分配的NAT用户日志功能。
<Sysname> system-view
[Sysname] nat log port-block-assign
【相关命令】
· display nat all
· display nat log
· nat log enable
nat log port-block-withdraw命令用来开启端口块回收的NAT用户日志功能。
undo nat log port-block-withdraw命令用来关闭端口块回收的NAT用户日志功能。
【命令】
nat log port-block-withdraw
undo nat log port-block-withdraw
【缺省情况】
端口块回收的NAT用户日志功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
端口块静态映射方式下,在某私网IP地址的最后一个连接拆除时,如果开启了端口块回收的NAT用户日志功能,则会输出日志。
端口块动态映射方式下,在释放端口块资源(并删除端口块表项)时,如果开启了端口块回收的NAT用户日志功能,则会输出日志。
只有开启NAT日志功能(通过nat log enable命令)之后,端口块回收的NAT用户日志功能才能生效。
【举例】
# 开启端口块回收的NAT用户日志功能。
<Sysname> system-view
[Sysname] nat log port-block-withdraw
【相关命令】
· display nat all
· display nat log
· nat log enable
nat port-block synchronization enable命令用来开启NAT端口块表项热备份功能。
undo nat port-block synchronization enable命令用来关闭NAT端口块表项热备份功能。
【命令】
nat port-block synchronization enable
undo nat port-block synchronization enable
【缺省情况】
NAT端口块表项热备份功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
在业务热备份环境中,通过开启NAT端口块表项热备份功能,可以实现主备切换后动态NAT端口块表项一致。
当前仅支持在高可靠性双机热备组网中对NAT端口块表项进行热备。关于高可靠性双机热备的详细介绍,请参见请“可靠性配置指导”中的“高可靠性”。
【举例】
# 开启NAT业务热备份功能。
<Sysname> system-view
[Sysname] nat port-block synchronization enable
service命令用来配置DNAT规则中用于匹配报文传输层协议和端口号的过滤条件。
undo service命令用来删除DNAT规则中用于匹配报文传输层协议和端口号的过滤条件。
【命令】
service object-group object-group-name
undo service { object-group object-group-name | all }
【缺省情况】
DNAT规则中不存在用于匹配报文传输层协议和端口号的过滤条件。
【视图】
DNAT规则视图
【缺省用户角色】
network-admin
【参数】
object-group-name:指定DNAT规则引用的服务对象组,object-group-name表示服务对象组的名称,为1~31个字符的字符串,不区分大小写。如果该字符串中包含空格,需要在字符串的首末添加英文格式的引号,形如“xxx xxx”。指定的对象组必须为已经存在的服务对象组,否则配置将失败。
all:表示所有用于匹配报文传输层协议和端口号的过滤条件。执行undo service all命令表示删除DNAT规则中所有用于匹配报文传输层协议和端口号的过滤条件。
【使用指导】
过滤条件用于帮助DNAT规则筛选报文,DNAT规则仅对匹配过滤条件的报文进行地址转换。一条有效的DNAT规则中必须包括源地址过滤条件、目的地址过滤条件和转换方式,使用display dnat-rule命令可以查看的DNAT规则的生效状态。
DNAT规则中过滤条件的作用以及必配/选配说明分别如表1-21所示。
添加了多个过滤条件时,DNAT规则仅对匹配所有过滤条件的报文进行地址转换,同一类型的过滤规则,与其中一个规则匹配即为通过匹配。
表1-21 DNAT规则中过滤条件的必配/选配说明
过滤条件 |
作用 |
必配/选配 |
source-ip |
过滤报文的源IP地址 |
必配 |
destination-ip |
过滤报文的目的IP地址 |
必配 |
service |
过滤报文的传输层协议、源/目的端口号 |
选配 |
ingress-interface |
过滤报文的入接口 |
选配 |
egress-interface |
过滤报文的出接口 |
DNAT规则下不允许配置egress-interface |
【举例】
# 在DNAT规则下配置用于匹配报文传输层协议和端口号的过滤条件,这些过滤条件引用名为service1、service2和service3的服务对象组来匹配报文的传输层协议和端口号。
<Sysname> system-view
[Sysname] dnat-rule name aaa
[Sysname-dnat-rule-aaa] service object-group service1
[Sysname-dnat-rule-aaa] service object-group service2
[Sysname-dnat-rule-aaa] service object-group service3
【相关命令】
· display dnat-rule
· display nat all
· object-group(安全命令参考/对象组)
reset dnat-rule count statistics命令用来清除DNAT规则的转换计数信息。
【命令】
reset dnat-rule count statistics name rule-name
【视图】
用户视图
【缺省用户角色】
network-admin
【参数】
name rule-name:删除指定DNAT规则的转换计数信息。rule-name表示DNAT规则的名称,为1~127个字符的字符串,不区分大小写。
【举例】
# 清除规则名为drule1的DNAT规则的转换计数信息。
<Sysname> reset dnat-rule count statistics name drule1
【相关命令】
· display dnat-rule
reset snat-rule count statistics命令用来清除SNAT规则的转换计数信息。
【命令】
reset snat-rule count statistics name rule-name
【视图】
用户视图
【缺省用户角色】
network-admin
【参数】
name rule-name:删除指定SNAT规则的转换计数信息。rule-name表示SNAT规则的名称,为1~127个字符的字符串,不区分大小写。
【举例】
# 清除规则名为srule1的SNAT规则的转换计数信息。
<Sysname> reset snat-rule count statistics name srule1
【相关命令】
· display snat-rule
service命令用来配置SNAT规则中用于匹配报文传输层协议和端口号的过滤条件。
undo service命令用来删除SNAT规则中用于匹配报文传输层协议和端口号的过滤条件。
【命令】
service object-group object-group-name
undo service { all | object-group object-group-name }
【缺省情况】
SNAT规则中不存在用于匹配报文传输层协议和端口号的过滤条件。
【视图】
SNAT规则视图
【缺省用户角色】
network-admin
【参数】
object-group-name:指定传输层协议和端口号过滤条件引用的服务对象组,object-group-name表示服务对象组的名称,为1~31个字符的字符串,不区分大小写。如果该字符串中包含空格,需要在字符串的首末添加英文格式的引号,形如“xxx xxx”。指定的对象组必须为已经存在的服务对象组,否则配置将失败。
all:表示所有用于匹配报文传输层协议和端口号的过滤条件。执行undo service all命令表示删除SNAT规则中所有用于匹配报文传输层协议和端口号的过滤条件。
【使用指导】
过滤条件用于帮助SNAT规则筛选报文,SNAT规则仅对匹配过滤条件的报文进行地址转换。一条有效的SNAT规则中必须包括源地址过滤条件、目的地址过滤条件和转换方式,使用display snat-rule命令可以查看的SNAT规则的生效状态。
SNAT规则中过滤条件的作用以及必配/选配说明分别如表1-22所示。
添加了多个过滤条件时,SNAT规则仅对匹配所有过滤条件的报文进行地址转换,同一类型的过滤规则,与其中一个规则匹配即为通过匹配。
表1-22 SNAT规则中过滤条件的必配/选配说明
过滤条件 |
作用 |
必配/选配 |
source-ip |
过滤报文的源IP地址 |
必配 |
destination-ip |
过滤报文的目的IP地址 |
必配 |
service |
过滤报文的传输层协议、源/目的端口号 |
选配 |
ingress-interface |
过滤报文的入接口 |
选配 |
egress-interface |
过滤报文的出接口 |
选配 |
【举例】
# 在SNAT规则下配置用于匹配报文传输层协议和端口号的过滤条件,这些过滤条件引用名为service1、service2和service3的服务对象组来匹配报文的传输层协议和端口号。
<Sysname> system-view
[Sysname] snat-rule name aba
[Sysname-snat-rule-aba] service object-group service1
[Sysname-snat-rule-aba] service object-group service2
[Sysname-snat-rule-aba] service object-group service3
【相关命令】
· display nat all
· display snat-rule
· object-group(安全命令参考/对象组)
snat-rule move命令用来修改SNAT规则的优先级顺序。
【命令】
snat-rule move { id rule1-id | name rule1-name } { { after | before } { id rule2-id | name rule2-name } | bottom | top }
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
id rule1-id:指定待移动的SNAT规则的ID。取值范围为1~5000。
name rule1-name:指定待移动的SNAT规则的名称,rule1-name表示SNAT规则的名称,为1~127个字符的字符串,不区分大小写。
after:将待移动规则后置,即将规则rule1-name/rule1-id移动到规则rule2-name/rule2-id后面。
before:将待移动规则前置,即将规则rule1-name/rule1-id移动到规则rule2-name/rule2-id前面。
id rule2-id:指定待移动的SNAT规则的参照规则的ID。取值范围为1~5000。
name rule2-name:指定待移动的SNAT规则的参照规则的名称,rule1-name表示参照规则的名称,为1~127个字符的字符串,不区分大小写。
bottom:将待移动规则置底,即将规则移动到优先级最低的位置。
top:将待移动规则置顶,即将规则移动到优先级最高的位置。
【使用指导】
配置了多条SNAT规则时,如果希望提升命中次数较多的SNAT规则的优先级,则可以通过counting enable命令开启SNAT规则的命中统计功能,然后通过display snat-rule命令查看各个SNAT规则的命中统计计数,再通过snat-rule move命令提升命中次数较多的SNAT规则的优先级。从而减少匹配次数,提升地址转换效率。
通过本命令调整SNAT规则的优先级顺序时,需要注意:
· 通过本命令只能调整已经存在的SNAT规则的优先级顺序。
· 待移动规则与目的移动规则不能为同一个规则。
【举例】
# 将SNAT规则aaa移动到SNAT规则bbb之后。
<Sysname> system-view
[Sysname] snat-rule move name aaa after name bbb
【相关命令】
· counting enable
· display nat all
· display snat-rule
snat-rule name命令用来创建SNAT规则,并进入SNAT规则视图。如果指定的SNAT规则已经存在,则直接进入SNAT规则视图。
undo snat-rule命令用来删除指定的SNAT规则。
【命令】
snat-rule name rule-name [ id rule-id ]
undo snat-rule { id rule-id | name rule-name }
【缺省情况】
不存在SNAT规则。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
rule-name:指定SNAT规则的名称。rule-name表示SNAT规则的名称,为1~127个字符的字符串,不区分大小写,若要使用“\”或“"”,则必须在输入时使用转义操作符“\”。如果该字符串中包含空格,需要在字符串的首末添加英文格式的引号,形如“xxx xxx”。SNAT规则的名称全局唯一,且SNAT规则名称与ID一一对应,不同名称的规则不能使用同一个ID编号。
id rule-id:指定SNAT规则的ID。取值范围为1~5000。创建SNAT规则时如果未指定本参数,则系统会自动为该规则设置ID值。
【使用指导】
当前支持两种NAT技术的实现方案,即全局NAT和接口NAT。全局NAT技术相比接口NAT技术,有着更为强大的网络适应性和可维护性。原因在于,全局NAT规则的作用范围是设备整体,能对所有接口上匹配NAT规则的流量进行地址转换。而接口NAT规则的作用范围是单个接口,只能对指定皆苦上匹配NAT规则的流量进行地址转换。因此,在网络拓扑多变的环境中,全局NAT无需更改配置即可很好地适应流量出入接口的变化;而接口NAT面对这类情况往往需要更改配置,带来管理和维护的负担。
全局NAT包含两种转换方式:SNAT(Source Network Address Translation,源地址转换)和DNAT(Destination Network Address Translation,目的地址转换),分别用于转换报文的源IP地址和目的IP地址。下面介绍SNAT的概念和工作机制等内容。
SNAT(Source Network Address Translation,源地址转换)指的是对报文中的源地址进行转换,适用于内部主机主动访问外部网络中的主机或服务的场景,SNAT将私网IP转换成公网IP,使得私网用户可以使用转换后的公网IP访问Internet。
SNAT转换方式分为如下三种:
· Static:静态地址转换方式,该方式仅转换IP地址,不转换端口。静态地址转换方式的私网地址和公网地址的映射关系由配置确定。适用于公网IP地址数量充足、仅有少量私网用户访问Internet的场景。
· Dynamic-IP:动态地址转换方式,该方式仅转换IP地址,不转换端口,即转换后的端口号保持不变。适用于对私密性要求较高的业务场景。例如,金融行业客户要求隐藏内部地址,但是某些应用对端口号有固定要求,因此经过NAT转换后的端口号不能发生变化。
· Dynamic-Port:动态地址和端口转换方式,同时转换源IP地址和源端口号。动态地址和端口转换方式属于多对一的地址转换,它通过使用“IP地址+端口号”的形式进行转换,使多个私网用户可共用一个公网IP地址访问外网,实现了地址的复用,因此是地址转换实现的主要形式。
¡ 基于单个端口的动态地址和端口转换方式:NAT设备为用户分配公网IP地址和端口号,一个私网IP地址在一个时间段内独占一个公网IP地址和一个端口号。设备不支持EIM(Endpoint-Independent Mapping,不关心对端地址和端口转换模式)的话,不便于用户溯源。
¡ 基于端口块的动态地址和端口转换方式:NAT设备为用户分配公网IP地址的同时,会为该用户分配一个端口块,一个私网IP地址在一个时间段内独占一个公网IP地址的某个端口块。该种方式便于用户溯源,广泛应用在运营商环境中。
SNAT公网资源包括转换后的公网IP地址和端口,其来源如表1-23所示:
表1-23 SNAT公网资源的来源
SNAT转换方式 |
公网资源的来源 |
静态地址转换方式 |
action snat object-group object-group-name static命令引用的IPv4地址对象组 |
动态地址转换方式 |
action snat object-group object-group-name dynamic命令引用的IPv4地址对象组 |
基于单个端口的动态地址和端口转换方式 |
action snat object-group object-group-name dynamic-port port-range start-port-number end-port-number [ port-preserved ]命令引用的IPv4地址对象组,以及该命令指定的端口资源 |
基于端口块的动态地址和端口转换方式 |
action snat object-group object-group-name dynamic-port port-range start-port-number end-port-number port-block-size block-size [ extended-block-number extended-block-number ]命令引用的IPv4地址对象组,以及该命令指定的端口块资源 |
基于单个端口的动态地址和端口转换方式 |
action snat egress-if-ip dynamic-port [ port-preserved ]命令使用报文出接口的地址作为转换后的地址 |
SNAT功能通过SNAT规则实现,一条有效的SNAT规则中必须包括源地址过滤条件、目的地址过滤条件和转换方式,使用display snat-rule命令可以查看SNAT规则的生效状态。
SNAT规则中过滤条件的作用以及必配/选配说明如表1-24所示。同一SNAT规则中添加了多个过滤条件时,SNAT规则仅对匹配所有过滤条件的报文进行地址转换,同一类型的过滤规则,与其中一个规则匹配即为通过匹配。
表1-24 SNAT规则中过滤条件的必配/选配说明
过滤条件 |
作用 |
必配/选配 |
source-ip |
过滤报文的源IP地址 |
必配 |
destination-ip |
过滤报文的目的IP地址 |
必配 |
service |
过滤报文的传输层协议、源/目的端口号 |
选配 |
ingress-interface |
过滤报文的入接口。源地址转换场景下,仅对NAT设备上ingress-interface命令指定的接口接收到的、且通过其余过滤条件的报文进行地址转换 |
选配 |
egress-interface |
过滤报文的出接口。源地址转换场景下,仅对出接口为NAT设备上egress-interface命令指定的接口、且通过其余过滤条件的报文进行地址转换 |
选配 |
SNAT规则的优先级由配置顺序决定,先配置的优先级高。即配置了多个SNAT规则时,NAT设备先使用优先级最高的SNAT规则尝试对报文进行地址转换。当报文匹配该SNAT规则中所有过滤条件时,NAT设备使用该SNAT规则中的转换方式进行地址转换。如果报文未能通过该SNAT规则中所有过滤条件的过滤,则NAT设备使用优先级次高的SNAT规则尝试进行地址转换。以此类推,如果报文无法通过优先级最低的SNAT规则中所有过滤条件的过滤,则NAT设备不会对报文进行地址转换。
用户可以通过snat-rule move命令移动规则的位置来调整规则的配置顺序。实际生效的匹配顺序可通过display snat-rule命令查看。
在HA+VRRP的高可靠性组网中,请在HA主管理设备上将SNAT规则与靠近外网的VRRP备份组绑定,否则可能会导致与HA直连的上行三层设备将下行报文发送给HA中的Backup设备,从而影响业务的正常运行。
缺省vSystem或者非缺省缺省vSystem下存在SNAT、DNAT或接口NAT配置时,无法配置nat global-policy命令。
【举例】
# 在系统视图下配置一个名为aba、ID为1的SNAT规则,并进入该SNAT规则视图。
<Sysname> system-view
[Sysname] snat-rule name aba id 1
[Sysname-snat-rule-aba]
【相关命令】
· display nat all
· display snat-rule
· snat-rule move
snat-rule rename命令用来重命名SNAT规则。
【命令】
snat-rule rename { id rule-id | name old-name } new-name
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
id rule-id:指定SNAT规则的ID。取值范围为1~5000。
name old-name:指定SNAT规则的原名称,old-name表示SNAT规则的原名称,为1~127个字符的字符串,不区分大小写。
new-name:指定SNAT规则的新名称,为1~127个字符的字符串,不区分大小写,不能与其他已存在的SNAT规则的名称相同。
【使用指导】
SNAT规则的名称能够帮助用户区分多个不同的SNAT规则,如果已有SNAT规则的名称不便于管理和记忆,可以通过本命令重命名SNAT规则的名称。
重命名SNAT规则的名称不会影响业务。
通过本命令只能对已经存在的SNAT规则进行重命名。
【举例】
# 将SNAT规则aaa重命名为aaa2。
<Sysname> system-view
[Sysname] snat-rule rename name aaa aaa2
【相关命令】
· display nat all
· display snat-rule
source-ip命令用来配置DNAT规则中用于匹配报文源IP地址的过滤条件。
undo source-ip命令用来删除DNAT规则中用于匹配报文源IP地址的过滤条件。
【命令】
source-ip object-group object-group-name
undo source-ip { object-group object-group-name | all }
【缺省情况】
DNAT规则中不存在用于匹配报文源IP地址的过滤条件。
【视图】
DNAT规则视图
【缺省用户角色】
network-admin
【参数】
object-group-name:指定DNAT规则引用的源IPv4地址对象组名称,为1~63个字符的字符串,不区分大小写,且不能为字符串any。如果该字符串中包含空格,需要在字符串的首末添加英文格式的引号,形如“xxx xxx”。指定的对象组必须为已经存在的IPv4地址对象组,否则配置将失败。
all:表示所有源IP地址过滤条件。执行undo source-ip all命令表示删除DNAT规则中所有的源IP地址过滤条件。
【使用指导】
过滤条件用于帮助DNAT规则筛选报文,DNAT规则仅对匹配过滤条件的报文进行地址转换。一条有效的DNAT规则中必须包括源地址过滤条件、目的地址过滤条件和转换方式,使用display dnat-rule命令可以查看的DNAT规则的生效状态。
DNAT规则中过滤条件的作用以及必配/选配说明分别如表1-25所示。
添加了多个过滤条件时,DNAT规则仅对匹配所有过滤条件的报文进行地址转换,同一类型的过滤规则,与其中一个规则匹配即为通过匹配。
表1-25 DNAT规则中过滤条件的必配/选配说明
过滤条件 |
作用 |
必配/选配 |
source-ip |
过滤报文的源IP地址 |
必配 |
destination-ip |
过滤报文的目的IP地址 |
必配 |
service |
过滤报文的传输层协议、源/目的端口号 |
选配 |
ingress-interface |
过滤报文的入接口。目的地址转换场景下,仅对NAT设备上ingress-interface命令指定的接口接收到的、且通过其余过滤条件的报文进行地址转换 |
选配 |
egress-interface |
过滤报文的出接口 |
DNAT规则下不允许配置egress-interface |
在DNAT规则下添加源IP地址过滤条件时,如果仅允许使用特定源IP地址的用户访问内部服务器,则源IP地址过滤条件引用的对象组中包含的地址需要与特定的源IP地址相同。如果不会对访问内部服务器的用户进行限制,仍需要在DNAT规则中添加一条允许所有源IP地址通过过滤的过滤条件,该过滤条件中引用的地址对象组中的对象是通过network subnet 0.0.0.0 0命令创建的。
source-ip命令引用地址对象组时,需要注意:
· 引用的地址对象组必须已经存在,否则配置将失败。
· 引用的地址对象组中的对象必须通过如下方式创建,否则会导致DNAT规则不生效:
¡ [ object-id ] network host address ip-address
¡ [ object-id ] network subnet ip-address { mask-length | mask }
¡ [ object-id ] network range ip-address1 ip-address2
关于以上命令的详细介绍,请参见“安全命令参考”中的“对象组”。
# 在DNAT规则aaa下配置源IP地址过滤条件,这些过滤条件引用名为srcIP1、srcIP2和srcIP3的地址对象组来匹配报文的源IP地址。
<Sysname> system-view
[Sysname] dnat-rule name aaa
[Sysname-dnat-rule-aaa] source-ip object-group srcip1
[Sysname-dnat-rule-aaa] source-ip object-group srcip2
[Sysname-dnat-rule-aaa] source-ip object-group srcip3
【相关命令】
· destination-ip
· display dnat-rule
· display nat all
· ingress-interface
· object-group(安全命令参考/对象组)
· service
source-ip命令用来配置SNAT规则中用于匹配报文源IP地址的过滤条件。
undo source-ip命令用来删除SNAT规则中用于匹配报文源IP地址的过滤条件。
【命令】
source-ip object-group object-group-name
undo source-ip { all | object-group object-group-name }
【缺省情况】
SNAT规则中不存在用于匹配报文源IP地址的过滤条件。
【视图】
SNAT规则视图
【缺省用户角色】
network-admin
【参数】
object-group-name:指定源IP地址过滤条件引用的IPv4地址对象组名称,为1~63个字符的字符串,不区分大小写,且不能为字符串any。如果该字符串中包含空格,需要在字符串的首末添加英文格式的引号,形如“xxx xxx”。指定的对象组必须为已经存在的IPv4地址对象组,否则配置将失败。
all:表示所有源IP地址过滤条件。执行undo source-ip all命令表示删除SNAT规则中所有的源IP地址过滤条件。
【使用指导】
过滤条件用于帮助SNAT规则筛选报文,SNAT规则仅对匹配过滤条件的报文进行地址转换。一条有效的SNAT规则中必须包括源地址过滤条件、目的地址过滤条件和转换方式,使用display snat-rule命令可以查看的SNAT规则的生效状态。
SNAT规则中过滤条件的作用以及必配/选配说明分别如表1-26所示。
添加了多个过滤条件时,SNAT规则仅对匹配所有过滤条件的报文进行地址转换,同一类型的过滤规则,与其中一个规则匹配即为通过匹配。
表1-26 SNAT规则中过滤条件的必配/选配说明
过滤条件 |
作用 |
必配/选配 |
source-ip |
过滤报文的源IP地址 |
必配 |
destination-ip |
过滤报文的目的IP地址 |
必配 |
service |
过滤报文的传输层协议、源/目的端口号 |
选配 |
ingress-interface |
过滤报文的入接口。源地址转换场景下,仅对NAT设备上ingress-interface命令指定的接口接收到的、且通过其余过滤条件的报文进行地址转换 |
选配 |
egress-interface |
过滤报文的出接口。源地址转换场景下,仅对出接口为NAT设备上egress-interface命令指定的接口、且通过其余过滤条件的报文进行地址转换 |
选配 |
source-ip命令引用地址对象组时,需要注意:
· 引用的地址对象组中的对象必须通过如下方式创建,否则会导致SNAT规则不生效:
¡ [ object-id ] network host address ip-address
¡ [ object-id ] network subnet ip-address { mask-length | mask }
¡ [ object-id ] network range ip-address1 ip-address2
关于以上命令的详细介绍,请参见“安全命令参考”中的“对象组”。
同一NAT规则下配置或删除过滤条件时,需要注意:
· 同一SNAT规则下已配置静态地址转换动作时,无法修改或删除源地址过滤条件。如果希望修改或删除某个SNAT规则下的源地址过滤条件,请先删除该SNAT规则下的静态地址转换动作。
【举例】
# 在SNAT规则aba下配置源IP地址过滤条件,这些过滤条件引用名为srcip1、srcip2和srcip3的地址对象组来匹配报文的源IP地址。
<Sysname> system-view
[Sysname] snat-rule name aba
[Sysname-snat-rule-aba] source-ip object-group srcip1
[Sysname-snat-rule-aba] source-ip object-group srcip2
[Sysname-snat-rule-aba] source-ip object-group srcip3
【相关命令】
· destination-ip
· display nat all
· display snat-rule
· egress-interface
· ingress-interface
· object-group(安全命令参考/对象组)
· service
status enable命令用来启用SNAT/DNAT规则。
undo status enable命令用来禁用SNAT/DNAT规则。
【命令】
status enable
undo status enable
【缺省情况】
DNAT/SNAT规则处于启用状态。
【视图】
DNAT规则视图
SNAT规则视图
【缺省用户角色】
network-admin
【使用指导】
创建SNAT/DNAT规则后,缺省情况下该规则处于启动状态。如果不希望某个SNAT/DNAT的配置生效,同时又希望保留SNAT/DNAT规则的配置,则可以通过配置undo status enable命令实现。
配置undo status enable命令后,相应的NAT规则将不再生效,但是不会将此NAT规则删除,可通过display snat-rule或display dnat-rule命令查看其生效状态。
如果不再需要某个SNAT/DNAT规则,需要执行undo snat-rule或undo dnat-rule命令才能将其删除。
【举例】
# 禁用名称为aba的SNAT规则。
<Sysname> system-view
[Sysname] snat-rule name aba
[Sysname-snat-rule-aba] undo status enable
【相关命令】
· display nat all
· display dnat-rule
· display snat-rule
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!