- 积分
- 199
- 下载分
- 分
- 威望
- 点
- 原创币
- 点
- 下载
- 次
- 上传
- 次
- 注册时间
- 2009-5-19
- 精华
|
马上注册,获取阅读精华内容及下载权限
您需要 登录 才可以下载或查看,没有帐号?注册
x
一直以来都没有搞定2台不同路由器内部电脑互联的问题。
比如说A路由器WAN口通过PPPOE连上internet,其下面有4个LAN口,接了电脑,其中有一个口还接了个路由器B的WAN口,
路由器A的LAN ip设置为192.168.1.1
路由器B的WAN口通过DHCP或者静态IP的方式来连接路由器A,同时路由器B的四个LAN口也接了一些电脑。
路由器B的LAN ip 设置为192.168.0.1
路由器A和路由器B下面的电脑上网没问题,路由器B的电脑访问路由器A的共享也没问题,问题是路由器A要访问
路由器B的共享却不行。
我知道路由器B的电脑访问路由器A的电脑比较容易理解,因为路由器B下面的电脑网关就是路由器B的lan ip,
只要不是跟路由器B lan 同一网络类型的数据包,电脑的tcp/ip机制会自动把这些包封装,目的地址改为网关IP发出去。(这个可以通过网络抓包软件观察的到)
lan口收到这些包是通过nat机制从wan口转发出去,
而此时路由器B的wan口的IP和路由器A所连接的电脑是ip是同一网络的,自然就可以访问到了。
按照这个道理,如果路由器A的电脑要访问路由器B的电脑,由于2者是不同网络,电脑的tcp/ip机制会自动把这些包封装,结果就是从路由器A的wan口把数据包发出去。
自然到达不了路由器B,也访问不了路由器B下面的共享了。
按照指导,要在路由器A上面添加一条静态路由:目标网络192.168.0.0,网络掩码255.255.255.0,网关:192.168.1.x(这里表示路由器B的wan口实际地址),
就可以了。
这样当路由器A收到它下面电脑发出这个网络类型的数据包的时候,就知道该数据包要转发给路由器B,而不是从wan口走出去。
理论上没有错,可是实际实验不成功。
问题出现在哪?我一时也想不通,一开始我也怀疑路由器有问题不支持,不过我测试过在路由器B下面接过一个硬盘录像机,通过在路由器b里面开启DMZ指向硬盘
录像机的ip,再在路由器A里开启DMZ指向路由器B的wan口IP,我在外网是可以连接硬盘录像机的。
所有暂时排除是路由器的问题。
说明一下,这路由器A我采用的是普通的腾达路由,几十元那种,路由器B是tp-link 150m的带无线的普通路由,也是几十元的货。
今天刚好有一个有客户放一个linksys 的路由在我这,这个路由是刷了dd-wrt固件的,于是再次实验一下。
这次,我决定先不在路由器A上添加静态路由,而是直接在路由器A下面的电脑上添加静态路由,
route add 192.168.0.0 mask 255.255.255.0 192.168.1.x,这时,如果路由器B没有问题的话,我电脑上访问路由器B下面的电脑192.168.0.x的ip,数据包将直接发给
路由器B,由它向其下面的电脑转发。
实验结果,一样不通。ok,问题可能是出现在tp-link这个路由器B上了,马上用linksys这个路由换上,按照之前的操作,完成后。
结果通了,2个路由器之间的电脑可以互联。
我估计国货软件上都是偷工减料,能偷懒则偷懒。困扰我已久的问题终于明了。
|
|