Smarthost при смене IP

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
sergio
мл. сержант
Сообщения: 79
Зарегистрирован: 2006-12-30 2:47:28
Откуда: Русь Києвська

Smarthost при смене IP

Непрочитанное сообщение sergio » 2014-10-28 14:49:35

Доброго всем времени! Подскажите!

Есть в EXIM такой чудесный роутер, который умеет слать почту на релей провайдера
smarthost:
driver = manualroute
domains = !@ # Это если ВСЮ исходящую почту слать на смартхост
transport = remote_smtp
route_list = * mail.provaider2.net
ВОПРОС: У меня стало 2 провайдера, как задействовать этот смартхост, только когда у меня сменился шлюз на 2-го провайдера?
Как так написать условие?

В штатном режиме (при IP 1.1.1.1 используется dnslookup). А вот как так сделать чтоб при IP 2.2.2.2 юзался этот smarthost?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

moury
сержант
Сообщения: 249
Зарегистрирован: 2009-02-06 23:02:40
Откуда: Москва
Контактная информация:

Re: Smarthost при смене IP

Непрочитанное сообщение moury » 2014-10-28 21:13:06

Решений - несколько. Самое методически простое - использовать неизменное доменное имя смартхоста в собственной ДНС-зоне, а вот значение A(CNAME) записи для этого доменного имени менять в зависимости от провайдера.

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

Аватара пользователя
sergio
мл. сержант
Сообщения: 79
Зарегистрирован: 2006-12-30 2:47:28
Откуда: Русь Києвська

Re: Smarthost при смене IP

Непрочитанное сообщение sergio » 2014-10-29 12:07:28

При чём тут ДНС записи зоны, если мне просто надо при смене ИП слать письма через релей второго провайдера?

Или вы имеете ввиду подгружать то один конфиг зоны то второй?
Типо так:

Код: Выделить всё

Вариант 1
.................
@     IN   MX 10 mail
mail  IN     A 1.1.1.1
.................

Код: Выделить всё

Вариант 2
......................
@      IN  MX 10 mail
mail  IN   A    2.2.2.2
......................

Аватара пользователя
sergio
мл. сержант
Сообщения: 79
Зарегистрирован: 2006-12-30 2:47:28
Откуда: Русь Києвська

Re: Smarthost при смене IP

Непрочитанное сообщение sergio » 2014-10-29 12:09:55

Это самое простое решение?

Аватара пользователя
sergio
мл. сержант
Сообщения: 79
Зарегистрирован: 2006-12-30 2:47:28
Откуда: Русь Києвська

Re: Smarthost при смене IP

Непрочитанное сообщение sergio » 2014-10-29 16:40:35

Пытаюсь пока вот так:

Код: Выделить всё

smarthost_2:
  driver = manualroute
  domains = !@
  condition = ${run{/usr/script/test1}{1}{0}}
  route_list = * smtp.smart2.net
  transport = remote_smtp
где скрипт /usr/script/test1 смотртит значение текущего шлюза и выдаёт 1 - если Ip сменился и используем резервный канал, 0 = если основной роутер
Скрипт пашет. проверял.
но condition в роутере smarthost_2 всегда срабатывает. Вне зависимости от того 0 или 1.
Не могу вкурить почему ( ????

Аватара пользователя
sergio
мл. сержант
Сообщения: 79
Зарегистрирован: 2006-12-30 2:47:28
Откуда: Русь Києвська

Re: Smarthost при смене IP

Непрочитанное сообщение sergio » 2014-10-30 17:20:21

Может кому пригодится нашёл вот-такое решение:
В конфиг ексима (должно стоять перед dnslookup):

Код: Выделить всё

smarthost_ISP:
     driver = manualroute
     transport = remote_smtp
     route_list = * ${readfile{/usr/local/etc/exim/smarthost}{}}
Этот роутер шлёт исход. письма через релей провайдера, который указан в

Код: Выделить всё

 /usr/local/etc/exim/smarthost
У меня есть скрипт смены шлюза по умолчанию. В него я дописал чтоб он в этот файлик при смене шлюза прописывал smtp.server текущего провайдера.
Потестил = работает всё автоматом при смене провайдера меняем и смтп ))

moury
сержант
Сообщения: 249
Зарегистрирован: 2009-02-06 23:02:40
Откуда: Москва
Контактная информация:

Re: Smarthost при смене IP

Непрочитанное сообщение moury » 2014-11-24 19:47:49

Приношу извинения за задержку с ответом.

sergio, да, это решение - самое методически простое, если у Вас DNS-зона локальной сети - динамическая.

При каждой смене шлюза по умолчанию у Вас выполянется скрипт. Ничто не мешает добавить в этот скрипт две команды: удалить из зоны записи для старого смартхоста и прописать новый смартхост.
Сисадмин - вождь апачей