Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » FAQ по Exim MTA #2

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

Открыть новую тему     Написать ответ в эту тему

ShriEkeR



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FAQ по Exim MTA #1

Текущая версия Exim 4.80

   Home page Автор Philip Hazel, University of Cambridge.
Exim - чертовски быстр, отличный выбор для загруженных систем. Свободно распространяемый Mail Transport Agent (MTA, лицензия GPL), обладающий возможностью очень гибкой и тонкой настройки, включая поиск конфигурационной информации в базах данных - mySQL, PostgresQL, Oracle, SQLite.., а также LDAP.  В Exim встроена поддержка Maildir (quota), SMTP-аутентификация, TLS/SSL, SpamAssassin, сканирование на лету антивирусом(ами), ACL, системные фильтры... Сомневающимся.
На многие вопросы помогут найти ответы рассылки: На русском + На английском
Документация на русском по Exim + много полезной инфы на www.lissyara.su

Установка почтового сервера на базе Exim с поддержкой виртуальный аккаунтов (MySQL).
Подробное руководство состоит из двух связанных частей:
   1. Установка и настройка Exim 4.20.
   2. Установка  и настройка Tpop3d с поддержкой виртуальных аккаунтов.
Внимательно читаем здесь © ginger
-=-=-=-
Улучшенный вариант части 1: Exim-4.50 + MySQL © ginger
-=-=-=-
Так как Tpop3d не совместим с MS Outlook Express 6, а также не поддерживает IMAP, автор рекомендует его заменить на Dovecot. Изменения, которые нужно сделать cмотрим здесь © ginger
-=-=-=-
Еще один вариант установки © Wombat
-=-=-=-
Exim+Courier-Imap+MySQL+ClamAV+DSPAM+SquirrelMail © Павел Семенец Искать по ctrl+F=Павел Семенец
-=-=-=-
Опции для сборки exim из портов (FreeBSD) © tankistua
 
Уважаемые коллеги!
 
Нам очень дороги ваши конфиги и логи на несколько страниц, но, поверьте, их гораздо приятнее читать когда они заключены в тэг more.

Всего записей: 6382 | Зарегистр. 27-09-2004 | Отправлено: 18:49 16-05-2011 | Исправлено: AkeHayc, 21:09 21-04-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd
Цитата:
Главное ведь что бы A и PTR записи были привязаны к одному и тому же IP? А от какого почтового домена идёт письмо не важно?
Абсолютно верно. Пример - Гуглопочта. На ней сидят корпоративные почтовые домены тысяч мелких контор, тем не менее, все эти почтовые сервера - *.GOOGLE.COM либо *.GOOGLEMAIL.COM.
Вот например:

Код:
nslookup -type=mx diamant-irkutsk.ru
Server:         10.1.1.182
Address:        10.1.1.182#53
 
Non-authoritative answer:
diamant-irkutsk.ru      mail exchanger = 20 ALT1.ASPMX.L.GOOGLE.COM.
diamant-irkutsk.ru      mail exchanger = 20 ALT2.ASPMX.L.GOOGLE.COM.
diamant-irkutsk.ru      mail exchanger = 30 ASPMX4.GOOGLEMAIL.COM.
diamant-irkutsk.ru      mail exchanger = 30 ASPMX2.GOOGLEMAIL.COM.
diamant-irkutsk.ru      mail exchanger = 10 ASPMX.L.GOOGLE.COM.
diamant-irkutsk.ru      mail exchanger = 30 ASPMX5.GOOGLEMAIL.COM.
diamant-irkutsk.ru      mail exchanger = 30 ASPMX3.GOOGLEMAIL.COM.

Это сервера, что принимают для них почту.
А отправляют от них уже другие, например этот:
mail-ob0-f181.google.com [209.85.214.181]
И незаметно, чтобы он маскировался под *.diamant-irkutsk.ru
 


