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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shadowmaster63
Возможно я не прав, но вроде как exim здоровается строчкой из /etc/hostname.
 
Если зоны обратного просмотра нету, то я вам 99% даю, что это из-за неё вас reject'ят.

----------
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 | Отправлено: 21:12 20-03-2012 | Исправлено: Alukardd, 21:13 20-03-2012
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd
Цитата:
Возможно я не прав, но вроде как exim здоровается строчкой из /etc/hostname
 Увы, не прав. Exim стоит на разных системах, и не везде есть /etc/hostname
Если нужно задать конкретно, в конфиге используется параметр primary_hostname = host.domain.tld

Цитата:
# Specify your host's canonical name here. This should normally be the fully
# qualified "official" name of your host. If this option is not set, the
# uname() function is called to obtain the name. In many cases this does
# the right thing and you need not set anything explicitly.
 


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

Всего записей: 17278 | Зарегистр. 13-06-2007 | Отправлено: 22:11 20-03-2012
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary
Ух, нашёл в своих дебрях этот параметр. Упс, у меня в этой переменной был домен 3-го уровня, а почта у меня реально на 2-го... Офигеть 2 косяка нашёл пока с вами обсчался... А еще я обнаружил по следам файл /etc/mailname, отя в нём у меня верно всё было... Наверное просто удалённые хосты не парятся особо чем с ним здороваются, или ни чего не произошло т.к. у меня ip один.

----------
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 | Отправлено: 22:28 20-03-2012
shadowmaster63

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
primary_hostname у меня тоже был домен третьего уровня. Исправил на первого теперь в реджект логах нету фразы человек человеку волк а письма так и не уходят
Причем если я делаю echo "test" | exim -v "test@yandex.ru" оно успешно уходит и доходит до почтового ящика
С зоной позже посмотрю...

Всего записей: 15 | Зарегистр. 29-04-2011 | Отправлено: 07:45 21-03-2012
shadowmaster63

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Delay 5s for  [2x.9x.6x.6x] with HELO=Armagedon. Mail from tech@mydomain.ru to test_mailbox2011@yandex.ru.
 
Как мне подсказал один умный человечек это все из за того что мой экзим не правильно здоровается с серверами но строчку helo_data исправить не удалось подскажите как быть
 
 
Вернее даже не так.
при локальной отправке он подставляет все правильно, то что я прописываюв helo_data, но если я подключаюсь к серверу через клиент то екзим при отправке подставляет туда строку [2x.9x.6x.6x] with HELO=Armagedon что ни есть хорошо...
 
как исправить.

Всего записей: 15 | Зарегистр. 29-04-2011 | Отправлено: 00:44 22-03-2012 | Исправлено: shadowmaster63, 00:57 22-03-2012
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shadowmaster63 Из твоего сбивчивого объяснения ничего не понял! Что не получается?
По умолчанию в EHLO, HELO Exim использует primary_hostname, либо берет из uname() , если переменная не определена.
С помощью helo_data можно заменить EHLO, HELO в конкретном smtp транспорте.
Скажем, у тебя два интерфейса от разных провайдеров, и ты хочешь письма в определенные домены пускать через другого провайдера. Там у тебя другое имя хоста, скажем, mail2.domain.com.
Указываешь в роуткре другой транспорт , и в транспорте пишешь:

Код:
prov2_smtp:  
  driver = smtp
  interface = 2.2.2.2
  helo_data = mail2.domain.com
 
prov1_smtp:
  driver = smtp
  interface = 1.1.3.3
  helo_data = mail.domain.com


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

Всего записей: 17278 | Зарегистр. 13-06-2007 | Отправлено: 02:36 22-03-2012
shadowmaster63

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
remote_smtp:
  driver = smtp
  interface             = ${lookup mysql{select ip from domain where domain = '$sender_address_domain'} {$value} {BASEIP} }
  helo_data             = ${lookup mysql{select domain from domain where domain = '$sender_address_domain'} {$value} {$primary_hostname} }
 
Но этот транспорт выполняется почему то только для писем с самого сервера  если же я использую любой почтовый клиент то там уже и локалхост и имя компа попадает  в helo
 
remote_smtp:
  driver = smtp
  helo_data = $sender_address_domain
 
 
Тоже самое,... при тесте на  сервере все отлично, но стоит только подключиться почтовым клиентом как в helo_data оказывается localhost или еще чего
 

Всего записей: 15 | Зарегистр. 29-04-2011 | Отправлено: 03:03 22-03-2012
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary
Цитата:
По умолчанию в EHLO, HELO Exim использует primary_hostname
мб конечно Debian'овские сборщики поковыряли стандартный конфиг, но тем не менее у меня там значится следующее: =${lookup dnsdb {ptr=$sending_ip_address}{$value}{$primary_hostname}}, т.о. у меня по умолчанию подсовывается ptr запись (вот и ответ как меня пропускали всё это время с косячным primary_hostname)

----------
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 | Отправлено: 03:04 22-03-2012
shadowmaster63

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мой вопрос пока снимается с повестки дня  
Сейчас обнаружил что реджектит мои письма мой же экзим, будь он не ладен
Пойду поковыряю acl
 
Придется просить вас о помощи ибо я не в состоянии сейчас это исправить
 

Код:
 
accept  hosts = :
 
deny    message         = Reject: incorrect symbol in address
        log_message     = REJECT: incorrect symbol in address
        domains         = +local_domains
        local_parts     = ^[.] : ^.*[@%!/|]
        delay           = 30s
 
deny    message         = Reject: incorrect symbol in address
        log_message     = REJECT: incorrect symbol in address
        domains         = !+local_domains
        local_parts     = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
        delay           = 30s
 
deny    condition       = ${if eq{$sender_helo_name}{}{yes}{no}}
        message         = Reject: HELO/EHLO require by SMTP RFC
        log_message     = REJECT: HELO/EHLO require by SMTP RFC
        delay           = 30s
 
accept  authenticated = *
 
deny    condition       = ${if isip{$sender_helo_name}{yes}{no}}
        hosts           = !+relay_from_hosts:*
        message         = Reject: We don't allow domain literals, many spam...
        log_message     = REJECT: We don't allow domain literals, many spam...
        delay           = 30s
 
deny    condition       = ${if match_domain{$sender_helo_name} \
                          {$primary_hostname:+local_domains:+relay_to_domains} \
                          {true}{false}}
        message         = Reject: Message was delivered by ratware - own
        log_message     = REJECT: remote host used our name in HELO/EHLO.
        delay   = 30s
 
deny    condition       = ${if match{$sender_helo_name}{\N_\N}{yes}{no}}
        message         = Reject: Invalid symbols in HELO
        log_message     = REJECT: Invalid symbols in HELO
        hosts           = !127.0.0.1 : !localhost : !+relay_from_hosts : *
 
deny    message         = Reject: Invalid address
        log_message     = REJECT: Dot-starting address
        senders         = \N^\.|\.@\N
 
deny message = "Ничего не подошло?"
 

 
где  я  напортачил ? срабатывает последнее правило при отправке писем через аутлюк...
 
 
Пока решил проблему заменив последний deny на accept.... но думаю это не лучший вариант...  в плане защиты от спама... зато хоть письма отправляются

Всего записей: 15 | Зарегистр. 29-04-2011 | Отправлено: 03:17 22-03-2012 | Исправлено: shadowmaster63, 08:04 22-03-2012
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shadowmaster63 Тебе просто нужно разрешить почту из локальной сети:

Код:
hostlist local_hosts = 127.0.0.1 : 192.168.1.10 : 2.2.2.2 : 1.1.3.3
hostlist   relay_from_hosts =  192.168.1.0/24 : 2.2.2.2/26 : 1.1.3.3/27
..........................
accept  hosts = :  
 
deny    message         = Reject: incorrect symbol in address  
        log_message     = REJECT: incorrect symbol in address  
        domains         = +local_domains  
        local_parts     = ^[.] : ^.*[@%!/|]  
        delay           = 30s  
 
accept  hosts   = +local_hosts : +relay_from_hosts
..............................


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

Всего записей: 17278 | Зарегистр. 13-06-2007 | Отправлено: 11:25 22-03-2012 | Исправлено: vlary, 11:26 22-03-2012
shadowmaster63

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не катит к сожалению я же не из локальной сети отправляю... из локальной сети это когда из консоли сервера.. а там и так все норм было.... я из внешней сети подключаюсь к серверу и пытаюсь отправить так и реджектит
если поможет могу полный конфиг выложить уже мозг расплавился... третий день не спал..
 
Я не пойму почему письмо проходит все deny and accepts..

Всего записей: 15 | Зарегистр. 29-04-2011 | Отправлено: 11:45 22-03-2012 | Исправлено: shadowmaster63, 11:50 22-03-2012
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shadowmaster63
Цитата:
 я же не из локальной сети отправляю... из локальной сети это когда из консоли сервера..  
Из консоли это когда локалхост.  
Ну а из внешней сети надо с авторизацией, и авторизовавшемуся разрешить любое ХЕЛО, релей и так далее.
 


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

Всего записей: 17278 | Зарегистр. 13-06-2007 | Отправлено: 12:14 22-03-2012
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shadowmaster63
exim -bh <ip_address>          - эмулирует smtp сессию с указанного ip.
Посмотрите в этом чудесном режиме, что  и как у вас проверяется. Telnet команды найдёте в инете, если не знаете.

----------
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:49 22-03-2012
shadowmaster63

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
exim -bh 2.95.126.64
 
**** SMTP testing session as if from host 2.95.126.64
**** but without any ident (RFC 1413) callback.
**** This is not for real!
 
>>> host in hosts_connection_nolog? no (option unset)
>>> host in host_lookup? yes (matched "*")
>>> looking up host name for 2.95.126.64
>>> IP address lookup using gethostbyaddr()
>>> IP address lookup failed: h_errno=1
LOG: no host name found for IP address 2.95.126.64
>>> host in host_reject_connection? no (option unset)
>>> host in "192.168.1.0/24 : 2.2.2.2/26 : 1.1.3.3/27"? no (end of list)
>>> host in sender_unqualified_hosts? no (end of list)
>>> host in recipient_unqualified_hosts? no (end of list)
>>> host in helo_verify_hosts? no (option unset)
>>> host in helo_try_verify_hosts? no (option unset)
>>> host in helo_accept_junk_hosts? no (option unset)
220 rdsm-parts.ru ESMTP Exim 4.72 Thu, 22 Mar 2012 21:19:50 +0300

Всего записей: 15 | Зарегистр. 29-04-2011 | Отправлено: 22:21 22-03-2012
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shadowmaster63  Ты все же объясни, откуда хочешь сейчас через свой Exim письмо послать? Из локальной сети? Или из чужой через интернет?

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

Всего записей: 17278 | Зарегистр. 13-06-2007 | Отправлено: 22:29 22-03-2012
shadowmaster63

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Из чужой интернет...

Всего записей: 15 | Зарегистр. 29-04-2011 | Отправлено: 23:01 22-03-2012
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shadowmaster63 Это откуда?
Цитата:
host in "192.168.1.0/24 : 2.2.2.2/26 : 1.1.3.3/27"? no (end of list)  
Я же дал это в качестве примера, нужно было заменить на свои адреса.
220 rdsm-parts.ru ESMTP Exim 4.72 Thu, 22 Mar 2012 21:19:50 +0300 После этого руками нужно провести SMTP сессию, со всеми этими HELO, MAIL FROM:, RCPT TO: и так далее. Для starttls, правда, нужно поднапрячься, пароль закодировать...
Тебе проще использовать специальную утилитку swaks на Перле  


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

Всего записей: 17278 | Зарегистр. 13-06-2007 | Отправлено: 11:21 23-03-2012
shadowmaster63

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я бы хотел разрешить все внешние адреса, что бы с любого IP можно  было отправлять.

Всего записей: 15 | Зарегистр. 29-04-2011 | Отправлено: 12:09 23-03-2012
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shadowmaster63
Цитата:
Я бы хотел разрешить все внешние адреса, что бы с любого IP можно  было отправлять.
На радость спамерам? Алгоритм должен быть такой:  
1. С айпи адресов твоей сети или доверенных сетей принимается почта с адресами получателей в любых доменах.
2. С любых айпи адресов принимается почта с адресами получателей твоих доменов (если не задействована проверка на спам).
3. С любых айпи адресов принимается почта с адресами получателей в любых доменах, если отправитель авторизовался.
4. Все остальное нещадно рубится.
Иначе спамеры через твой сервер выльют в интернет цистерны спама, и твой сервер окажется во всех блэклистах.
 
 


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

Всего записей: 17278 | Зарегистр. 13-06-2007 | Отправлено: 12:31 23-03-2012
shadowmaster63

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я хотел третий вариант реализовать, но что то не получилось с правилами
 
И еще по поводу утилиты mimencode не нашел для Centos
Вроде есть аналог uuencode но тут таже запара
Ну  я думаю они не понадобятся если реализовать третий вариант.
Я как раз так и хотел сделать что бы можно было отправлять почту на любые адреса получателей но при условии что клиент авторизован...

Всего записей: 15 | Зарегистр. 29-04-2011 | Отправлено: 13:39 23-03-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 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