Nu, odpověď je pořád stejná, použij VRRP.

Oba porty 1 a 2 na switchi připoj na ty stejné VLANy, ať MK i linux vidí všechno stejně. A IP adresa, co je pro ty ostatní krámy připojené do toho switche, jako brána se dá na starost VRRP a ten ji bude držet na tom routeru, co pojede (a bude mít vyšší prioritu).
Aby ti to reagovalo i na výpadke linky, tak v linuxu si pustíš skriptík pingající někam do netu a při nedostupnosti ti sejme vrrp proces a převezme to tím pádem MKčko. Na MKčko stejné uděláš třeba pomocí netwatch.
Pokud máš vác VLAN a víc lokálních segmentů, tak VRRP se pouští pro každý IP segment zvlášť. Tím pak můžeš udělat i statické rozělení zátěže na obě linky, kdy část VLAN použivá ISP1 a druhá půlka ISP2 a když jedno z toho chcípne, tak vše jede přes toho živého.
Leta prověřená a používaná technika.

Jen nevím, jak je na tom podpora VRR do linuxu teď, používla jsem naposledy tka před deseti lety...
Kdyby jsi měl jen dvě MKčka, řekněme ether1 by byl lan segment 192.168.1.0/24, brána na něm 192.168.1.254,
potom druhá síť by byla nad ether1 VLAN2 192.168.2.0/24, brána na něm 192.168.2.254,
s tím, že síť 192.168.1.0/24 jde ven normálně přes RB1 a VLAN2 síť přes RB2,
testovací IP v internetu 1.1.1.1, tak by to mohlo vypadat takto:
Kód: Vybrat vše
RB1:
/interface vlan add name=vlan2 interface=ether1 vlan-id=2
/interface vrrp add name=vrrp1 interface=ether1 priority=100 vrid=1 version=2 preemption-mode=yes
/interface vrrp add name=vrrp2 interface=vlan2 priority=75 vrid=1 version=2 preemption-mode=yes
/ip address add interface=ether1 address=192.168.1.251/24
/ip address add interface=vrrp1 address=192.168.1.254/32
/ip address add interface=vlan2 address=192.168.2.251/24
/ip address add interface=vrrp2 address=192.168.2.254/32
/tool netwatch
add host=1.1.1.1 interval=2s timeout=500ms
down-script="/interface vrrp set [ find name=\"vrrp1\" ] priority=50; /interface vrrp set [ find name=\"vrrp2\" ] priority=25"
up-script="/interface vrrp set [ find name=\"vrrp1\" ] priority=100; /interface vrrp set [ find name=\"vrrp2\" ] priority=75"
RB2:
/interface vlan add name=vlan2 interface=ether1 vlan-id=2
/interface vrrp add name=vrrp1 interface=ether1 priority=75 vrid=1 version=2 preemption-mode=yes
/interface vrrp add name=vrrp2 interface=vlan2 priority=100 vrid=1 version=2 preemption-mode=yes
/ip address add interface=ether1 address=192.168.1.252/24
/ip address add interface=vrrp1 address=192.168.1.254/32
/ip address add interface=vlan2 address=192.168.2.252/24
/ip address add interface=vrrp2 address=192.168.2.254/32
/tool netwatch
add host=1.1.1.1 interval=2s timeout=500ms
down-script="/interface vrrp set [ find name=\"vrrp1\" ] priority=25; /interface vrrp set [ find name=\"vrrp2\" ] priority=50"
up-script="/interface vrrp set [ find name=\"vrrp1\" ] priority=75; /interface vrrp set [ find name=\"vrrp2\" ] priority=100"
Místo 1.1.1.1 je třeba si zvolit vhodnou IP, co pojede vždy, či-li nejlépe něco anycastového. Neřeknu, co používám.

Ekvivalentní přepis RB1 do linuxu si musíš naskriptovat. Živoucí vypadá VRRP projekt zde:
http://sourceforge.net/projects/vrrpd/Já před 10 lety používal toto (ale jen linuxy mezi sebou):
http://off.net/~jme/vrrpd/