双网卡,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 编辑 ] 你是不是只开启了端口转发,并没有设置路由?
TC的问题你只管问哈,这里很多人都很熟悉的,除了我~~ 今天我又在做这个路由,怪的很,我现在用四台机:
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
望各位指点啊,十分感谢,为了这个我搞了两天了。还是不行。怪事啊。路由表也不觉有错啊。 今天我又在做这个路由,怪的很,我现在用四台机:
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
望各位指点啊,十分感谢,为了这个我搞了两天了。还是不行。怪事啊。路由表也不觉有错啊。 3楼的贴子有点错误,以4楼的为准。
望指点,十分感谢。
具体问题是:
接上1号机后,2号机仍能与1号机ping通,2 3号机也能ping通,但1 3号机不通。[/u]3楼的贴子说错了。
[ 本帖最后由 雨中的雨 于 2005-11-20 10:00 编辑 ] 我还是那句话,你设置路由了么? 比如 1 要访问 3, 1 怎么知道从哪儿route到 3? 谢版主指点了,我做的头晕,上火,火大,有些东西没看清楚,这次调通四机串联了,但现在五机串联有出了问题,但这次真是不是路由表的问题了,我在虚拟机上试过的,通的,我一模一样在实际环境下接就是有问题!请帮忙看看了,真是十分感谢。
http://www.routerclub.com/viewthread.php?tid=10431&extra=page%3D1 太深奥了
看不懂
顶了先 老大们,我回来了,终于搞定了,这几天的问题一扫而空了,原来我几台机子的路由表是完全没问题的,只是不知为什么arp通告上有点问题,几台机子ping 最远端的机子时,不通,我先用tcpdump监听,发现有请求,但只是无回应,然后我敲入arp命令,发现arp表中的相对应的mac一栏写在:incomplete,我就用arp命令,强行添加一个mac地址,现在一切都解决了。
我就想啊,我再怎么笨也不可能把才要加六个静态路由这么简单的事弄错,现在算是勉强解决了问题。但为什么会出现arp不通告的问题,还有待检查,但能用就行,以后空下来再说,接下去还要试验两个TC命令的脚本。呵呵,有问题,还会再麻烦各位老大们的。
页:
[1]