由于电信和联通之间的互联高延迟问题,导致存在电信用户访问联通站点或者联通用户访问电信站点延迟高,网速慢的现象。于是部分IDC运营商便推出“双IP双线路”、“单IP双线路”、“CDN多线路”和“BGP单IP双线路”等双线方案。还有只提供电信和联通2个接入的“双线”。本文针对只提供电信和联通2个接入的机房提供双线解决方案。
网络环境:电信和联通2个接入线路,无其他路由优化之类。
以下ip地址为假设
电信 可用ip地址:114.80.183.2-114.80.183.14
     掩码:  255.255.255.240
     网关:  114.80.183.1
联通 可用ip地址:124.160.127.2-124.160.127.14
     掩码:  255.255.255.240
     网关:  124.160.127.1
方案
基于策略路由的linux解决方案,目标是要实现用户到服务器(来)和服务器响应用户(去)是同一线路。
实现原理:首先,将域名解析分别指向电信和网通ip,使电信用户解析域名得到电信ip,网通用户解析域名得到网通ip,如此电信用户到服务器的路径就是走的电信,联通亦然。
其次,将服务器的默认路由(网关)指向 linux主机,在linux主机上制定策略路由,如果源ip是电信ip,则路由至电信网关,如果源ip是联通ip,则路由至联通网关,至此实现返回的路线相同。

注:当用户访问服务器的电信ip时,服务器响应用户的ip包中的源地址必然是电信ip,用户访问服务器上的联通ip时,服务器响应用户的ip包中的源地址也必然是联通ip。
环境:
1. 网站域名为 www.abc.com,由服务器A提供web服务。
2. 服务器A,windows 2003系统,双网卡。
3. 服务器B,linux系统,双网卡,用于策略路由实现双线。
4. 智能dns服务商(支持电信,联通智能解析)

具体配置
1. 服务器ip地址设置
   服务器A 网卡1(电信)ip地址:114.80.183.2
                        掩码:  255.255.255.240
                        网关:  114.80.183.10

           网卡2(联通)ip地址:124.160.127.2
                        掩码:  255.255.255.240
                        网关:  空

   服务器B eth0(电信) ip地址:114.80.183.10
                        掩码:  255.255.255.240
              
           eth1(联通) ip地址:124.160.127.10
                        掩码:  255.255.255.240
                
2. 智能dns设置
   登陆到服务商提供的界面,将www.abc.com的解析设置为电信用户指向 114.80.183.2,联通用户指向 124.160.127.2。

3. 配置linux 主机B
   修改IP转发文件
   # vi /etc/sysctl.conf
     net.ipv4.ip_forward = 1
   增加2个路由表,电信和联通
      # vi /etc/iproute2/rt_tables
      251 dianxin
      252 liantong
   设置电信和联通的路由
   ip route add default via 114.80.183.1 dev eth0 table dianxin
   ip route add default via 124.160.127.1 dev eth1 table liantong
   添加策略路由
   ip rule add from 114.80.183.2 table dianxin
   ip rule add from 124.160.127.2 table liantong
配置完成。

注: 若linux主机B本机想实现双线路由,则只需要再策略路由里面 把 from 的地址改为本机ip即可。