现在又两个相同的 路由A,B,其网关都是192.168.1.1。 A是接在公网上,B和其他一些电脑D1,D2,D3接在路由A上。在路由B上也接了一些电脑DB1,DB2。现在路由A给D1,D2,D3分配的ip分别是 192.168.1.10 ,192.168.1.20,192.168.1.30。他们之间如果要通信的话,就可以直接使用这些ip,绑定电脑上的端口来传消息。路由B给电脑DB1,DB2分配的ip是 192.168.1.11,  192.168.1.21。DB1,DB2之间通信  也是可以直接用这个ip。但是 DB1 给D1通信怎么办?  DB1 若是给D1的局域网ip 192.168.1.10 .D1应该是收不到的,因为路由B会认为这个ip 是路由内部的ip从而不往外发。但是DB1 和D1 又是同处一个局域网里,理论上 不需要公网ip 也能通信啊。请问该怎么办。

解决方案 »

  1.   

    你把路由B设成网桥啊,那样所有的都在同一个局域网里了
    还有既然A是192.168.1.1了,b怎么可能还是192.168.1.1呢?????
      

  2.   

    这是一个组网问题,路由器A可以不调整,但是B必须调整。
    1.A的路由器有一个地址,192.168.1.1;B作为A的一个子网的路由器,它的地址必须和A的不通,即不能用192.168.1.1。如果相同,那么A看到B路由器的地址和自己完全相同,那就是IP在A的管理范围发生冲突了。
    2.一般情况下,需要两个不同的网段。简单的:B的路由器地址设置成192.168.2.1,B分配给B下管理的主机IP是192.168.2.x网段设备。前提条件是:掩码255.255.255.0,如果你对子网的分配比较熟悉,可以采用子网模式,把192.168.1.X划分成不同的子网,而不采用1.x和2.x网段了。但这样麻烦,涉及的问题比较多。
    3.基于2的前提,在B管理的2.x网段的主机完全可以访问A的网段主机,因为2.x访问到1.x主机时,路由发现1.x是B的外网,那就把访问交给A段,而正好A段和B的Wan口相同,B就直接和1.x设备通讯,而不经过A的网关地址1.1。
    4.B的主机访问外网,那么通过B的网关、A的网关就可以到外网上了。
    5.A的主机要想访问B段,那么必须在A上增加路由,就是把2.x网络地址,即192.168.2.0网络地址对应的IP为B在A路由器中分配的IP,例如192.168.1.5,把这条路由关系增加到A的表中。当A上的一个主机D1访问DB1时,就通过A路由,转到B上,B负责转给db1.
      

  3.   

    如果你画一个网络图,就很清楚了。
    B知道自己是A的子网,但是A不知道B上的内网地址是A的一个局域网,所以需要将B对外的一个IP地址(Internet上叫ISP)所管理的内网地址即2.x网络加入到A的一个路由选项中,这样A路由上的1.x主机向2.x主机发起通讯请求时,A路由就把这个路由传给A的路由地址,B负责传给他的内网。要不然,A是不认识2.x网段IP地址,它默认是一个外网地址。因为B的内部主机访问A的外网时,IP层的源IP被路由屏蔽了,A不记录B管理的内网地址。A只管理到与它直接连接的B的外口IP。
      

  4.   

    1.A的路由器有一个地址,192.168.1.1;B作为A的一个子网的路由器,它的地址必须和A的不通,即不能用192.168.1.1。如果相同,那么A看到B路由器的地址和自己完全相同,那就是IP在A的管理范围发生冲突了。   这个B的网关 192.168.1.1只是对内的,对外(即面向路由A)它可能被分配了一个 192.168.1.100(这个ip仅仅是路由A分配)楼上两位的意思:若果不把路由B的网关调整,就不能通信了?
      

  5.   

    你是对路由器编程还是用C++写程序
    路由器编程的话,你得设置路由,但我看你举得例子就知道你不专业。居然2个路由器的内网在一个网段。但如果你说这2个路由器不是直接相连,而是通过其他网相连那还可以。
    C++编程的话,假设你的网络是对的。你得用p2p穿洞才行。
      

  6.   


    就是在考虑了p2p穿洞 才采用这个网络模型。            1,这个网络模型是可以出现的,虽然在路由网段配置上不合理
    2,我想知道 假设DB1 和D1连接上了(在内网里面连接,不依靠公网),D1在DB1上显示的ip 到底是什么?
      

  7.   

    请问:现在按照你的设置,你的A是192.168.1.1,B也是192.168.1.1,你的DB1现在能ping通主机D1:192.168.1.10吗?你的DB1可以ping通www.163.com吗?
      

  8.   

    楼主要是想彻底搞清楚这个网络问题,建议你看看TCP/IP协议详解卷一:协议篇,这本书,网上下载非常多,如果需要,可以留个Email,我给你发一份。针对路由和IP子网划分两章,研究一下。因为这里还涉及到私有地址的通讯问题,用到了NAT技术,可以参考一下相关技术网页。Cisco有一半网络通讯教程不错,对NAT解释的非常简单易懂。而且针对现在家庭常用的路由器的原理做了案例分析。
      

  9.   

    把B改为192.168.0.1
    应该就ok.
      

  10.   

    我现在告诉你,如果你用的是nat那么就是B的IP。
      

  11.   

    说完整点  B路由对内的网关和对外的ip 本来就是不一样的
      

  12.   


    你的B路由器对内的网关和对外的IP是不同的IP,但是是同一个网段,那你符合路由和NAT原则吗?前面说的很清楚了
      

  13.   

    说具体点是 B对外的IP,你知道违反了nat规则你还这样组网,事实nat外面的机器只能知道B对外的IP,所以这点是肯定的。你自己先否定了nat组了个网,然后又拿nat规则来考虑事情,这样是永远没有结果的,不在回复