当前位置: 主页 > 服务器技术 > DNS服务器 > 电信网通双链路设置

电信网通双链路设置

时间:2009-9-21来源:互联网 点击:
某网站 ,如www.test.com,   电信接入链路一条, 网通一条, 电信给的IP是1.1.1.1 ,网通给的是2.2.2.2 处于不同网段 
   要求实现 网通的用户从网通的链路 访问到 服务器, 而电信的用户用电信的链路访问到服务器. 


解决方案: 
   要从DNS下手 
  某个用户从电信发起访问,过程如下 
1 Client    
2 Client所指定的DNS服务器  根据Client的网络接入的方式不同,DNS服务器地址未知 
3 test.com的 
   Client 问自己的DNS www.test.com的IP是多少 
   Client DNS 服务器通过递归或则迭代,访问到test。com的soa dns服务器。 
     a, 如果是迭代,则最终向test。com询问谁是 www.test.com的 ,将是Client. 
              这样,test.com的DNS服务器将得到Client的IP,再根据IP地址是网段是属于 
         电信还是CNC的,决定返回www.test.com 的IP 1.1.1.1 还是 2.2.2.2 
             如果是电信用户,则返回1。1。1。1,这样该电信Client最终得到www.test.com = 1.1.1.1 的A记录解析,从而通过电信网络访问www.test.com,这样就能达到我们所预期的目的。 
       b,如果是递归查询,则比较麻烦, 因为最终向test.com 的dns服务器询问谁是www.test.com的,是Client DNS. 这样只能判定Client DNS是电信还是网通,而无法断定Client 
是电信还是网通。   不过,由于网络接入的方式不一样,例如 网通的ADSL方式,其IP、DNS地址均由动态获取,这样此时 Client DNS服务器与Client应该是属于相同运营商IP,这样就能够通过判定Client DNS地址来大约断定Client所属运营商。 
     但是假如某网通用户手工指定DNS,恰好又指定了一个电信的DNS服务器,这个时候,就比较麻烦了,因为将会从电信的链路上收到一个TCP连接,其源地址为网通IP。 
     考虑此时是递归查询,所知Client DNS的IP地址为电信IP,则会返回1。1。1。1地址给与该 Client DNS,那么Client作为网通用户最终得到的IP将是 www.test.com=1.1.1.1 (该地址为电信地址) ,这样就会导致此用户得到错误的服务器地址。 
     不过,好运的是,现在的大多数DNS服务器都是迭代查询,因为没有多少DNS服务器可以承受递归的流量,所以对于99%的用户来说,都能得到正确的地址解析,从而正确的访问服务器。 

  目前手工配置DNS服务器来实现以上目的,好象只能有BIND能做到,不过需要自己开发一些相关工作流程,以及收集电信、网通IP地址段,工作内容比较复杂。 
  好消息是,现在已经有相关的商业产品能够做到这一点。 如果网站的级别已经到达需要做链路负载均衡的话,我想这点钱BOSS还是会批准的吧:) 
站长资讯网
. TAG: 网通 双链 电信 DNS
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言