LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: xjdong

高手请进来!Linux路由问题! 有图

[复制链接]
 楼主| 发表于 2003-12-29 10:00:46 | 显示全部楼层
最初由 猫猫 发表
为什么计算机C有一个ip地址 10.1.1.3,而计算机D的ip也是10.1.1.3,这样计算机B往 10.1.2.0/24网段路由的时候它知道往哪里去啊?至于你说的从计算机B上可以ping到 10.1.2.2,我想应该与Arp这个协议有关,但对于这个协议,我没有很深的研究。(假如你图标错了,计算机D的ip是10.1.1.4,那么就当我这都是废话)。

备注一下:还有一种可能,icmp包已经路由到10.1.2.2了,并且10.1.2.2也回应了,但由于回应包的目标ip是10.1.1.3,到计算机C后就没有送到D去。


感谢猫猫的回复,没错是IP写错了。真是粗细呵呵!!

对,我赞成你说的那个说法,可能是 icmp包已经路由到10.1.2.2了,并且10.1.2.2也回应了,但由于回应包的目标ip是10.1.1.3,到计算机C后就没有送到D去。 我正在找这个问题。谢谢!!
发表于 2003-12-29 10:14:55 | 显示全部楼层
ip.......我倒了
 楼主| 发表于 2003-12-29 10:33:24 | 显示全部楼层
最初由 dancingpig 发表
ip.......我倒了


呵呵,不好意思啊,不过应该可以想到是IP写错了,不然肯定IP要撞车了!对不起啊!!:p
发表于 2003-12-29 10:50:23 | 显示全部楼层
我有个问题
说到arp我想到了,只要设好ip,操作系统一起来,arp会自动定期广播。特别是window发现有ip冲突它一定会报发现网络中有相同的ip,ip冲突。。。难道你启动没看到???
发表于 2003-12-29 14:21:10 | 显示全部楼层
在B上设置的路由对D是无效的.因为你设置的是本地路由,B对D发来的包没有作转发.你应该把D的路由指到C上面.
或GW指到A上 然后在A上作 route add -net 10.1.2.0 netmask 255.255.255.0 gw 10.1.1.3 (这个时候ICMP是会作重定向的)大家可以用SNIFFER抓包看ICMP把D到10.1.2.X/24的路由重定向到10.1.1.3, 以后D发给10.1.2.X/24的包会直接提交给10.1.1.3 (重定向启用)
发表于 2003-12-29 22:28:31 | 显示全部楼层
就我个人来说,感觉这样的设法有点怪怪的。你在B上(你讲的OS是Redhat7.2)启用ip masquerade,我想可能就能ping到10.1.2.2了,不管怎么讲,你还是试一下,成与不成都回个贴。
发表于 2003-12-29 23:39:48 | 显示全部楼层
计算机B(Linux 7.2)

B是WIN2000平台

B是什么平台啊?如果D能上网的话应该说明你的路由是正确的,最有可能的是你的C的NAT上有问题,去掉NAT试试。如果是B能上网的话,不能说明你的转发是正常的。希望你能整理一下问题,大家才好分析。
 楼主| 发表于 2003-12-30 09:28:06 | 显示全部楼层

非常感谢大家在这里给我这么多的帮助!!

看了的大家回的帖子,看到这么多朋友给我的帮助! 非常感谢大家!

综合大家的回复,我总结一下:

1: B是Redhat7.2平台,我已经用 echo "1">/proc/sys/net/ipv4/ip_forward 打开了转发功能。

2:在整个网络拓扑中,只有在两个互联网网关中(也就是A和C)才会用到MASQ和NAT,在整个内部的局域网中是不需要做NAT和MASQ的,因为我们自己可以完全掌控路由。

3:关于从E到D的数据包能不能在B中再转发回来的这个问题,我以前好像有个这样的一个网络结果,在我印象中好像是可以的。

4:所有的电脑都可以上到互联网,只是有些电脑的互联网出口不同。在B上没有启用任何的NAT和MASQ,只是在正常安装好REDHAT后,加了echo "1">/proc/sys/net/ipv4/ip_forward 打开了转发功能而已。


我自己的一些观点:
1:我觉得这个网络的问题有可能是出在B网关上,但我还没有找出原因,如果我解决了这个网络拓扑的原因后,我会写一个文档出来让大家共享。

在这里再次谢谢在这里回贴子的朋友! 谢谢! 祝你们新年快乐!!
发表于 2003-12-30 10:04:22 | 显示全部楼层
在B上做转发是没有意义的吧? 我感觉是这样,B没有起到路由的作用 ,就是B不能做网关用。你还是应该把D的GW指到A或C上才对。
 楼主| 发表于 2003-12-30 10:25:44 | 显示全部楼层
最初由 a-duo 发表
在B上做转发是没有意义的吧? 我感觉是这样,B没有起到路由的作用 ,就是B不能做网关用。你还是应该把D的GW指到A或C上才对。


我在这里将D的网关设成B是有特殊意义的。因为我的实际网络比你看到的网络拓扑要复杂,我并不是简单的要让D能通E,因为我只是将我要解决的这部分疑难拿出来解答。因为我给出的这个拓扑是我实际问题中的一个简化的网络。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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