雨中的雨 发表于 2005-11-18 16:19:47

双网卡,linux路由,TC,做的好累!

我有四台电脑,串联,如下图:
1??2??3??4
中间2 3两台双网卡做路由,但做路由的PC与远端主机就是ping不通??2ping不通4,3ping不通1,但只要相领的两台电脑都能很好的ping通(包括双网卡中的任意一张网卡)。
而且更奇怪的是如果拓朴如下图:
1??2??4则路由功通很好,一切正常, 1 4之间完全可以ping通,甚至在windows下还能局域网互访共享文件。

我没有用软件路由,用的是/proc/sys/net/ipv4/ip_forward置1这个方法,并且用的是静态路由。

现在想问一下,到底是2 3两台双网卡路由实现1 4通信在linux下根本就是不支持,还是会不会是其它原因,比如说我可能有些设置出错或是什么的原因

PS:还想问一下,这里有没有人对TC熟一点,linux下的traffic control,有些问题想请教一下。

[ 本帖最后由 雨中的雨 于 2005-11-18 16:25 编辑 ]

DreamCat 发表于 2005-11-19 14:35:04

你是不是只开启了端口转发,并没有设置路由?

TC的问题你只管问哈,这里很多人都很熟悉的,除了我~~

雨中的雨 发表于 2005-11-19 21:35:13

今天我又在做这个路由,怪的很,我现在用四台机:
1??2??3??4
Device        Eth0                            Eth1
PC1        192.168.10.2/24       
Route1        192.168.10.1/24        192.168.20.1/24
Route2        192.168.20.2/24        192.168.30.1/24
PC2        192.168.30.2/24       

1 4为两客户机??PC1 PC2,只有一张网卡。
2 3为两模拟的路由linux PC,有双网卡。
三个网段,同网段的网卡互连,这个我还是不会出错的。
两路由器都开启/proc/sys/net/ipv4/ip_forward,

开始时1 4号机还没开启,只是2??3互连,完全四张网卡ping通没问题,但当连上1号机后,1号机??linux redhat9 也装了双网卡,但一网卡没接网线,接上1号机后,2号机仍能与1号机ping通,但2 3号机不能ping通。我觉得我路由表也没设错,设的是静态路由,下附三台机子的路由表:
我在终端中敲route后:
1号机:

kernel ip routing table
destination          gateway         genmask            flag         metric         ref            use       iface
192.168.50.0         X             255.255.255.0      U               0               0            0         eth1
192.168.10.0         X             255.255.255.0      U               0               0            0         eth0
192.168.20.0         X             255.255.255.0      U               0               0            0         eth0
127.0.0.0                X             255.0.0.0               U               0               0            0         lo
169.254.0.0             X             255.255.0.0         U               0               0            0         eth1

PS:在一开始1号机启动的时候,默认的eth1 ip是 192.168.30.1, eth0 192.168.20.2,当时2 3号机在线,但我开机后马上改过来了,变成上面所示了,这应该没太多问题吧。


2号机:
kernel ip routing table
destination          gateway         genmask            flag         metric         ref            use       iface
192.168.20.0         X             255.255.255.0      U               0               0            0         eth1
192.168.30.0         X             255.255.255.0      U               0               0            0         eth1
192.168.10.0         X             255.255.255.0      U               0               0            0         eth0
127.0.0.0                X             255.0.0.0                U               0               0            0         lo

3号机:
kernel ip routing table
destination          gateway         genmask            flag         metric         ref            use       iface
192.168.20.0         X             255.255.255.0      U               0               0            0         eth0
192.168.30.0         X             255.255.255.0      U               0               0            0         eth1
192.168.10.0         X             255.255.255.0      U               0               0            0         eth0
127.0.0.0                X             255.0.0.0                U               0               0            0         lo


望各位指点啊,十分感谢,为了这个我搞了两天了。还是不行。怪事啊。路由表也不觉有错啊。

雨中的雨 发表于 2005-11-20 09:58:22

今天我又在做这个路由,怪的很,我现在用四台机:
1??2??3??4
Device      Eth0                              Eth1
PC1      192.168.10.2/24      
Route1      192.168.10.1/24      192.168.20.1/24
Route2      192.168.20.2/24      192.168.30.1/24
PC2      192.168.30.2/24      

