内网用户通过NAT地址访问内网服务器
1. 组网需求
· 某公司内部网络中有一台FTP服务器,地址为192.168.1.4/24。
· 该公司拥有两个外网IP地址:202.38.1.1和202.38.1.2。
需要实现如下功能:
· 外网主机可以通过202.38.1.2访问内网中的FTP服务器。
· 内网主机也可以通过202.38.1.2访问内网中的FTP服务器。
2. 组网图
图1-11 内网用户通过NAT地址访问内网服务器
3. 配置思路
该需求为典型的C-S模式的NAT hairpin应用,具体配置思路如下。
· 为使外网主机可以通过外网地址访问内网FTP服务器,需要在外网侧接口配置NAT内部服务器。
· 为使内网主机通过外网地址访问内网FTP服务器,需要在内网侧接口使能NAT hairpin功能。其中,目的IP地址转换通过匹配外网侧接口上的内部服务器配置来完成,源地址转换通过匹配内部服务器所在接口上的出方向动态地址转换或出方向静态地址转换来完成,本例中采用出方向动态地址转换配置。
4. 配置步骤
# 按照组网图配置各接口的IP地址,具体配置过程略。
# 配置ACL 2000,允许对内部网络中192.168.1.0/24网段的报文进行地址转换。
<Router> system-view
[Router] acl number 2000
[Router-acl-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Router-acl-basic-2000] quit
# 在接口GigabitEthernet1/2上配置NAT内部服务器,允许外网主机使用地址202.38.1.2访问内网FTP服务器,同时使得内网主机访问内网FTP服务器的报文可以进行目的地址转换。
[Router] interface gigabitethernet 1/2
[Router-GigabitEthernet1/2] nat server protocol tcp global 202.38.1.2 inside 192.168.1.4 ftp
# 在接口GigabitEthernet1/2上配置Easy IP方式的出方向动态地址转换,使得内网主机访问内网FTP服务器的报文可以使用接口GigabitEthernet1/2的IP地址进行源地址转换。
[Router-GigabitEthernet1/2] nat outbound 2000
[Router-GigabitEthernet1/2] quit
# 在接口GigabitEthernet1/1上使能NAT hairpin功能。
[Router] interface gigabitethernet 1/1
[Router-GigabitEthernet1/1] nat hairpin enable
[Router-GigabitEthernet1/1] quit
5. 验证配置
以上配置完成后,内网主机和外网主机均能够通过外网地址访问内网FTP Server。通过查看如下显示信息,可以验证以上配置成功。
[Router]display nat all
NAT outbound information:
There are 1 NAT outbound rules.
Interface: GigabitEthernet1/2
ACL: 2000 Address group: --- Port-preserved: N
NO-PAT: N Reversible: N
NAT internal server information:
There are 1 internal servers.
Interface: GigabitEthernet1/2
Protocol: 6(TCP)
Global IP/port: 202.38.1.2/21
Local IP/port: 192.168.1.4/21
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active: Disabled
NAT hairpinning:
There are 1 interfaces enabled with NAT hairpinning.
Interface: GigabitEthernet1/1
NAT mapping behavior:
Mapping mode: Address and Port-Dependent
ACL : ---
NAT ALG:
DNS: Enabled
FTP: Enabled
H323: Enabled
ICMP-ERROR: Enabled
# 通过以下显示命令,可以看到Host A访问FTP server时生成NAT会话信息。
[Router] display nat session verbose
Initiator:
Source IP/port: 192.168.1.2/1694
Destination IP/port: 202.38.1.2/21
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: TCP(6)
Responder:
Source IP/port: 192.168.1.4/21
Destination IP/port: 202.38.1.1/1025
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: TCP(6)
State: TCP_ESTABLISHED
Application: HTTP
Start time: 2012-08-15 14:53:29 TTL: 3597s
Interface(in) : GigabitEthernet1/1
Interface(out): GigabitEthernet1/1
Initiator->Responder: 7 packets 308 bytes
Responder->Initiator: 5 packets 312 bytes
Total sessions found: 1
1.11.8 内网用户通过NAT地址互访
1. 组网需求
某P2P应用环境中,内网中的客户端首先需要向外网服务器进行注册,外网服务器会记录客户端的IP地址和端口号。如果内网的一个客户端要访问内网的另一个客户端,首先需要向服务器获取对方的IP地址和端口号。
需要实现如下功能:
· 内网客户端可以向外网中的服务器注册,且注册为一个相同的外网地址。
· 内网客户端能够通过从服务器获得的IP地址和端口进行互访。
2. 组网图
图1-12 内网用户通过NAT地址互访
3. 配置思路
该需求为典型的P2P模式的NAT hairpin应用,具体配置思路如下。
· 内网中的客户端需要向外网中的服务器注册,因此需要进行源地址转换,可以通过在外网侧接口配置出方向动态地址转换实现。
· 服务器记录客户端的IP地址和端口号,且该地址和端口号是NAT转换后的。由于服务器记录的客户端IP地址和端口号需要供任意源地址访问,因此客户端地址的转换关系必须不关心对端地址,这可以通过配置EIM模式的动态地址转换实现。
· 内部主机通过外网地址进行互访,需要在内网侧接口使能NAT hairpin功能。
4. 配置步骤
# 按照组网图配置各接口的IP地址,具体配置过程略。
# 配置ACL 2000,允许对内部网络中192.168.1.0/24网段的报文进行地址转换。
<Router> system-view
[Router] acl number 2000
[Router-acl-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Router-acl-basic-2000] quit
# 在外网侧接口GigabitEthernet1/2上配置Easy IP方式的出方向动态地址转换,允许使用接口GigabitEthernet1/2的IP地址对内网访问外网的报文进行源地址转换,因为多个内部主机共用一个外网地址,因此需要配置为PAT方式,即转换过程中使用端口信息。
[Router] interface gigabitethernet 1/2
[Router-GigabitEthernet1/2] nat outbound 2000
[Router-GigabitEthernet1/2] quit
# 配置PAT方式下的地址转换模式为EIM,即只要是来自相同源地址和源端口号的且匹配ACL 2000的报文,不论其目的地址是否相同,通过PAT转换后,其源地址和源端口号都被转换为同一个外部地址和端口号。
[Router] nat mapping-behavior endpoint-independent acl 2000
# 在内网侧接口GigabitEthernet1/1上使能NAT hairpin功能。
[Router] interface gigabitethernet 1/1
[Router-GigabitEthernet1/1] nat hairpin enable
[Router-GigabitEthernet1/1] quit
5. 验证配置
以上配置完成后,Host A、Host B和Host C 分别向外网服务器注册之后,它们之间可以相互访问。通过查看如下显示信息,可以验证以上配置成功。
[Router] display nat all
NAT outbound information:
There are 1 NAT outbound rules.
Interface: GigabitEthernet1/2
ACL: 2000 Address group: --- Port-preserved: N
NO-PAT: N Reversible: N
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active: Disabled
NAT hairpinning:
There are 1 interfaces enabled with NAT hairpinning.
Interface: GigabitEthernet1/1
NAT mapping behavior:
Mapping mode: Endpoint-Independent
ACL : 2000
NAT ALG:
DNS: Enabled
FTP: Enabled
H323: Enabled
ICMP-ERROR: Enabled
# 通过以下显示命令,可以看到Client A访问Client B时生成NAT会话信息。
[Router] display nat session verbose
Initiator:
Source IP/port: 192.168.1.3/44929
Destination IP/port: 202.38.1.3/1
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: UDP(17)
Responder:
Source IP/port: 192.168.1.2/69
Destination IP/port: 202.38.1.3/1024
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: UDP(17)
State: UDP_READY
Application: TFTP
Start time: 2012-08-15 15:53:36 TTL: 46s
Interface(in) : GigabitEthernet1/1
Interface(out): GigabitEthernet1/1
Initiator->Responder: 1 packets 56 bytes
Responder->Initiator: 1 packets 72 bytes
Total sessions found: 1
1.11.9 地址重叠的两个VPN之间互访
1. 组网需求
某公司两个部门由于需要业务隔而分属不同的MPLS L3VPN,且两个部门内部使用了相同的子网地址空间。现在要求这两个部门的主机Host A 和Host B之间能够通过NAT地址互相访问。
2. 组网图
图1-13 地址重叠的两个内网之间互访
3. 配置思路
这是一个典型的两次NAT应用:两个VPN之间主机交互的报文的源IP地址和目的IP地址都需要转换,即需要在连接两个VPN的接口上先后进行两次NAT,这可以通过在NAT设备的两侧接口上分别配置静态地址转换实现。
4. 配置步骤
# 按照组网图配置各接口的VPN实例和IP地址,具体配置过程略。
<Router> system-view
# 配置VPN 1内的IP地址192.168.1.2到VPN 2内的IP地址172.16.1.2之间的静态地址转换映射。
[Router] nat static outbound 192.168.1.2 vpn-instance vpn1 172.16.1.2 vpn-instance vpn2
# 配置VPN 2内的IP地址192.168.1.2到VPN 1内的IP地址172.16.2.2之间的静态地址转换映射。
[Router] nat static outbound 192.168.1.2 vpn-instance vpn2 172.16.2.2 vpn-instance vpn1
# 在接口GigabitEthernet1/2上使能静态地址转换。
[Router] interface gigabitethernet 1/2
[Router-GigabitEthernet1/2] nat static enable
[Router-GigabitEthernet1/2] quit
# 在接口GigabitEthernet1/1上使能静态地址转换。
[Router] interface gigabitethernet 1/1
[Router-GigabitEthernet1/1] nat static enable
[Router-GigabitEthernet1/1] quit
5. 验证配置
以上配置完成后,Host A和Host B可以互通,且Host A的对外地址为172.16.1.2,Host B的对外地址为172.16.2.2。通过查看如下显示信息,可以验证以上配置成功。
[Router] display nat all
Static NAT mappings:
There are 2 outbound static NAT mappings.
IP-to-IP:
Local IP : 192.168.1.2
Global IP : 172.16.1.2
Local VPN : vpn1
Global VPN: vpn2
IP-to-IP:
Local IP : 192.168.1.2
Global IP : 172.16.2.2
Local VPN : vpn2
Global VPN: vpn1
Interfaces enabled with static NAT:
There are 2 interfaces enabled with static NAT.
Interface: GigabitEthernet1/1
GigabitEthernet1/2
NAT logging:
Log enable : Disabled
Flow-begin : Disabled
Flow-end : Disabled
Flow-active: Disabled
NAT mapping behavior:
Mapping mode: Address and Port-Dependent
ACL : ---
NAT ALG:
DNS: Enabled
FTP: Enabled
H323: Enabled
ICMP-ERROR: Enabled
# 通过以下显示命令,可以看到Host A访问Host B时生成NAT会话信息。
[Router] display nat session verbose
Initiator:
Source IP/port: 192.168.1.2/42496
Destination IP/port: 172.16.2.2/2048
VPN instance/VLAN ID/VLL ID: vpn1/-/-
Protocol: ICMP(1)
Responder:
Source IP/port: 192.168.1.2/42496
Destination IP/port: 172.16.1.2/0
VPN instance/VLAN ID/VLL ID: vpn2/-/-
Protocol: ICMP(1)
State: ICMP_REPLY
Application: INVALID
Start time: 2012-08-16 09:30:49 TTL: 27s
Interface(in) : GigabitEthernet1/1
Interface(out): GigabitEthernet1/2
Initiator->Responder: 5 packets 420 bytes
Responder->Initiator: 5 packets 420 bytes
Total sessions found: 1