Bár már írtam egyszer, de válasz nélkül maradt: próbáltad már az eredeti konfigot kívülről tesztelni?
ilyesmivel én is szívtam...
Próbáld meg kívülről is letesztelni, lehet, hogy már működik, csak belülről nézve ez nem látszik, ugyanis amit írtál
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 25 -j DNAT --to 192.168.1.45:25
szerint ha belülről teszteled, a csomag nem eth1 -en fog megérkezni, és akkor ez a rule nem matchol, és nem lesz DNAT-olva, pedig 'kívülről' nézve nagyon is jól működik.