Страница 1 из 1

Smarthost при смене IP

Добавлено: 2014-10-28 14:49:35
sergio
Доброго всем времени! Подскажите!

Есть в 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?

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

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

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

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

Добавлено: 2014-10-29 12:07:28
sergio
При чём тут ДНС записи зоны, если мне просто надо при смене ИП слать письма через релей второго провайдера?

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

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

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

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

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

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

Добавлено: 2014-10-29 12:09:55
sergio
Это самое простое решение?

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

Добавлено: 2014-10-29 16:40:35
sergio
Пытаюсь пока вот так:

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

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.
Не могу вкурить почему ( ????

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

Добавлено: 2014-10-30 17:20:21
sergio
Может кому пригодится нашёл вот-такое решение:
В конфиг ексима (должно стоять перед dnslookup):

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

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

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

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

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

Добавлено: 2014-11-24 19:47:49
moury
Приношу извинения за задержку с ответом.

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

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