公司之前一直使用的单链路联通,但是随着南方分公司的建立,普遍反映访问公司资源速度太慢,影响了正常工作,于是乎,又上了一条电信。
拓扑如下图:




工没有链路负载均衡设备,如何实现双链路冗余以及负载均衡呢?
通过单网卡双IP映射+策略路由+智能DNS解析来实现,如下图:
首先,把w ww.xxx. com服务器的单网卡设置两个IP分别为A,B,然后分别把A映射到路由器电信接口上ipD,把B映射到路由器联通接口上ipC



智能DNS—通过判断发起解析请求的客户机的IP地址来判断所属ISP地址段,分配不同的解析结果,如图:
在智能DNS上的w ww.xxx. com存在两条A记录,分别是联通的ipC、电信的ipD,当联通用户发起解析请求时,返回给用户ipC,反之亦然。
以此来达到联通用户访问联通链路,电信用户访问电信链路的目的。这是入站负载。




下面以电信用户访问为例,当电信用户获取w ww.xxx. comIP后,访问到路由器电信链路上的ipD,此时ipD映射为www服务器的内网IP A,当内网IP A接收到访问请求后,必然会返回数据,内网默认网关当然都是路由器,当数据包经过路由器时,此处的策略路由根据源IP来控制下一跳的路由,最终是的IP A的数据都走电信链路。
这样,出站和入站实现链路相同,不会存在出入链路不同丢包现象了,大功告成。




下面是路由器具体配置:
#
acl number 3000
//
定义源为AACL

rule 0 permit ip source 172.16.2.2 0

acl number 3001
//
定义源为BACL

rule 0 permit ip source 172.16.2.1 0

#
interface GigabitEthernet0/0
//
此接口为出口路由器的内网口

port link-mode route


ip address 192.168.2.2 255.255.255.0


ip policy-based-route policy  
//将匹配源地址为服务器私网地址的策略路由下发至内网口
#
interface GigabitEthernet7/0
//
电信链路接口

port link-mode route


description to-dianxin


nat outbound static


nat server protocol tcp global x.x.x.x www inside 172.16.2.2 www
//
映射A ip

ip address x.x.x.x 255.255.255.252

#
interface GigabitEthernet0/1
//
联通链路接口

port link-mode route


description to-wangtong


nat outbound static


nat server protocol tcp global x.x.x.x www inside 172.16.2.1 www
//
映射B ip

ip address x.x.x.x 255.255.255.252

#
policy-based-route policy permit node 0
//
匹配ACL3000的走电信出接口

if-match acl 3000


apply ip-address next-hop x.x.x.1
//
电信ISP路由地址
policy-based-route policy permit node 5
//
匹配ACL3001的走联通出接口

if-match acl 3001


apply ip-address next-hop x.x.x.2
//
联通ISP路由地址
#

ip route-static 0.0.0.0 0.0.0.0 x.x.x.1


ip route-static 0.0.0.0 0.0.0.0 x.x.x.2 preference 80

#