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

Как задать exim ip через который работать?

Добавлено: 2012-09-13 11:43:36
dimish
А как-то можно задать ip-шник с которого exim будет слать почту? У меня в системе несколько адресов и как-то он шлёт с какого ему вздумается, а надо с одного конкретного..

Re: Как задать exim ip через который работать?

Добавлено: 2012-09-13 11:47:51
dimish
Или он шлёт через резолв адреса указанного в primary_hostname?

Re: Как задать exim ip через который работать?

Добавлено: 2012-09-13 11:50:10
bagas
ну а если через acl_smtp_rcpt
accept
sender_host_address = ип_нужный.
как то так.

Re: Как задать exim ip через который работать?

Добавлено: 2012-09-13 13:10:15
mak_v_

Re: Как задать exim ip через который работать?

Добавлено: 2012-09-13 13:56:50
dimish
Ну, вроде как - да. Спасибо..

И про приём заодно узнал, а то я фаерволом делал.. =)

Re: Как задать exim ip через который работать?

Добавлено: 2012-09-14 16:53:11
dimish
Ааа.. Факиш случился.. =) А как сделать несколько ип? Просто у меня некоторая почта ещё и релеется дальше в локалку и идёт туда, соответственно, через локальный интерфейс, про который я благополучно забыл. =)
Вот так можно?:
remote_smtp:
driver = smtp
interface = 1.1.1.1 : 2.2.2.2 : 3.3.3.3

Re: Как задать exim ip через который работать?

Добавлено: 2012-09-17 12:25:04
skeletor
да.

Re: Как задать exim ip через который работать?

Добавлено: 2012-09-20 16:26:22
dimish
Я дико извиняюсь, но.. =)

Почему-то при задании исходящего интерфейса перестаёт релеиться почта в локалку с помощью такого роутера:

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

exchange_router:
    driver = "manualroute"
    domains = mydomain.ru
    transport = remote_smtp
    route_list = * 10.0.10.40
    no_more
Причём, письма наружу уходят как и планировалось через один IP, а входящие для mydomain.ru, которые должны релеиться дальше, болтаются в очереди и никуда не пересылаются.
Напрашивается ответ, что надо дописать второй, уже внутренний IP в качестве исходящего, как указано выше:

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

remote_smtp:
 driver = smtp
 interface = 1.1.1.1 : 192.168.1.99
но всё равно ничего не происходят - письма для релея висят в очереди и всё. А что я делаю не так?

Re: Как задать exim ip через который работать?

Добавлено: 2012-09-20 18:03:14
skeletor
Может у вас последовательность роутов не правильная? Для Exim'a важен порядок роутов

Re: Как задать exim ip через который работать?

Добавлено: 2012-09-21 9:16:44
dimish
Ну, вроде, по логике всё правильно. Как в учебнике. =)

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

begin routers
# релеем почту на эксчейнж в локалке.
exchange_router:
    driver = "manualroute"
    domains = mydomain.ru
    transport = remote_smtp
    route_list = * 10.0.10.40
    no_more


# Поиск маршрута к хосту в DNS. Если маршрут не найден в DNS -
# то это `унроутабле аддресс`. Не проверяются локальные
# домены, 0.0.0.0 и 127.0.0.0/8
dnslookup:
  driver = dnslookup
  domains = ! +local_domains
  transport = remote_smtp
  ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
  no_more

system_aliases:
    driver      = redirect
    allow_fail
    allow_defer
    data = ${lookup mysql{SELECT `goto` FROM `alias` WHERE \
           `address`='${quote_mysql:$local_part@$domain}' OR \
           `address`='${quote_mysql:@$domain}'}}

mysqluser:
  driver = accept
  condition = ${if eq{}{${lookup mysql{SELECT `maildir` FROM `mailbox` \
              WHERE `username`='${quote_mysql:$local_part@$domain}'}}}{no}{yes}}
  transport = mysql_delivery
Транспорты:

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


begin transports

# Доставка на удалённые хосты - по SMTP
remote_smtp:
    driver = smtp
    interface = my.ext.ip.11 : 192.168.1.99     # ip назначенные на интерфейсы - 11 один из внешних, 99 - смотрит внутрь локалки.

mysql_delivery:
    driver = appendfile
    check_string = ""
    create_directory
    delivery_date_add
    directory = ${lookup mysql{SELECT CONCAT('/var/mail/exim/', `maildir`) \
                FROM `mailbox` WHERE `username`='${local_part}@${domain}'}}
    directory_mode = 770
    envelope_to_add
    group = mail
    maildir_format
    maildir_tag = ,S=$message_size
    message_prefix = ""
    message_suffix = ""
    mode = 0600

address_file:
    driver = appendfile
    delivery_date_add
    envelope_to_add
    return_path_add

# Имя программы
address_pipe:
  driver = pipe
  return_output

# Транспорт для автоответов
address_reply:
  driver = autoreply

Re: Как задать exim ip через который работать?

Добавлено: 2012-09-21 12:23:49
skeletor
Сложно что-то сказать. Попробуйте дебагом посмотреть какие роуты проходит почта для локалки.

Re: Как задать exim ip через который работать?

Добавлено: 2012-09-21 13:53:06
dimish
А как это сделать, не подскажите?

Re: Как задать exim ip через который работать?

Добавлено: 2012-09-21 14:32:29
skeletor

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

exim -bv -v -d+all user@domain.ua >/tmp/test1 2>&1
в файл /tmp/test1 вывалиться дебаг всех роутов, которые проходит письмо для юзера user@domain.ua