设为首页收藏本站language 语言切换
查看: 2933|回复: 13
收起左侧

配置电信网通双线双IP

  [复制链接]
发表于 2013-7-11 16:53:58 | 显示全部楼层 |阅读模式
       做互联网网站,最头疼的事情之一就是电信和网通的互联互不通了,为了能够让北方网通和南方电信用户都可以快速的访问网站,解决办法就是托管到双线机房。双线机房有两类,一类是通过BGP技术实现互联互通,服务器只需要一个网卡一个IP地址就可以了,由机房进行路由的智能判断,选择合适的路由访问,这样对于网站来说是很方便的,但BGP机房一般带宽都比较少,流量高一些的话可能就没有办法了。另外一种就是双线双IP的机房,带宽可能更高一些,但是路由配置极其复杂,服务器需要至少两个网卡,一个网卡接电信网关,一个网卡接网通网关,来实现互联互通。如果多台服务器的话,还需要第3个网卡组建内网进行内网通讯。

  对于双线双IP的服务器来说,要解决两个问题:

  ?你的网站用户究竟走那个IP来访问你的服务器

  ?你的网站内容究竟走那个IP返回给用户

  对于第1个问题,可以使用智能DNS解析来解决,即DNS服务器判断用户所在IP地址,如果用户是电信接入,就把服务器的电信IP解析给他;如果用户是网通接入,就把服务器的网通IP解析给他。

  智能DNS可以自己基于开源的DNS软件来定制,不过国内有一个很好的免费智能DNS服务器提供商:DNSPod,推荐使用DNSPod的服务。他就可以实现上述的智能DNS解析。

  对于第2个问题,则需要在服务器上面配置路由规则,来决定究竟如何处理数据的返回路径问题。

  1、填写静态路由表

  因为服务器有两个IP,分别在不同的网段,你使用电信IP的网关做路由,那么网通的IP地址用户压根就访问不到,反之亦然。目前流行的解决办法,就是使用电信网关做默认的路由,然后自己手工填写所有网通IP地址段的路由规则。这个办法可以Google搜索到一大把,不展开了。

  这种办法的缺点是添加规则太多太麻烦,而且难免挂一漏万,如果你漏了一些网段,那这些网段的用户就访问不了你的网站了。况且网段地址的分布总是在不断变化的,你还必须定期更新路由表。

  2、根据用户访问进来的路径设定动态路由

  就是说如果用户是通过电信IP地址访问过来的话,那么使用电信网关做路由,返回内容走电信网关;如果用户通过网通IP地址访问过来的话,那么使用网通网关做路由,返回内容走网通的网关,这样就不必那么麻烦的维护路由表了。以JavaEye网站服务器为例,具体配置方法如下:

  JavaEye网站服务器电信IP:114.80.66.199,电信网关:114.80.66.1

  JavaEye网站服务器网通IP:60.29.231.190,网通网关:60.29.231.1

  1) 默认网关使用电信网关作为路由

  在Linux上面配置默认网关,如果是RedHat,应该是在/etc/sysconfig/network文件里面添加一行:GATEWAY=114.80.66.1

  2)添加路由表

  修改/etc/iproute2/rt_tables,添加内容:

  [cpp]

  #电信

  252 tel

  #联通

  251 cnc

  然后手工添加路由规则,在Console里面执行如下命令:

  #添加原路返回路由

  [cpp]

  ip route flush table tel

  ip route add default via 114.80.66.1 dev eth0 src 114.80.66.199 table tel

  ip rule add from 114.80.66.199 table tel

  ip route flush table cnc

  ip route add default via 60.29.231.1 dev eth1 src 60.29.231.190 table cnc

  ip rule add from 60.29.231.190 table cnc

  即让从电信IP过来的请求按照电信路由返回,从网通IP过来的请求从网通路由返回。这样就搞定了。

  3) 把路由规则写入启动脚本

  如果服务器重启,或者网络服务重启,上述的路由规则就失效了,所以你需要把上面这段命令写入系统启动脚本和网络启动脚本/etc/rc.d/rc.local

发表于 2013-7-11 17:44:24 | 显示全部楼层
牛b
沙发 2013-7-11 17:44:24 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-7-11 18:00:21 | 显示全部楼层
这个很有用啊
板凳 2013-7-11 18:00:21 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-7-11 18:34:20 | 显示全部楼层
地板 2013-7-11 18:34:20 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-7-15 16:30:12 | 显示全部楼层
5# 2013-7-15 16:30:12 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-7-17 16:43:12 | 显示全部楼层
做互联网网站,最头疼的事情之一就是电信和网通的互联互不通了,为了能够让北方网通和南方电信用户都可以快速的访问网站,解决办法就是托管到双线机房。双线机房有两类,一类是通过BGP技术实现互联互通,服务器只需要一个网卡一个IP地址就可以了,由机房进行路由的智能判断,选择合适的路由访问,这样对于网站来说是很方便的,但BGP机房一般带宽都比较少,流量高一些的话可能就没有办法了。另外一种就是双线双IP的机房,带宽可能更高一些,但是路由配置极其复杂,服务器需要至少两个网卡,一个网卡接电信网关,一个网卡接网通网关,来实现互联互通。如果多台服务器的话,还需要第3个网卡组建内网进行内网通讯。

  对于双线双IP的服务器来说,要解决两个问题:

  ?你的网站用户究竟走那个IP来访问你的服务器

  ?你的网站内容究竟走那个IP返回给用户

  对于第1个问题,可以使用智能DNS解析来解决,即DNS服务器判断用户所在IP地址,如果用户是电信接入,就把服务器的电信IP解析给他;如果用户是网通接入,就把服务器的网通IP解析给他。

  智能DNS可以自己基于开源的DNS软件来定制,不过国内有一个很好的免费智能DNS服务器提供商:DNSPod,推荐使用DNSPod的服务。他就可以实现上述的智能DNS解析。

  对于第2个问题,则需要在服务器上面配置路由规则,来决定究竟如何处理数据的返回路径问题。

  1、填写静态路由表

  因为服务器有两个IP,分别在不同的网段,你使用电信IP的网关做路由,那么网通的IP地址用户压根就访问不到,反之亦然。目前流行的解决办法,就是使用电信网关做默认的路由,然后自己手工填写所有网通IP地址段的路由规则。这个办法可以Google搜索到一大把,不展开了。

  这种办法的缺点是添加规则太多太麻烦,而且难免挂一漏万,如果你漏了一些网段,那这些网段的用户就访问不了你的网站了。况且网段地址的分布总是在不断变化的,你还必须定期更新路由表。

  2、根据用户访问进来的路径设定动态路由

  就是说如果用户是通过电信IP地址访问过来的话,那么使用电信网关做路由,返回内容走电信网关;如果用户通过网通IP地址访问过来的话,那么使用网通网关做路由,返回内容走网通的网关,这样就不必那么麻烦的维护路由表了。以JavaEye网站服务器为例,具体配置方法如下:

  JavaEye网站服务器电信IP:114.80.66.199,电信网关:114.80.66.1

  JavaEye网站服务器网通IP:60.29.231.190,网通网关:60.29.231.1

  1) 默认网关使用电信网关作为路由

  在Linux上面配置默认网关,如果是RedHat,应该是在/etc/sysconfig/network文件里面添加一行:GATEWAY=114.80.66.1

  2)添加路由表

  修改/etc/iproute2/rt_tables,添加内容:

  [cpp]

  #电信

  252 tel

  #联通

  251 cnc

  然后手工添加路由规则,在Console里面执行如下命令:

  #添加原路返回路由

  [cpp]

  ip route flush table tel

  ip route add default via 114.80.66.1 dev eth0 src 114.80.66.199 table tel

  ip rule add from 114.80.66.199 table tel

  ip route flush table cnc

  ip route add default via 60.29.231.1 dev eth1 src 60.29.231.190 table cnc

  ip rule add from 60.29.231.190 table cnc

  即让从电信IP过来的请求按照电信路由返回,从网通IP过来的请求从网通路由返回。这样就搞定了。

  3) 把路由规则写入启动脚本

  如果服务器重启,或者网络服务重启,上述的路由规则就失效了,所以你需要把上面这段命令写入系统启动脚本和网络启动脚本/etc/rc.d/rc.local
6# 2013-7-17 16:43:12 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-7-23 22:21:54 | 显示全部楼层
7# 2013-7-23 22:21:54 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-7-27 16:14:08 | 显示全部楼层
8# 2013-7-27 16:14:08 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-7-27 19:32:00 | 显示全部楼层
好贴
9# 2013-7-27 19:32:00 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-7-30 16:00:56 | 显示全部楼层
10# 2013-7-30 16:00:56 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-10-6 12:45:08 | 显示全部楼层
我们公司就是这样的,还有三线的,电信+网通+教育====
11# 2013-10-6 12:45:08 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-11-11 11:34:10 | 显示全部楼层
12# 2013-11-11 11:34:10 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-11-16 21:45:21 | 显示全部楼层
很有学习价值
13# 2013-11-16 21:45:21 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2014-5-7 15:18:20 | 显示全部楼层
我想问的是,如果是一个托管机房的运维,我能不能在机房网关处做双线智能路由?比如现在市面上的双wan路由器之类的,能起到类似效果吗?
我看到H3C有自己的双wan路由器,但是要手动导入人工写好的路由条目,而且也不能保证网段全覆盖。
所以我想问,双线双ISP的托管机房,可以不用劳烦托管客户,自己在机房网关处做好吗?
还是一定要客户自己设定?
至于智能DNS,貌似自己就可以在域名注册商那里填写,比如万网、新网,都可以自己设定。——只要自己的托管机房给了自己2个不同ISP的公网IP地址。
14# 2014-5-7 15:18:20 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-3-14 23:12 , Processed in 0.088248 second(s), 27 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表