----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17278 | Зарегистр. 13-06-2007 | Отправлено: 17:48 11-02-2013
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветствую.
Хочу что бы с одного из серверов в локалке почта отправленная root'у уходила на ящик админу на внешний сервак. В данном случае внешний сервак, находится в локале.
Добавил в /etc/aliases строку: root: admin@domain.ru
Выполнил: dpkg-reconfigure exim4-config поставил в состояние "internet" из "local only", да бы вооще была возможность слать на внешний email.
Проверяю: mail -s "test" root <<< "test message" — хрен там, вылазит ошибка в логах о том, что нету MX записи валидной.
Далее проверку делаю уже по факту ошибки: exim -bt root
Цитата:
# exim -bt root
R: system_aliases for root@server.lan.domain.ru
R: dnslookup for admin@domain.ru
admin@acribia.ru is undeliverable: all relevant MX records point to non-existent hosts
    <-- root@server.lan.domain.ru

При этом dig MX domain.ru разумеется отдаёт нужные записи. Но у меня есть подозрение, что он пытается получить MX запись для своего имени, т.е. MX для server.lan/domain.ru, а на него разумеется на DNS сервере ни чего нету кроме A и PTR записи.
 
В локалке есть настроенный и работающий почтовый сервер (тоже на exim4, хотя пока это не важно). Живёт по адресу mail.domain.ru(192.168.139.11) отвечает за почтовый домен domain.ru.
 
ОС: Debain 7.0, exim 4.80.
 
ЧЯДНТ?
Попробовал поставить в /etc/aliases вместо корпоративного admin@domain.ru свой домашний alukardd@homedomain.org. И тут же команда exim -bt root успешно отрапортовала, что router = dnslookup, transport = remote_smtp и всё там на месте. Нор разницы в ответах dig я не вижу.

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 13:09 11-04-2013 | Исправлено: Alukardd, 15:06 11-04-2013
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Усё, решил вопрос!!!
Ужос, а не дефолтные правила.
В router'е dnslookup было ограничение ignore_target_hosts. Которое не допускает посылку сообщений по локалке. Какого хрена вообще? Закомментировал, всё ок теперь.

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 15:12 11-04-2013
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Очередной "привет" и вопрос.
Есть exim 4.80.
Возникла необходимость проверки логина/пароля через несколько баз. Как лучше это реализовать?
Сейчас используется pam, хочу добавить mysql.
Достаточно в server_condition указать ${if or {}{}}? Правильно ли написаны условия?) Вопрос в основном касается второго if, того что перед pam стоит. И не нужно ли перед {lookup} ставить амперсанд?
 
p.s. Dovecot вроде без проблем съест несколько баз.
 
p.p.s. Мб лучше вообще отдать всю аутентификацию на откуп Dovecot SASL? Dovecot 2.1.7.

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 15:01 12-04-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd Собственно, если используется Dovecot для доступа к почтовым ящикам, то вполне достаточно аутентификацию переложить на него. Для exim она по большому счету и не нужна, за исключением случаев необходимости отправки писем из-за пределов корпоративной сети. И то это можно решить с помощью веб-морды или VPN.

----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17278 | Зарегистр. 13-06-2007 | Отправлено: 15:42 12-04-2013
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary
Цитата:
за исключением случаев необходимости отправки писем из-за пределов корпоративной сети
? А с пределов корпоративной сети? Я вообще-то всегда пользователей аутентифицирую. А то будут слать от чужого имени письма. А так же вирусню схватят и будут спам расслать с моего сервера, вотЪ ещё!
 
Ок, тогда попробую использовать Dovecot как аутентификатор.
Ну а вообще мне для справки — я правильно решил про {if or {}{}}?

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 15:47 12-04-2013 | Исправлено: Alukardd, 15:48 12-04-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd
Цитата:
Ну а вообще мне для справки — я правильно решил про {if or {}{}}
Так проверить надо просто с помощью exim -bh. Если с синтаксисом что-то не так - сразу ругнется, если результат не тот, что ожидался - дебаг сессии покажет. А продираться через нагромождение скобок - это не для вечера в пятницу.


