你的位置:首页 > 技术知识库 > 华为 > 交换

内网用户使用公网地址访问内部服务器过程解析

2014/12/14 13:56:19点击:
问题描述
现象描述:
园区内部主机client(192.168.2.1)通过公网地址212.58.7.9访问内网服务器192.168.1.1。交换机SW1为内网192.168.1.0/24和192.168.2.0/24的网关。经过出口路由器R2进行NAT地址映射转换,从而能够访问内网server。


(1)主机192.168.2.1访问内网server 对外公网地址212.58.7.9,此时数据包如下:
Src:192.168.2.1 Des:212.58.7.9

(2)数据包经过边界路由器进行目的地址转换为192.168.1.1,此时数据包如下:
Src:192.168.2.1 Des:192.168.1.1  

[R2-GigabitEthernet0/0/1]dis this
#
interface GigabitEthernet0/0/1
ip address 10.114.28.2 255.255.255.252
nat server global 212.58.7.9 inside 192.168.1.1

(3)此时R2根据查看路由表目的地址192.168.1.0将数据包转发到192.168.1.1主机上,此时主机进行回包,将数据包源目地址进行颠倒:
    
Src:192.168.1.1 Des:192.168.2.1

此时主机192.168.2.1收到该回包报文后与发送的报文进行比较,发现源目地址不一致将报文丢弃。
解决方案
为了解决client收到的报文源目地址不一致的问题,需要将回包的数据包引向路由器R2,将源地址也进行转换,所以在R2路由器上除了做目的地址转换还需要做源地址转换:
Src:212.0.0.9 Des:192.168.2.1
R2:
interface GigabitEthernet0/0/1
ip address 10.114.28.2 255.255.255.252
nat server global 212.58.7.9 inside 192.168.1.1
nat outbound 3001 address-group 0
#
NAT Address-Group Information:
--------------------------------------
Index   Start-address      End-address
--------------------------------------
0           212.0.0.1       212.0.0.10
--------------------------------------
  Total : 1
此时在R2上查看NAT的会话表项验证NAT转换映射是否成功:
  <R2>dis nat se all
  NAT Session Table Information:
     Protocol          : ICMP(1)
     SrcAddr   Vpn     : 192.168.2.1                                   
     DestAddr  Vpn     : 212.58.7.9                                    
     Type Code IcmpId  : 0   8   47585
     NAT-Info
       New SrcAddr     : 212.0.0.9     
       New DestAddr    : 192.168.1.1   
       New IcmpId      : 10249 
建议与总结:
    在园区网中内网访客利用公网地址访问内部服务器时,需在NAT路由器上进行源地址转换,从而能保证回包报文源目地址与原发送的报文一致,避免数据包被丢弃。