Дано:
1. mail# uname -v
FreeBSD 7.1-RELEASE #0: Thu Jan 1 14:37:25 UTC 2009 2. mail# ifconfig
ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 00:02:44:18:89:49
inet 192.168.5.144 netmask 0xffffff00 broadcast 192.168.5.255
media: Ethernet autoselect (10baseT/UTP)
ed1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 00:80:48:c9:86:63
inet 192.168.6.144 netmask 0xffffff00 broadcast 192.168.6.255
media: Ethernet autoselect (10baseT/UTP)
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9<RXCSUM,VLAN_MTU>
ether 00:e0:81:21:69:ac
inet 192.168.0.144 netmask 0xffffff00 broadcast 192.168.0.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
3. mail# netstat -r
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.5.1 UGS 0 93406 ed0
4. В Инет 2 канала через ADSL роутеры. На обоих ADSL роутерах пробрасывается порт 25 по схеме:
ADSL1 192.168.5.1:25 -> 192.168.5.144:25 -- он же default gateway
ADSL2 192.168.6.1:25 -> 192.168.6.144:25
xl0 - 192.168.0.144 -> внутренняя сеть
NAT - только ADSL роутерах.
MX записи:
1. Приоритет 5 указывает на внешний IP ADSL1.
2. Приоритет 10 указывает на внешний IP ADSL2.
Почту принимает sendmail. Т. к. default gateway - ADSL1 192.168.5.1 - то почта идет только через этот канал. Задача - принимать почту на обоих каналах.
natd и ipfw пока не задействованы.
Решение вижу в использовании констукции "ipfw add fwd" и возможно natd. Но не знаю главного - как различать пакеты, пришедшие на 25 порт с разных интерфейсов.
Просмотрел много материала, но везде описывается обратная задача - балансировка между каналами ИСХОДЯЩИМИ из локальной сети пакетами.