Bonding and failover doesn't work normally

Hello guys,
I have problem about bonding and I hope you can help me on this.
I try to build a bonding link in my lab.

Router 1
eth1 : 192.168.1.1/24
eth2 : 192.168.2.1/24
eth3 : 192.168.10.5/24

Router 2
eth1 : 192.168.1.2/24
eth2 : 192.168.2.2/24
eth3 : 192.168.11.5/24

eth1 (router 1) connected to eth1(router 2) through cross cable A.
eth2 (router 1) connected to eth2(router 2) through cross cable B.
eth3 on router 1 connected to PC 1 (192.168.10.1) and eth3 on router 2 connected to PC 2 (192.168.11.1)

configuration :
router 1 :
[admin@router1] /interface eoip add remote-address=192.168.1.2 tunnel-id=1 name=eoip-tunnel1
[admin@router1] /interface eoip add remote-address=192.168.2.2 tunnel-id=2 name=eoip-tunnel2

[admin@router1] /interface bonding add slaves=eoip-tunnel1,eoip-tunnel2 name=bonding1
[admin@router1] /ip address add address=172.16.1.1/24 interface=bonding1

[admin@router1] /ip route add dst=192.168.11.0/24 gateway=172.16.1.2

router 2 :
[admin@router2] /interface eoip add remote-address=192.168.1.1 tunnel-id=1 name=eoip-tunnel1
[admin@router1] /interface eoip add remote-address=192.168.2.1 tunnel-id=2 name=eoip-tunnel2

[admin@router1] /interface bonding add slaves=eoip-tunnel1,eoip-tunnel2 name=bonding1
[admin@router1] /ip address add address=172.16.1.2/24 interface=bonding1

[admin@router1] /ip route add dst=192.168.10.0/24 gateway=172.16.1.1

PC 1 can ping PC2 and PC 2 can ping PC 1
Transfer data from PC 1 to PC 2 works. Also PC 2 can transfer data to PC 1

The problem is :
If one of the connection failed (i.e. cross cable A is unplugged or cross cable B is unplugged), connection between two routers is down, ping between PC is time out.
My goal on this bonding connection is failover will work if one connection failed, but It does not work.

Where is my mistake on my configuration? Please your advise guys

Many thanks before

You can bond directly connected ethernets without making EoIP tunnels.

To make failover work you need to set up link monitoring in bonding configuration.

mrz,
I created eoip to provide connection between 2 routers that will use wireless link.
can u pls explain in more details, how to set this failover method, due to bonding implementation
many thanks for ur time :slight_smile:

http://wiki.mikrotik.com/wiki/Bonding#ARP_Monitoring

Chupaka,
thank you for advising,
I have two wireless link, one act as main link and other for redundant. I need to use these both link to work in bonding method, so data rates can be accumulated and whenever one link is down connection still up by the other one.
I use 2 routers (RB750) on the end, used for bonding and failover purposes. The router is connected to 2 RB wireless. Wireless is configured using bridge mode.

question : is your advising above meet with my goal? any suggestion is really appreciated.
Many thanks for your time

well, just try to play with it =) what kind of traffic do you have? maybe you can use ECMP routing instead of bonding…

that’s the setting on your bonding

http://wiki.mikrotik.com/wiki/Manual:Interface/Bonding#balance-rr

Chupaka & shielder,
bonding works now and also failover works well. Configuration refers to your advise.
But data can not delivered across bonding connection.
At the end of bonding connection, there are 2 PCs connected to this link, each side connected to one PC
Problem : PC can not ping PC on the other side.
pls advise

Put both interface ether1 (connected to PC) and interface bonding into interface bridge1, makes the two PCs can communicate each other.
is it recommended?

what addresses PCs have? should it be bridging or routing?

The connection is descripted as below :

PC1 – Router (failover/bonding) ========== Router (failover/bonding) – PC2

note :
– : straight cable
== : 2 wireless link, wireless radio running in bridge (wireless radio doesn’t appear in picture)

PC have the same subnet IP address with other PC on other side.
Example : PC1 = 192.168.1.1/24
PC2 = 192.168.1.2/24

IP interface bonding on router1 : 172.16.0.1 and router2 : 172.16.0.2
If eth1 (not bonded) and interface bonding are bridged on router1 (same on router2), PC1 can ping to PC2; PC2 can ping PC1
BUT if eth1 and interface bonding are not bridged, PC1 can not ping PC2; PC2 can not ping PC1
question : what is the best way to choose? bridging or routing?
is able to route in same subnet?
pls ur advise and many thanks in advance

same segment = bridge

Chupaka,
it works.
thank you very much :slight_smile: