Atgondoltam más szemszögből. Nem tudom, működik-e, egy próbát talán megér.
Eddig azért nem ment, mert a tűzfaladon akart a B. kifelé küldeni (mert az a def gw), ott viszont valszeg ez nem volt megengedett.
Tehát maradjon a DNAT a levelezőszerveren, úgy ahogy eddig volt, legyen a B. gw-je a tűzfal, ÉS a tűzfalon ki kell engedned a csomagokat (-s 192.168.1.45 --sport 25) VALAMINT kell ugyanezen csomagokra SNAT is, hogy a forrás címét átírja a levelezőszerverére, mintha az küldte volna ki.
A routered azt látja majd, hogy a mailszervernek változik a MAC-je.
B. változat, ez biztos működik, de jobban szét kell szedni a netet:
Mailszervert berakod a tűzfal mögé, belső IP-re (mondjuk 1.40). Egyik hálókártya innentől felesleges, tűzfal nem kell rá.
mailszerver régi IP-jét vagy berouteolod a tűzfal mögé, vagy tűzfal külső interfészére felveszed alias-nak (eth0:1). Teljesen mindegy, mert úgyis csinálsz egy DNAT-ot, ami a 25-ös portra érkező csomagokat nyomja a Barr. felé. Barr-ában az SMTP szervert átállítod 1.40-re, valamint tűzfalban SNAT-ot csinálsz az 1.40 felől érkező csomagokra, hogy felvegyék a mailszerver IP-jét.
(ha be birod route-olni a mailszerver IP-t a tűzfal mögé, akkor a mailszerver megtarthatja az külső IP-jét, és nem kell a SNAT sem)