nat server源进源出问题

发布时间:  2014-06-06 浏览次数:  1342 下载次数:  0
问题描述
组网环境如下:

客户双出口一边是电信,一遍是联通,将内网服务器分别映射到联通和电信出口。为了保证内部上网用户网速快,客户开启了ISP选路功能,联通的网站从联通出去,电信的网站从电信出去。然后写有两条等价默认路由分别指向两个外网出口。

现在发现电信的用户只能通过电信出口的ip地址访问后台映射的服务器。联通的用户也只能通过访问联通接口来访问内部服务器。

告警信息

处理过程
由上面的原因分析,可以看出这个是由于来回路径不一致的问题导致业务不通,由于新版本的设备在等价默认路由的方式下支持源进源出的功能,所以建议客户讲IPS选路功能。但是客户为了实现内网用户更好的网络体验不愿意取消该功能。

这个时候需要配置反向路由注入来解决该问题。配置如下:

[USG5500]interface GigabitEthernet 0/0/0
[USG5500-GigabitEthernet0/0/0]reverse-route nexthop 58.23.90.1
[USG5500-GigabitEthernet0/0/0]quit
[USG5500]interface GigabitEthernet 0/0/1
[USG5500-GigabitEthernet0/0/0]reverse-route nexthop 121.205.3.1
[USG5500-GigabitEthernet0/0/1]quit

在NAT Server多出口场景中为了实现源进源出功能,可以在访问报文的入接口上配置reverse-route命令。当设备转发响应报文时,直接使用入接口作为响应报文的出接口,而不是通过查找路由表来确定出接口。

如果下一跳地址不存在,报文按照正常的路由表选择出接口转发。


根因
我们这边电信的网络尝试访问联通出口G0/0/1,然后通过查看双向会话:
[USG5500-diagnose]display firewall session table verbose_hide both-direction source global 21.1.16.15
tcp VPN:public --> public
Zone: untrust--> trust TTL: 00:00:05 Left: 00:00:03
Interface: Vlanif1 NextHop: 10.1.100.1 MAC: 80-fb-06-b0-0d-4d
<--packets:0 bytes:0 -->packets:1 bytes:60
21.1.16.15:2066-->58.23.90.58:8008[10.1.11.206:8008]

tcp VPN:public --> public
Zone: trust--> untrust TTL: 00:00:05 Left: 00:00:03
Interface: GigabitEthernet0/0/0 NextHop: 121.205.3.1 MAC: 00-e0-fc-65-0c-01
<--packets:0 bytes:0 -->packets:1 bytes:64
10.1.11.206:8008[58.23.90.58:8008]-->21.1.16.15:2066

访问58.23.90.58:8008时,报文由接口GigabitEthernet0/0/1(联通接口)进入,回程报文由GigabitEthernet0/0/0(电信接口)发出,由于来回路径不一致,导致业务不通。
建议与总结

END