Jak dla mnie to czarno to widzę...
Po pierwsze, to że masz 2 łącza to pół sukcesu, bo wypchniesz raz jednym, a raz drugim pocztę wychodzącą. Pytanie brzmi: Co z pocztą przychodzącą?
Jedyne sensowne rozwiązanie (oprócz BGP) które przychodzi mi do głowy to lekka manipulacja strefą dns. Dajesz rr-set order fixed i dwa wpisy A dla swojego MX'a.Teoria mówi, że jak pierwszy wpis A odpowie timeoutem, to rozpocznie się dialog na drugim, jednak nigdy nie sprawdzałem co na to MTA. Drugi problem to co powiedzą filtry antyspamowe jak poczta wychodząca z twojego serwera raz będzie wychodziła z domeny xyz z adresem ip 1, a potem z domeny xyz z innym IP.
Drugi patent to cholernie krótki TTL dla strefy w której opisany jest twój MX, po padnięciu łącza, zmieniamy mu IP, restartujemy named'a i w świat leci że twój MX właśnie zmienił sobie łącze. Czy zadziała nie wiem, tylko teoretyzuję.
Co do samego wyjścia przez dwie karty poszukaj w google czegoś w stylu "routing howto". Ogólnie musisz mieć dwie tablice routingu i w zależności od tego które łącze działa ustawiać default gateway. Kolejny zonk to taki, że jak padnie łącze, to jakoś wyjście trzeba przestawić, o ile konfig MTA umożliwia podanie kilku IP na których postfix ma pracować, to automatycznie przestawianie bramy ma się mizernie. Bo jak tu sprawdzić, czy główne łącze żyje. Pingując jakiś host w sieci, mamy możliwość , że host ten zdechnie i łącze przełączy nam się bez sensu. Pingując nexthop za naszą bramą, będziemy mieli problem jeśli padnie jakiś host dalej na trasie, bo wtedy nam się nie przełączy.
Ogólnie to chyba wszystko z mojego czarnowidztwa, jak ktoś ma jakieś doświadczenia w tym temacie, to chętnie się zapoznam bo to Ciekawy temat jest.