双链路NAT Server,部分业务不通。

发布时间:  2016-06-22 浏览次数:  221 下载次数:  0
问题描述

如下组网中,AR201路由器对企业内网服务器进行NAT映射,192.168.110.10映射为公网IP x.x.x.30,10.26.1.100映射为公网IP x.x.x.105。AR201通过OSPF发布公网IP地址x.x.x.30和x.x.x.105给对端路由器。完成配置后,客户发现从Internet只能访问内网10.26.1.100服务器,192.168.110.10服务器不可达。

AR201路由器配置如下:

#
interface Vlanif3
ip address 10.26.1.254 255.255.255.0
#
interface Vlanif4
ip address 192.168.110.254 255.255.255.0
#
interface Ethernet0/0/0
undo portswitch
ip address 172.16.2.165 255.255.255.252             
ospf network-type p2p
ospf enable 1 area 0.0.0.1
nat server protocol tcp global interface LoopBack 1 11010 inside 192.168.110.10 8080
#
interface Ethernet0/0/1
port link-type access
port default vlan 3
#
interface Ethernet0/0/4
port link-type access
port default vlan 4
#
interface Ethernet0/0/8
ip address 172.16.2.201 255.255.255.252
ospf network-type p2p
ospf enable 1 area 0.0.0.1
undo negotiation auto
nat server protocol tcp global interface LoopBack 0 60002 inside 10.26.1.101 5901 acl 3080
#
interface LoopBack0
ip address x.x.x.105 255.255.255.255
#
interface LoopBack1
ip address x.x.x.30 255.255.255.255
#
ospf 1 router-id x.x.x.105
area 0.0.0.1
  network x.x.x.30 0.0.0.0
  network x.x.x..105 0.0.0.0
  nssa

#

告警信息
处理过程

1.从上面的配置可以看出,ospf进程中同时发布了x.x.x.30和x.x.x.105,但并没有设置ospf的cost值。正常情况下对端路由器会学习到2条到目的x.x.x.30的等价路由。

#

display ip routing-table x.x.x.30

Route Flags: R - relay, D - download to fib

------------------------------------------------------------------------------

Routing Table : Public

Summary Count : 2

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

 

  x.x.x.30/32  OSPF    10   1           D   172.16.2.201    GigabitEthernet1/1/8

               OSPF    10   1           D   172.16.2.165    GigabitEthernet1/1/6

#

 

2.到达相同destination存在多条等价路由时,同一条流只会HASH到同一个下一跳。从问题的描述看,怀疑从Internet访问x.x.x.30流量都HASH到下一跳172.16.2.201,对应AR201的接口是Ethernet0/0/8。由于Ethernet0/0/8接口并没有配置从x.x.x.30到192.168.110.10 的NAT映射,导致访问服务器192.168.110.10失败。

 

3.为了证明上述推断,将接口Ethernet0/0/8 shutdown,到x.x.x.30只有唯一路径后,访问内网192.168.110.10成功。

根因
到达目的网络存在多条等价路由,流量HASH到同一个下一跳,该下一跳对应接口没有配置相应的NAT Server。
解决方案

针对客户需求,双链路对不同内网服务器进行NAT映射,可以在AR路由器上创建不同的OSPF进程,只发布对应的公网IP。这样就不存在访问x.x.x.30的流量HASH到x.x.x.30 NAT的接口。配置如下:

#

ospf 1 router-id x.x.x.105

area 0.0.0.1

  network x.x.x.105 0.0.0.0

#

ospf 2 router-id x.x.x.30

area 0.0.0.1

  network x.x.x.30 0.0.0.0

#

interface Ethernet0/0/0

...

ospf network-type p2p

ospf enable 2 area 0.0.0.1

#

interface Ethernet0/0/8

...

ospf network-type p2p

ospf enable 1 area 0.0.0.1

#

建议与总结
双链路接口Internet需要考虑等价路由和负载均衡带来的业务不通问题。

END