----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17278 | Зарегистр. 13-06-2007 | Отправлено: 16:19 12-04-2013
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary

Приладил сейчас driver = dovecot.
Накрылось условие о проверке condition = ${if eq{$sender_address}{$authenticated_id}{no}{yes}}, пока заменил на $sender_address_local_part, т.к. в переменную server_set_id вписывает только имя пользователя и как это изменить пока не понял.
 
Добавлено:
Если в Dovecot поменять auth_username_format = %n, на %n@%d, то вообще аутентификация накрывается вся) Видимо это верный путь, но надо что бы Dovecot научился нормально такую связку через базу проводить. Используется userdb - passwd и passdb - pam. Так что вотЪ.
Хотя это уже выходит за рамки темы по Exim.

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 16:26 12-04-2013
DJs3000

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть Exim 4.8 + dovecot 2.1.15
Нужно сделать blacklist чтобы можно было в нем указывать конкретный адрес нарушителя.
Так же не помешает вариант со список где можно указать просто домен чтобы любые ящики с него режектились. Exim настроен по всё той же статье лысяры.

Всего записей: 185 | Зарегистр. 22-08-2010 | Отправлено: 21:47 20-05-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJs3000

Цитата:
Нужно сделать blacklist чтобы можно было в нем указывать конкретный адрес нарушителя
 Если список небольшой, можно ограничиться обычным текстовым файлом и использовать lsearch. Если приличных размеров, лучше использовать базу  SQLite. Примеры того и другого в мануале имеются.
Цитата:
Так же не помешает вариант со список где можно указать просто домен чтобы любые ящики с него режектились.
Здесь надо четко разделить два понятия. Собираешься ли ты блокировать по домену хоста, который пытается отправить тебе почту, или по значению домена в MAIL FROM:  ?
В первом случае можно просто создать файл с нехорошими доменами.
со строчками типа
^.*\.versanet\.de$
^.*\.verizon\.net$
и прописать правило
deny
        message        = We not accept mail from spamers
condition   = ${if def:sender_host_name {true}{false}}
condition   = ${lookup{$sender_host_name}nwildlsearch{/path/to/spamhosts}{yes}{no}}
Ну а во втором случае можно также использовать базу на SQLite.


----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17278 | Зарегистр. 13-06-2007 | Отправлено: 00:04 21-05-2013 | Исправлено: vlary, 00:05 21-05-2013
DJs3000

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary
Вообще хотелось бы плохие домены по спискам в файлике т.к. их не к много
а конкретные адреса можно по dnsbl попытался я вчера поднять свой dnsbl но вот при доавлении своего dnsbl.domen.ru в конфиг exim ругается почемуто:

Цитата:
Exim configuration error in line 339 of /usr/local/etc/exim/configure:
  error in ACL: unknown ACL condition/modifier in "dnsbl.domen.ru :"
./exim: WARNING: failed to start exim

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

Всего записей: 185 | Зарегистр. 22-08-2010 | Отправлено: 11:58 21-05-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJs3000
Цитата:
Вообще хотелось бы плохие домены по спискам в файлике т.к. их не к много
Ну, это совсем просто.
Делаешь файлик /path/to/spamdomains, в каждой строчке которого запись такого вида:

Код:
domain1.tld:
domain2.tld:
.........
domain100.tld:
И в части проверки отправителя пишешь правило:

Код:
deny message = SPAM no pasaran!
domains = lsearch;/path/to/spamdomains


Цитата:
Да и кстати приведенный вами пример по спискам доменов у меня как-то не заработал тоже)
Было бы удивительно, если бы все сразу заработало. Этому долго учиться надо.  
Если не получилось, так как ты хотел, найди лог данной сессии, и симитируй ее с помощью
 exim -bh Смотри дебаг сессии, переменные, и в каком месте акцесс-листа пошло не в ту сторону.
Цитата:
и почему списки нужно писать какимто странным образом?
Потому, что это так называемый wildlsearch - поиск с использованием регулярных выражений.
Почитай эту главу из мануала для начала: File and database lookups

----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17278 | Зарегистр. 13-06-2007 | Отправлено: 15:26 21-05-2013
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветствую.
 
Подскажите, как можно реализовать что бы если сообщение провисело в очереди больше, условно, 2часов, то админу что бы сваливалось уведомление на почту, о том, что в очереди застряло сообщение. Идеально было бы, если указывалась причина зависания письма в очереди (GreyList, connection time out или ещё что).

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 17:53 07-06-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd Так а в чем проблема?
delay_warning = 2h:99d (первое предупреждение через 2 часа, второе - никогда, а  то будет каждые 2 часа напоминать...
Получатель будет тот, на кого укажет errors_to в соответствующем роутере
В переменной $warn_message_delay - причина задержки.
Все это описано там: Chapter 48 - Customizing bounce and warning messages

----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17278 | Зарегистр. 13-06-2007 | Отправлено: 01:50 08-06-2013
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary
Эм... Дело в том, что в случае каких-либо ошибок пусть пользователь все свои сообщения какие положенно получает, а админу уходило предупреждение лишь в том случае когда отработал delay_warning.

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 11:34 10-06-2013
DJs3000

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вообщем сделал я блек лист себе в файлике как и хотел кому интересно то выглядит это так:
# Black list
deny    message       =  SPAM  !!! rejected, $sender is in a black list
           senders        = lsearch;/usr/local/etc/exim/senderbadlist
 
в файлик senderbadlist вносим адреса вида:
user@domen.tld
 
Всё просто одна строка один адрес. Так же удалось сделать свой DNSBL на Bind тоже хорошая штука.

Всего записей: 185 | Зарегистр. 22-08-2010 | Отправлено: 12:16 10-06-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd
Цитата:
пусть пользователь все свои сообщения какие положено получает, а админу уходило предупреждение лишь в том случае когда отработал delay_warning.
Пардон, а он что получит? При фатальной ошибке мы будем иметь bounce_message, а вовсе не warn_message. И прилетит он сразу.
А warn_message будет в трех случаях, либо DNS server не может определить получателя, либо нет коннекта с сервером, либо сервер выдал ошибку 4ХХ (что он действительно имел в виду, обычно х.з.). А нам монопенисно придется с этими ошибками разбираться.
Для более тонкой настройки можно с delay_warning_condition поиграться.

----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17278 | Зарегистр. 13-06-2007 | Отправлено: 17:50 10-06-2013 | Исправлено: vlary, 17:54 10-06-2013
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary
Не, меня беспокоит то, что я назначу переменную errors_to. Во первых я хз в какой router её прописать лучше и во вторых, не перестанет ли пользователь после её переопределения получать положенные ему сообщения.

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 18:00 10-06-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd Ну, переменная errors_to - вычисляемая, если ее итоговое значение пустое, то ошибка уйдет по адресу отправителя. Вот из этого и надо исходить.
Определиться, какие ошибки должен получать сам юзер, а какие - постмастер.

----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17278 | Зарегистр. 13-06-2007 | Отправлено: 19:08 10-06-2013
DJs3000

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary
У меня опять вопрос по поводу спам фильтра.
Есть один тип спама когда приходит примерно похожие письма каждый раз с разных ящиков и как правило публичных почтовых серверов. У этих писем в теме есть слово или несколько слов по которым можно идентифицировать эти письма как спам. Например приходят письма в теме которых всегда можно встретить "СЛАВА ПЕРУНУ!"  
Как эту нечисть заблочить?)

Всего записей: 185 | Зарегистр. 22-08-2010 | Отправлено: 02:11 26-06-2013 | Исправлено: DJs3000, 02:12 26-06-2013
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » FAQ по Exim MTA #2


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru