土木在线论坛 \ 建筑设计 \ CAD下载及教程 \ 电信网通双链路解决方案

电信网通双链路解决方案

发布于:2006-11-19 19:57:19 来自:建筑设计/CAD下载及教程 [复制转发]
各位大虾所说的技术已经可以实现了.
大概情况如下:
某网站 ,如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地址段,工作内容比较复杂。
这个家伙什么也没有留下。。。

CAD下载及教程

返回版块

52.08 万条内容 · 666 人订阅

猜你喜欢

阅读下一篇

Asp错误信息总汇

1.错误信息 Microsoft OLE DB Provider for ODBC Drivers error ’80004005’ [Microsoft][ODBC Microsoft Access 97 Driver] The Microsoft Jet database engine cannot open the file ’(unknown)’. It is already opened exclusively

回帖成功

经验值 +10