Linux软件桥梁

我有以下设置:

例

我想发送文件从10.1.1.7到10.1.1.3与警告,如果链接AB下来,然后文件传输应切换到链接AC和CB。

但问题是其他接口IP是10.1.1.17,因此即使它接收到10.1.1.3的数据包,也会忽略它们。

我试过的一个可能的解决scheme是我在接收机上创build了一个软件,并在其下面添加了10.1.1.3和10.1.1.17。 但是,一旦我这样做,即使所有链接都启动,两个接口都会停止响应ARP查询。

有关如何解决这个问题的任何想法?


更新:

这里是如何设置桥:(Linux的Ubuntu的9.04)

我首先从第一台机器启动到第二台机器(在ip 10.1.1.3(eth10)上)


 $$ brctl addbr br0
 $$ brctl addif br0 eth8
 $$ brctl addif br0 eth10(这个ping之后立即停止)
 $$ ifconfig br0 0

但是,一旦我这样做,eth10(10.1.1.3)停止响应IP地址10.1.1.3的ARP查询即使解除它们。

在执行上述命令后,会附加到dmesg中:

 device eth8左边的混杂模式[132445.491404]

 [132445.491433] br0:端口2(eth8)进入禁用状态

 device eth10左边的混杂模式[132445.491520]

 [132445.491532] br0:端口1(eth10)进入禁用状态

设备eth8进入混杂模式

 device eth10进入混杂模式[132474.881542]

 [132480.161572] br0:端口2(eth10)进入学习状态

 [132480.161585] br0:端口1(eth8)进入学习状态

桥是正确的路要走(呃,其中之一,你也可以使用两台网卡的机器上的绑定)。 如果在启用网桥时一切都会崩溃,那么您可能会遇到生成树问题。 还要记住,当你build立一座桥时,桥会得到一个延迟,当桥学习到networking的拓扑结构时,你必须等到结束之后才能通过任何数据包。

当你build桥时,如果你安装了另一个交换机而不是桥接器,那是一样的。

而实际上,你正在得到一个环=)这是行不通的:要么你的networking会死,要么STP会阻止其中一个链接。