URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 85442
[ Назад ]

Исходное сообщение
"sendmail + 2 провайдера + 2 mx записи. Как принимать почту с 2"

Отправлено klirens , 28-Май-09 14:18 
Дано:
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 порт с разных интерфейсов.

Просмотрел много материала, но везде описывается обратная задача - балансировка между каналами ИСХОДЯЩИМИ из локальной сети пакетами.


Содержание

Сообщения в этом обсуждении
"sendmail + 2 провайдера + 2 mx записи. Как принимать почту с..."
Отправлено PavelR , 28-Май-09 19:25 
>[оверквотинг удален]
>2. Приоритет 10 указывает на внешний IP ADSL2.
>
>Почту принимает sendmail. Т. к. default gateway - ADSL1 192.168.5.1 - то
>почта идет только через этот канал.  Задача - принимать почту
>на обоих каналах.
>natd и ipfw пока не задействованы.
>
>Решение вижу в использовании констукции "ipfw add  fwd" и возможно natd.
>Но не знаю главного - как различать пакеты, пришедшие на 25
>порт с разных интерфейсов.

Они отличаются айпишником интерфейса, на который устанавливалось соединение, соответственно с этого же IP-адреса и пойдут ответные пакеты.

>
>Просмотрел много материала, но везде описывается обратная задача - балансировка между каналами
>ИСХОДЯЩИМИ из локальной сети пакетами.


"sendmail + 2 провайдера + 2 mx записи. Как принимать почту с..."
Отправлено Medlar , 29-Май-09 09:59 
а sendmail'у вы велели слушать 25 порт на обоих интерфейсах ?

"sendmail + 2 провайдера + 2 mx записи. Как принимать почту с..."
Отправлено Pahanivo , 29-Май-09 10:17 
>Решение вижу в использовании констукции "ipfw add  fwd" и возможно natd.
>Но не знаю главного - как различать пакеты, пришедшие на 25
>порт с разных интерфейсов.
>
>Просмотрел много материала, но везде описывается обратная задача - балансировка между каналами
>ИСХОДЯЩИМИ из локальной сети пакетами.

если у тебя не включен роутинг то все должно нормально приниматься и так нормально - главное чтобы почтаврь слушал оба интерфейса

если включен - ipfw fwd осуществляй форвардинг исходящих пакетов по соурс айпи -
те пакет уходящий с соурс айпи НЕ ДЕФОУЛ интерфейса форварди на шлюз этого интерфейса


"sendmail + 2 провайдера + 2 mx записи. Как принимать почту с..."
Отправлено klirens , 29-Май-09 11:00 
>если у тебя не включен роутинг то все должно нормально приниматься и
>так нормально - главное чтобы почтаврь слушал оба интерфейса
>
>если включен - ipfw fwd осуществляй форвардинг исходящих пакетов по соурс айпи
>-
>те пакет уходящий с соурс айпи НЕ ДЕФОУЛ интерфейса форварди на шлюз
>этого интерфейса

Теперь я понял, где тормознул. Решение об отправке пакета через шлюз по умолчанию принимается на основании ip получателя. И в любом случае там есть ip отправителя , который и является в моем случае 192.168.6.144,и не МЕНЯЕТСЯ, даже если пакет уйдет через другой итерфейс.

Роутинг у меня включен, но в данный момент хост является почтовым сервером и я его могу отрубить. Сегодня попробую.


"sendmail + 2 провайдера + 2 mx записи. Как принимать почту с..."
Отправлено Pahanivo , 29-Май-09 11:05 
>[оверквотинг удален]
>>
>>если включен - ipfw fwd осуществляй форвардинг исходящих пакетов по соурс айпи
>>-
>>те пакет уходящий с соурс айпи НЕ ДЕФОУЛ интерфейса форварди на шлюз
>>этого интерфейса
>
>Теперь я понял, где тормознул. Решение об отправке пакета через шлюз по
>умолчанию принимается на основании ip получателя. И в любом случае там
>есть ip отправителя , который и является в моем случае 192.168.6.144,и
>не МЕНЯЕТСЯ, даже если пакет уйдет через другой итерфейс.

как правило (и это парвильно) провайдер фильтреут исходящие пакеты клиента по соурс адресам этого клиента - пакет то у тебя через дефоул уйдет, но будет дропнут на шлюзе провайдера, так айпи не его
поэтому либо роутинг отрубать либо форвадинг настраивать (аля PBR)

>Роутинг у меня включен, но в данный момент хост является почтовым сервером
>и я его могу отрубить. Сегодня попробую.


"sendmail + 2 провайдера + 2 mx записи. Как принимать почту с..."
Отправлено klirens , 29-Май-09 11:17 
>как правило (и это парвильно) провайдер фильтреут исходящие пакеты клиента по соурс
>адресам этого клиента - пакет то у тебя через дефоул уйдет,
>но будет дропнут на шлюзе провайдера, так айпи не его
>поэтому либо роутинг отрубать либо форвадинг настраивать (аля PBR)
>

Далее на ADSL роутере включен НАТ, так что пакет пройдет, но к отправителю он вернеться с другого ip (через другой канал) и  TCP соединение остается в состоянии SYN_SENT.


"sendmail + 2 провайдера + 2 mx записи. Как принимать почту с..."
Отправлено klirens , 29-Май-09 11:35 
Отключение роутинга не помогло. Ниже подтветждение моих слов. Я запустил telnet canal1.com 25  и telnet canal2.com 25 одновременно c адреса 92.113.146.56. Вот результат:

$ netstat -an
Active Internet connections (including servers)
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
tcp4       0      0 192.168.6.144.25       92.113.146.56.4045     SYN_RCVD
tcp4       0      0 127.0.0.1.8025         89.45.50.182.2832      SYN_RCVD
tcp4       0      0 192.168.5.144.25       92.113.146.56.4048     ESTABLISHED
tcp4       0      0 192.168.0.144.110      192.168.0.131.4689     TIME_WAIT
tcp4       0      0 192.168.0.144.22       192.168.0.131.4686     ESTABLISHED
tcp4       0     15 127.0.0.1.8025         58.214.141.21.2826     ESTABLISHED
tcp4       0      0 *.110                  *.*                    LISTEN
tcp4       0      0 *.587                  *.*                    LISTEN
tcp4       0      0 *.465                  *.*                    LISTEN
tcp6       0      0 *.25                   *.*                    LISTEN
tcp4       0      0 *.25                   *.*                    LISTEN