1 4为两客户机??PC1 PC2,只有一张网卡。
2 3为两模拟的路由linux PC,有双网卡。
三个网段,同网段的网卡互连,这个我还是不会出错的。
两路由器都开启/proc/sys/net/ipv4/ip_forward,

开始时1 4号机还没开启,只是2??3互连,完全四张网卡ping通没问题,但当连上1号机后,1号机??linux redhat9 也装了双网卡,但一网卡没接网线,接上1号机后,2号机仍能与1号机ping通,2 3号机也能ping通,但1 3号机不通。我觉得我路由表也没设错,设的是静态路由,下附三台机子的路由表:
我在终端中敲route后:
1号机:

kernel ip routing table
destination          gateway         genmask            flag         metric         ref            use       iface
192.168.50.0         X             255.255.255.0      U               0               0            0         eth1
192.168.10.0         X             255.255.255.0      U               0               0            0         eth0
192.168.20.0         X             255.255.255.0      U               0               0            0         eth0
127.0.0.0                X             255.0.0.0               U               0               0            0         lo
169.254.0.0             X             255.255.0.0         U               0               0            0         eth1

PS:在一开始1号机启动的时候,默认的eth1 ip是 192.168.30.1, eth0 192.168.20.2,当时2 3号机在线,但我开机后马上改过来了,变成上面所示了,这应该没太多问题吧。


2号机:
kernel ip routing table
destination          gateway         genmask            flag         metric         ref            use       iface
192.168.20.0         X             255.255.255.0      U               0               0            0         eth1
192.168.30.0         X             255.255.255.0      U               0               0            0         eth1
192.168.10.0         X             255.255.255.0      U               0               0            0         eth0
127.0.0.0                X             255.0.0.0                U               0               0            0         lo

3号机:
kernel ip routing table
destination          gateway         genmask            flag         metric         ref            use       iface
192.168.20.0         X             255.255.255.0      U               0               0            0         eth0
192.168.30.0         X             255.255.255.0      U               0               0            0         eth1
192.168.10.0         X             255.255.255.0      U               0               0            0         eth0
127.0.0.0                X             255.0.0.0                U               0               0            0         lo


望各位指点啊,十分感谢,为了这个我搞了两天了。还是不行。怪事啊。路由表也不觉有错啊。

雨中的雨 发表于 2005-11-20 09:59:27

3楼的贴子有点错误,以4楼的为准。
望指点,十分感谢。
具体问题是:

接上1号机后,2号机仍能与1号机ping通,2 3号机也能ping通,但1 3号机不通。[/u]3楼的贴子说错了。

[ 本帖最后由 雨中的雨 于 2005-11-20 10:00 编辑 ]

DreamCat 发表于 2005-11-20 15:31:04

我还是那句话,你设置路由了么? 比如 1 要访问 3, 1 怎么知道从哪儿route到 3?

雨中的雨 发表于 2005-11-20 18:57:43

谢版主指点了,我做的头晕,上火,火大,有些东西没看清楚,这次调通四机串联了,但现在五机串联有出了问题,但这次真是不是路由表的问题了,我在虚拟机上试过的,通的,我一模一样在实际环境下接就是有问题!请帮忙看看了,真是十分感谢。
http://www.routerclub.com/viewthread.php?tid=10431&extra=page%3D1

ttsee 发表于 2005-11-20 19:46:49

太深奥了

看不懂

顶了先

雨中的雨 发表于 2005-11-21 19:37:40

老大们,我回来了,终于搞定了,这几天的问题一扫而空了,原来我几台机子的路由表是完全没问题的,只是不知为什么arp通告上有点问题,几台机子ping 最远端的机子时,不通,我先用tcpdump监听,发现有请求,但只是无回应,然后我敲入arp命令,发现arp表中的相对应的mac一栏写在:incomplete,我就用arp命令,强行添加一个mac地址,现在一切都解决了。
我就想啊,我再怎么笨也不可能把才要加六个静态路由这么简单的事弄错,现在算是勉强解决了问题。但为什么会出现arp不通告的问题,还有待检查,但能用就行,以后空下来再说,接下去还要试验两个TC命令的脚本。呵呵,有问题,还会再麻烦各位老大们的。
页: [1]
查看完整版本: 双网卡,linux路由,TC,做的好累!