Смоленск 1.5 Настройка почтового сервера на Astra Linux 1.5 special edition

mike

New member
Сообщения
27
#1
Хочу поделиться собственным опытом настройки почтового сервера в AstarLinux 1.5 Смоленск. В настройке почтового сервера в Astra Linux есть несколько тонких моментов, возможно это описание поможет кому-нибудь сэкономить собственное время и позволит получить работающий сервер с минимальными затратами.

Предполагается, что служба имен bind9 уже настроена и может обрабатывать запросы на разрешение имен не только собственного домена. Настройка bind9 здесь не рассматривается. Проверить работу bind9 можно командами
dig MX moidomen.org.ru
dig MX nemoidomen.org.ru
Вместо moidomen.org.ru и nemoidomen.org.ru используйте свои варианты.
На эти команды bind должен возвращать IP адреса почтовых серверов доменов moidomen.org.ru и nemoidomen.org.ru.

Работу нашего почтового сервера обеспечат 2 службы: exim4 и dovecot. Эти службы уже из коробки сконфигурированы для работы друг с другом, поэтому дополнительной настройки не требуют. Каждая из указанных служб выполняет свою часть работы по передаче почты. В частности, exim4 принимает входящие соединения на порт 25 (smtp), получает сообщение (письмо) и аккуратно кладет его в почтовый ящик пользователя. У службы dovecot обратная задача, она слушает 143 порт (imap) ожидая подключения почтового клиента, которому и отдаст полученное сообщение из почтового ящика. Короче говоря, exim4 получает сообщение и помещает его в ящик, а dovecot из этого ящика отдает почтовому клиенту.

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

Теория закончена. Пора приступать к установке. Порядок установки служб не принципиален, поэтому мы начнем с exim4.

Запустите менеджер пакетов Synaptic и установите пакет exim4-daemon-heavy. В принципе для наших целей подойдет и exim-daemon-light, но он не работает с базой LDAP (которая вероятно у вас есть). Кроме того, нужно установить пакет astrase-fix-maildir.

После установки exim4 нужно настроить. Для настройки не рекомендуется править конфигурационные файлы вручную, для этих целей требуется запустить программу настройки:
dpkg-reconfigure exim4-config
Результатом работы этой программы будет файл /etc/exim4/update-exim4.conf.conf. Данный файл содержит значения переменных, которые будут использованы в конфигурационных скриптах /etc/exim4/conf.d/*.
В процессе работы программа настройки задаст несколько вопросов, отвечаем на которые следующим образом:
1. интернет-сайт
2. moidomen.org.ru
3. оставить пустое поле
4. moidomen.org.ru
5. оставить пустое поле
6. 100.150.200.0/24
7. нет
8. Maildir формат в домашнем каталоге
9. да
Здесь moidomen.org.ru - имя домена вашей организации, 100.150.200.0/24 - внутренная подсеть вашей организации.
На этом настройку exim4 можно было бы и закончить. Упомяну только, что если вы настраиваете почтовый сервер в замкнутом ведомственном сегменте, не имеющем выхода в интернет, вам нужно проверить, не входит ли ваша сеть в перечень адресов, которые сервер exim4 игнорирует. Для этого в файле /etc/exim4/conf.d/router/200_exim4-config_primary найдите строчку
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :\
172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16 :\
255.255.255.255
Если в этом перечне есть ваша подсеть - удалите ее.

Теперь настроим сервер dovecot.
Запустите менеджер пакетов Synaptic и установите пакеты dovecot-core и dovecot-imapd. Устанавливать их нужно в одной транзакции, пакет dovecot-core без dovecot-imapd корректно не установится. Проверьте, чтобы был установлен astrase-fix-maildir.
Собственно настройки пакет dovecot не требует. Максимум, что можно сделать - в файле /etc/dovecot/dovecot.conf в строчке
protocols = imap
добавить еще и протокол pop3. Должно получиться protocols = imap pop3
Все.

Добавляем службы exim4 и dovecot в автозагрузку командами:
chkconfig exim4 on
chkconfig dovecot on

Перезагружаемся, проверяем слушаются ли порты:
netstat -anp | grep exim4
netstat -anp | grep tcp | grep dovecot

В этом месте почтовые службы запущены и настроены.Теперь нужно создать почтовые ящики. Почтовые ящики находятся в каталоге /var/mail/. После установки операционной системы в этом каталоге находится почтовый ящих в формате mbox первого пользователя. Его нужно удалить.

Одним из способов создания почтовых ящиков - положитья в этом деле на dovecot. При первом обращении к почтовому ящику - он будет автоматически создан. Нужно понимать, что dovecot настроен на аутентификацию pam. Это значит, что сначала на сервере нужно создать пользователя, задать ему пароль, а потом, при подключении к серверу почтовым клиентом, dovecot создаст Maildir пользователя. Важная тонкость - пользователю при создании требуется задать уровни конфиденциальности, без этого dovecot корректно работать не будет (вы просто не сможете подключиться к нему). После создания Maildir`а, exim4 сможет доставлять этому пользователю сообщения.

И напоследок, некоторые особенности при настройке почтового клиента Thunderbird. Суть проблемы: при настройке учетной записи вы не сможете проверить доступность сервера, пока не получен сертификат сервера, а сертификат сервера вы не получите, пока не установите соединение с сервером.
Чтобы решить это дилемму, выполняйте настроку Thunderbird следующим образом. В первом окне мастера настройки задайте имя, почтовый адрес, пароль, затем - Продолжить. Thunderbird начнет искать конфигурации из базы ISP от Mozilla, прервите поиск нажатием на Настройка вручную. Затем в окрывшемся окне настроки задайте правильное доменное имя почтового сервера, для входящей почты - порт 143, SSL STARTTLS, обычный пароль, для исходящей почты - порт 25, SSL нет, без аутентификации. После ввода всех параметров вручную, кнопка Готово станет доступна для нажатия - нажмите ее. Появится предупреждение о риске - я понимаю риск и Готово. И в этом месте откроется окно о добавлении сертификата безопасности. В этом диалоговом окне нажмите Подтвердить исплючение безопасности.
 

Rayman

New member
Сообщения
56
#2
Большое спасибо за инфу. Допустим у меня развернут:
сервер 192.168.110.10
клиент 192.168.110.12
настроена система разрешения имен с помощью файлика hosts.
на сервере создан домен srv001.domain.local, есть алд-юзер operator.
Какие манипуляции нужно проделать на клиенте, чтобы можно было отправлять почту от алд юзера?
 

yurikbest

New member
Сообщения
3
#3
Во время настройки столкнулся с такой вот ошибкой в логах exim: /var/log/exim/exim_mainlog
2018-05-21 09:02:01 1fKdtR-0007tI-PB Berkeley DB error: fop_read_meta: /var/spool/exim4/db/retry: unexpected file type or format
2018-05-21 09:02:01 1fKdtR-0007tI-PB Berkeley DB error: fop_read_meta: /var/spool/exim4/db/retry: unexpected file type or format
Помогло решение найденное в интернете, заключающиеся в удалении всего содержимого /var/spool/exim4/db/* .
Exim сам создал, всего один файл retry.lockfile и ошибки прекратились.

А некоторые службы, к примеру afick, настроены на отправку уведомлений через команаду : mail -s. Который содержится в пакете bsd-mailx.
Благодарность службе поддержки за подсказку.

На данный момент не могу справиться с авторизацией пользователей из AD Win2008R2, может кто-то знает ???
 

mike

New member
Сообщения
27
#4
Какие манипуляции нужно проделать на клиенте, чтобы можно было отправлять почту от алд юзера?
К сожалению, разобраться ALD в моих планах на будущее. Могу сказать только одно, ALD не отменяет ни одного слова, написанного в первом посте.
Кроме того, странно настраивать почтовый сервер, не имея сервера имен (только hosts). Сложно представить, что exim4 использует обычный резольвер, типа gethostbyname(). Использование почтового сервера в отсутствии bind мне кажется задачей надуманной. Не удивлюсь, что это вообще невозможно.
 

mike

New member
Сообщения
27
#5
На данный момент не могу справиться с авторизацией пользователей из AD Win2008R2, может кто-то знает ???
Это весьма интересная тема. Насколько я знаю, что протокол X500 (ldap) поддерживается, начиная с windows 2000. Решение такой задачи практически, крайне интересно. Если у Вас получится, сообщите каким образом. Думаю это всем интересно, а мне тем более :)
 

DeR_KaTeR

New member
Сообщения
4
#6
Буду весьма благодарен если окажите помощь при настройке почты через службу ALD. DNS полностью рабочий, домен поднят, клиенты свободно подключаются к серверу. Остаётся настроить только почту. Если вы согласны, то пишите на почту gazon-us@yandex.ru. Предоставлю все наработки, скажу что получилось и в чём проблема.
 

Aspeek

New member
Сообщения
6
#7
Вообщем настроил согласно эксплуатационной документации exim4 и dovecot с аутентификацией через Kerberos. Клиенты успешно подключаются к smtp и imap серверу. Почта уходит из внутренней подсети на любые адреса (удаленные получатели успешно получают сообщения от моего exim'а), в логах exim'а фиксируются успешные отправки моих сообщений. Внутри сети и моего домена почта также успешно отправляется и приходит между адресами, однако при отправки за пределами моей сети в мой адрес сообщений они даже до сервера не доходят (по крайне мере в логах абсолютно никакой информации не фиксируется).
Дополнительно сделаны манипуляции в конфигурационном файле /etc/exim4/conf.d/router/200_exim4-config_primary из #1 поста.
Код:
В строке:
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :\
172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16 :\
255.255.255.255
Удалена подсеть: 10.0.0.0/8
DNS и MX записи настроены.
 

DeR_KaTeR

New member
Сообщения
4
#8
У меня все работает только во внутренней сети. Проблема в том что что во внешний мир письма не уходят. И проблема ещё в том что на клиентах учётные записи почты создаются только на 0 уровне, на уровнях 1,2,3 ни как. Вот 2 проблемы в чём дело не пойму.
 

dimka1605

New member
Сообщения
1
#9
Здравствуйте. Подскажите кто знает: ситуация - во внутренней сети все работает норм между пк отлично отправляет, но как сделать выход на внешнюю сеть(или) интернет. В каких настройках или куда копать? Может где хоть почитать?
 
Сообщения
20
#10
Может кто нибудь сталкивался с ticket Kerberos при запросе imap сервера ответ не получен, и Почта поработала несколько часов и рухнула... в чем может быть причина?
 
Сообщения
20
#11
Подскажите по нюансам последовательности действий, почтовый сервер подключён ли к контроллеру домена? Вы создаёте пользователей на машине в сети или на почтовом сервере в локальной политике безопасности?
 

xene

New member
Сообщения
51
#12
Здравствуйте. Подскажите кто знает: ситуация - во внутренней сети все работает норм между пк отлично отправляет, но как сделать выход на внешнюю сеть(или) интернет. В каких настройках или куда копать? Может где хоть почитать?
При конфигурировании exim командой dpkg-reconfigure exim4-config, что указывали в параметре релейной передачи? (Кажется 5й шаг) Должно быть пустое поле.
 

Вложения

xene

New member
Сообщения
51
#13
Может кто нибудь сталкивался с ticket Kerberos при запросе imap сервера ответ не получен, и Почта поработала несколько часов и рухнула... в чем может быть причина?
Скорее всего порты закрыты. Если не ошибаюсь то Kerberos использует порты: 88, 135, 138, 139, 389, 445, 464, 3268, 3269.
Так же должен правильно функционировать dns сервер (провреьте через bind9 status, через restart можно обмануться)
 

GRamoboi

New member
Сообщения
48
#14
Скорее всего порты закрыты. Если не ошибаюсь то Kerberos использует порты: 88, 135, 138, 139, 389, 445, 464, 3268, 3269.
Так же должен правильно функционировать dns сервер (провреьте через bind9 status, через restart можно обмануться)
DNS разве в choot режиме ответит что он стартонул? Если 100% да, то почему -то у меня он работает с загрузки, резервируется - зоны отправляет, все норм, но service bind9 status отвечает всегда отрицательно
 
Сообщения
20
#15
DNS разве в choot режиме ответит что он стартонул? Если 100% да, то почему -то у меня он работает с загрузки, резервируется - зоны отправляет, все норм, но service bind9 status отвечает всегда отрицательно
Да да в чрут такая же история, мне кажется процесс на статус скрыт или что то в этом роде
 
Сообщения
20
#16
Скорее всего порты закрыты. Если не ошибаюсь то Kerberos использует порты: 88, 135, 138, 139, 389, 445, 464, 3268, 3269.
Так же должен правильно функционировать dns сервер (провреьте через bind9 status, через restart можно обмануться)
Возможно и так сейчас попробую, не все порты открыты, но есть одно маленькое но, определенное время система функционировала, где то меньше суток, и со сроком билета керберос начала появляться ошибка...
 

xene

New member
Сообщения
51
#17
DNS разве в choot режиме ответит что он стартонул? Если 100% да, то почему -то у меня он работает с загрузки, резервируется - зоны отправляет, все норм, но service bind9 status отвечает всегда отрицательно
Да, ответит. Если по команде status ответт отрицательный то смотрите корректность файлов настрек днс и корректность файлов настроек прямой и обратной зон (named-checkconf путь до каждого из файлов конфигурации днс;
named-checkzone путь до файла прямой зоны; named-checkzone путь до файла обратной зоны) Так же имеется еще у днс файл named.pid посмотрите где он у вас лежит и сравните путь с путем который прописан в файле конфигурации днс, если не сходится то поправьте путь по фактическому нахождению фала named.pid
Может еще какие ошибки но это надо в логах смотреть /var/syslog/syslog
 

Антон

New member
Сообщения
12
#18
Хочу поделиться собственным опытом настройки почтового сервера в AstarLinux 1.5 Смоленск. В настройке почтового сервера в Astra Linux есть несколько тонких моментов, возможно это описание поможет кому-нибудь сэкономить собственное время и позволит получить работающий сервер с минимальными затратами.

Предполагается, что служба имен bind9 уже настроена и может обрабатывать запросы на разрешение имен не только собственного домена. Настройка bind9 здесь не рассматривается. Проверить работу bind9 можно командами
dig MX moidomen.org.ru
dig MX nemoidomen.org.ru
Вместо moidomen.org.ru и nemoidomen.org.ru используйте свои варианты.
На эти команды bind должен возвращать IP адреса почтовых серверов доменов moidomen.org.ru и nemoidomen.org.ru.

Работу нашего почтового сервера обеспечат 2 службы: exim4 и dovecot. Эти службы уже из коробки сконфигурированы для работы друг с другом, поэтому дополнительной настройки не требуют. Каждая из указанных служб выполняет свою часть работы по передаче почты. В частности, exim4 принимает входящие соединения на порт 25 (smtp), получает сообщение (письмо) и аккуратно кладет его в почтовый ящик пользователя. У службы dovecot обратная задача, она слушает 143 порт (imap) ожидая подключения почтового клиента, которому и отдаст полученное сообщение из почтового ящика. Короче говоря, exim4 получает сообщение и помещает его в ящик, а dovecot из этого ящика отдает почтовому клиенту.

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

Теория закончена. Пора приступать к установке. Порядок установки служб не принципиален, поэтому мы начнем с exim4.

Запустите менеджер пакетов Synaptic и установите пакет exim4-daemon-heavy. В принципе для наших целей подойдет и exim-daemon-light, но он не работает с базой LDAP (которая вероятно у вас есть). Кроме того, нужно установить пакет astrase-fix-maildir.

После установки exim4 нужно настроить. Для настройки не рекомендуется править конфигурационные файлы вручную, для этих целей требуется запустить программу настройки:
dpkg-reconfigure exim4-config
Результатом работы этой программы будет файл /etc/exim4/update-exim4.conf.conf. Данный файл содержит значения переменных, которые будут использованы в конфигурационных скриптах /etc/exim4/conf.d/*.
В процессе работы программа настройки задаст несколько вопросов, отвечаем на которые следующим образом:
1. интернет-сайт
2. moidomen.org.ru
3. оставить пустое поле
4. moidomen.org.ru
5. оставить пустое поле
6. 100.150.200.0/24
7. нет
8. Maildir формат в домашнем каталоге
9. да
Здесь moidomen.org.ru - имя домена вашей организации, 100.150.200.0/24 - внутренная подсеть вашей организации.
На этом настройку exim4 можно было бы и закончить. Упомяну только, что если вы настраиваете почтовый сервер в замкнутом ведомственном сегменте, не имеющем выхода в интернет, вам нужно проверить, не входит ли ваша сеть в перечень адресов, которые сервер exim4 игнорирует. Для этого в файле /etc/exim4/conf.d/router/200_exim4-config_primary найдите строчку
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :\
172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16 :\
255.255.255.255
Если в этом перечне есть ваша подсеть - удалите ее.

Теперь настроим сервер dovecot.
Запустите менеджер пакетов Synaptic и установите пакеты dovecot-core и dovecot-imapd. Устанавливать их нужно в одной транзакции, пакет dovecot-core без dovecot-imapd корректно не установится. Проверьте, чтобы был установлен astrase-fix-maildir.
Собственно настройки пакет dovecot не требует. Максимум, что можно сделать - в файле /etc/dovecot/dovecot.conf в строчке
protocols = imap
добавить еще и протокол pop3. Должно получиться protocols = imap pop3
Все.

Добавляем службы exim4 и dovecot в автозагрузку командами:
chkconfig exim4 on
chkconfig dovecot on

Перезагружаемся, проверяем слушаются ли порты:
netstat -anp | grep exim4
netstat -anp | grep tcp | grep dovecot

В этом месте почтовые службы запущены и настроены.Теперь нужно создать почтовые ящики. Почтовые ящики находятся в каталоге /var/mail/. После установки операционной системы в этом каталоге находится почтовый ящих в формате mbox первого пользователя. Его нужно удалить.

Одним из способов создания почтовых ящиков - положитья в этом деле на dovecot. При первом обращении к почтовому ящику - он будет автоматически создан. Нужно понимать, что dovecot настроен на аутентификацию pam. Это значит, что сначала на сервере нужно создать пользователя, задать ему пароль, а потом, при подключении к серверу почтовым клиентом, dovecot создаст Maildir пользователя. Важная тонкость - пользователю при создании требуется задать уровни конфиденциальности, без этого dovecot корректно работать не будет (вы просто не сможете подключиться к нему). После создания Maildir`а, exim4 сможет доставлять этому пользователю сообщения.

И напоследок, некоторые особенности при настройке почтового клиента Thunderbird. Суть проблемы: при настройке учетной записи вы не сможете проверить доступность сервера, пока не получен сертификат сервера, а сертификат сервера вы не получите, пока не установите соединение с сервером.
Чтобы решить это дилемму, выполняйте настроку Thunderbird следующим образом. В первом окне мастера настройки задайте имя, почтовый адрес, пароль, затем - Продолжить. Thunderbird начнет искать конфигурации из базы ISP от Mozilla, прервите поиск нажатием на Настройка вручную. Затем в окрывшемся окне настроки задайте правильное доменное имя почтового сервера, для входящей почты - порт 143, SSL STARTTLS, обычный пароль, для исходящей почты - порт 25, SSL нет, без аутентификации. После ввода всех параметров вручную, кнопка Готово станет доступна для нажатия - нажмите ее. Появится предупреждение о риске - я понимаю риск и Готово. И в этом месте откроется окно о добавлении сертификата безопасности. В этом диалоговом окне нажмите Подтвердить исплючение безопасности.
 

Антон

New member
Сообщения
12
#19
Подскажите где брали инструкцию по установке на сервер НР для mil.zs
 

GRamoboi

New member
Сообщения
48
#20
Да, ответит. Если по команде status ответт отрицательный то смотрите корректность файлов настрек днс и корректность файлов настроек прямой и обратной зон (named-checkconf путь до каждого из файлов конфигурации днс;
named-checkzone путь до файла прямой зоны; named-checkzone путь до файла обратной зоны) Так же имеется еще у днс файл named.pid посмотрите где он у вас лежит и сравните путь с путем который прописан в файле конфигурации днс, если не сходится то поправьте путь по фактическому нахождению фала named.pid
Может еще какие ошибки но это надо в логах смотреть /var/syslog/syslog
То то и оно. Ошибок - нет