<div><img src="https://top-fwz1.mail.ru/counter?id=3548135;js=na" style="position:absolute;left:-9999px;" alt="Top.Mail.Ru" /></div>
Бесплатная миграция IT-инфраструктуры в облако

Как создать почтовый сервер на Astra Linux для закрытой локальной сети своего офиса

Александр Бархатов
Александр Бархатов
Технический писатель
18 марта 2024 г.
2171
11 минут чтения
Средний рейтинг статьи: 3.3

Для того чтобы организовать работу электронной почты в локальной сети, необходимо настроить свой сервер электронной почты. Почтовый сервер представляет собой программу, предназначенную для передачи сообщений от одного компьютера к другому. В данной статье мы рассмотрим установку и настройку почтового сервера на ОС Astra Linux версии 2.12, используя метод аутентификации PAM. Инструкция подойдет и для других версий Астры, в том числе, 1.6.

cloud

Предварительные требования

Для установки почтового сервера необходимо следующее:

  • Сервер или виртуальная машина с предустановленной ОС Astra Linux. В инструкции мы будем использовать версию 2.12, но те же шаги можно выполнять и в других редакциях Astra Linux.

Регистрация в Timeweb Cloud

Чтобы арендовать облачный или выделенный сервер в Timeweb Cloud, необходимо пройти регистрацию. 

Переходим по ссылке для регистрации нового пользователя. Мы выберем регистрацию на физическое лицо и заполним следующие данные:

  • ФИО,
  • адрес электронной почты.

Номер телефона можно указать по желанию. Также регистрацию можно пройти, воспользовавшись одним из сторонних сервисов: Google-аккаунт, ВКонтакте и GitHub.

После регистрации на указанный адрес почты придет сообщение с ссылкой для активации аккаунта и входа в панель — перейдите по ней.

Создание облачного сервера

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

1) Переходим на страницу авторизации и входим в аккаунт при помощи логина или адреса электронной почты и пароля или при помощи ВКонтакте, GitHub, Google.

2) После успешной авторизации отобразится панель управления текущего проекта. Переходим в раздел «Облачные серверы» и нажимаем «Создать» или «Добавить».

3) Выбираем операционную систему, которая будет установлена на сервер. В нашем случае нам необходима Astra Linux CE версии 2.12.

4) Выбираем регион, в котором будет находиться наш сервер. Выбирать рекомендуется тот регион, который ближе всего находится к вам физически. У каждого доступного региона справа вверху отображается ping, т.е. время, необходимое для передачи данных с вашего компьютера на сервер. Чем меньше указанное время, тем быстрее будет осуществляться передача данных.

Image5

5) Далее выбираем необходимую конфигурацию сервера. Для почтового сервера выберем двухъядерный процессор и 40 ГБ жесткого диска, выбираем соответствующий тариф:

Image17

6) Далее необходимо решить, будет ли сервер доступен из внешний сети или же только из приватной (частной) сети. Для выхода сервера в Интернет, нужно заказать плавающий IP.

7) По желанию можно оформить дополнительные услуги, включая резервные копии и защиту от DDoS-атак (последняя доступна только в Санкт-Петербурге и Москве).

Image10

8) Также заранее можно загрузить SSH-ключ, чтобы не входить на север при помощи пароля.

9) Можно задать необходимое имя для сервера которое будет отображаться в панели управления, а также выбрать проект.

10) Для создания сервера необходимо нажать на кнопку «Заказать»:

Image2

Если на вашем аккаунте недостаточно средств, то будет выведено предупреждение о необходимости пополнить баланс. После оплаты и создания сервера откроется Дашборд сервера, где можно будет найти IP-адрес, логин и пароль для подключения.

Image43

Первичная настройка сервера

Все команды, которые будут использоваться в данном и последующих разделах, необходимо выполнить от имени root-пользователя.

1) Для начала необходимо задать имя хоста (hostname). Для этого укажем его в файле /etc/hostname:

nano /etc/hostname

Image6

В данном примере hostname будет указан как 2633143-bi08079.twc1.net. Использовать можно любое имя хоста.

Сохраняем изменения и выходим из файла.

2) Также имя хоста необходимо продублировать в файле /etc/hosts:

nano /etc/hosts

127.0.0.1 2633143-bi08079.twc1.net

Image29

Сохраняем изменения и выходим из файла.

3) Если вы используете firewall, например, UFW, то его необходимо либо выключить при помощи команд:

systemctl stop ufw && systemctl disable ufw

Либо открыть порты  110, 143 при помощи команды:

ufw allow 110,143/tcp

Также необходимо открыть 25 порт. Он заблокирован по умолчанию, поэтому необходимо отправить запрос в техническую поддержку

Установка пакетов

1) Обновляем списки пакетов и устанавливаем необходимые пакеты:

  • exim4-daemon-heavy — сервер почты;
  • dovecot-imapd — агент доставки почты.
apt update && apt -y install exim4-daemon-heavy dovecot-imapd

Image45

На этом установка пакетов завершена.

Первичная настройка exim

1) Вводим следующую команду в терминале для настройки exim:

dpkg-reconfigure exim4-config

Откроется псевдографический интерфейс — Mail Server configuration (Конфигурация почтового сервера).

1) На первом шаге выбираем пункт internet site; mail is sent and received directly using SMTP (интернет-сайт; приём и отправка почты напрямую, используя SMTP):

Image12

2) Далее задаем имя для создаваемого почтовое сервера. Можно использовать имя хоста, которое было задано ранее:

Image20

3) На следующем шаге необходимо указать IP-адреса, с которых следует ожидать входящие соединения по протоколу SMTP. Оставляем данное поле пустым (это означает, что соединения будут доступны со всех сетевых интерфейсов):

Image19

4) Указываем имя почтового сервера, которое было указано во 2 шаге:

Image23

5) Следующий пункт оставляем пустым:

Image3

 6) На этапе создание списка IP-адресов, с которых разрешена релейная передача почты, можно указать как IP-адрес, так и всю подсеть сразу:

Image32

В данном примере используется подсеть 188.225.57.140/24.

7) В пункте Keep number of DNS-queries minimal (Dial-on-Demand) (Сокращать количество DNS-запросов до минимума) указываем NO (нет):

Image28

8) Delivery method for local mail (Метод доставки локальной почты) — указываем Maildir format in home directory (Maildir-формат в домашнем каталоге):

Image15

9) Split configuration into small files? (Разделить конфигурацию на маленькие файлы) — выбираем No (нет):

Image36

На этом первичная настройка exim завершена. Далее будут рассмотрены углубленная настройка exim и dovecot.

Дополнительная настройка exim

1) Открываем на редактирование конфигурационный файл exim4.conf.template при помощи любого текстового редактора:

nano /etc/exim4/exim4.conf.template

Необходимо отредактировать два параметра:

  • domainlist relay_to_domains — указать доменное имя почтового сервера (которое было задано на этапе первичной настройки exim);
  • hostlist relay_from_hosts — указать подсеть сервера почты в формате IP_адрес/подсеть:

Image39

Настройка логирования

1) Для настройки логирования используется файл 90_exim4-config_log_selector:

nano /etc/exim4/conf.d/main/90_exim4-config_log_selector

Приводим файл к следующему виду:

.ifdef MAIN_LOG_SELECTOR
log_selector = \
+all_parents \
+connection_reject \
+lost_incoming_connection \
+received_sender \
+received_recipients \
+smtp_confirmation \
+smtp_syntax_error \
+smtp_protocol_error \
-queue_run
log_file_path = /var/log/exim4/exim_%slog
.endif

Image8

Сохраняем изменения и выходим из файла.

Перезапуск и проверка работоспособности exim

После внесения правок в конфигурационные файлы, необходимо перезапустить сервис exim, добавить его в автозагрузку и проверить статус:

systemctl enable exim4 && service exim4 restart && service exim4 status

Если конфигурация не содержит ошибок, то exim будет запущен со статусом active (running):

Image14

Настройка dovecot

1) Открываем на редактирование основной конфигурационный файл dovecot — dovecot.conf:

nano /etc/dovecot/dovecot.conf

Необходимо отредактировать параметр listen, прописав в нем символ *. Это означает, что почта будет приниматься со всех адресов:

listen = *

Image46

2) Далее необходимо настроить аутентификацию в dovecot. Мы будем использовать PAM-аутентификацию. Это означает, что в качестве пользователей будут использоваться пользователи, которые присутствуют в операционной системе. 

Открываем на редактирование конфигурационный файл 10-auth.conf:

nano /etc/dovecot/conf.d/10-auth.conf

В параметрах auth_realms и auth_default_realm необходимо задать доменное имя почтового сервера, которое было задано на этапе первичной настройки exim.

Необходимо отредактировать (а при необходимости также раскомментировать, удалив символ #) следующие параметры:

disable_plaintext_auth = no

Image26

auth_realms = 2633143-bi08079.twc1.net

Image24

auth_default_realm = 2633143-bi08079.twc1.net

Image16

auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@

Image42

auth_username_format = %n

Image27

3) Далее необходимо прописать порт, на котором будет доступен dovecot. Для этого открываем на редактирование конфигурационный файл 10-master.conf и находим в нем блок с именем service imap-login. Ппрописываем или раскомментируем параметр port, указав в значении порт 143 (это порт по умолчанию для службы dovecot):

nano /etc/dovecot/conf.d/10-master.conf

Image4

4) Так как мы не будем использовать SSL, необходимо выключить данный параметр. Открываем на редактирование файл 10-ssl.conf:

nano /etc/dovecot/conf.d/10-ssl.conf

Находим параметр ssl и в значении указываем no:

ssl = no

Image25 

5) Далее открываем на редактирование файл 10-mail.conf

nano /etc/dovecot/conf.d/10-mail.conf

Ищем следующую строку:

mail_location = mbox:~/mail:INBOX=/var/mail/%u

И меняем ее значение на maildir:~/Maildir:

mail_location = maildir:~/Maildir

Image1

Сохраняем изменения и выходим из файла.

6) При необходимости можно настроить логирование в dovecot. Для этого открываем файл 10-logging.conf:

nano /etc/dovecot/conf.d/10-logging.conf

И редактируем следующие параметры:

log_path = /var/log/dovecot/main.log
debug_log_path = /var/log/dovecot/debug.log
auth_verbose = yes

Image18

log_timestamp = "%b %d %H:%M:%S "

Image11

Где:

  • log_path — полный путь до файла, в который будут записываться логи;
  • debug_log_path — полный путь до файла, в который будут записывать логи уровня debug.

7) Так как ранее мы задали путь до файла, куда будут записываться логи, необходимо создать директорию dovecot, а в ней — пустой файл main.log:

mkdir /var/log/dovecot/
touch /var/log/dovecot/main.log

8) Добавляем сервис dovecot в автозагрузку и перезапускаем:

systemctl enable dovecot && systemctl restart dovecot 

После этого проверяем статус dovecot при помощи команды:

systemctl status dovecot

Image44

Если dovecot будет успешно запущен, то в статусе сервиса будет указано active (running).

Установка графического интерфейса Fly и xrdp (опционально)

Дальнейшее тестирование почтового сервера будет производиться при помощи клиентской программы Thunderbird, которая доступна только в графическом интерфейсе пользователя. Так как у нас используется сервер без графического интерфейса пользователя, мы можем воспользоваться одним из следующих решений:

1) Арендовать второй сервер Astra Linux с предустановленным графическим интерфейсом. Для этого на этапе создания сервера на странице «Создать сервер» необходимо перейти в раздел «Маркетплейс» и найти образ «Astra Linux Desktop»:

516cc460 Adab 45b8 8903 Cdf49c82ad46

После того как сервер будет готов к работе, необходимо установить пакет xrdp, при помощи которого можно подключаться к серверу из Windows по протоколу RDP. 

Команда установки xrdp и клиента Thunderbird будет следующей:

apt update && apt -y install xrdp xorgxrdp thunderbird

Добавляем сервис xrdp в автозагрузку и запускаем его:

systemctl enable xrdp && systemctl start xrdp

На компьютере с установленной ОС Windows запускаем клиент RDP. Для этого в поиске пишем rdp и открываем программу «Подключение к удаленному рабочему столу»:

Image13

В появившемся окне вводим IP-адрес сервера с Astra Linux и нажимаем на кнопку «Подключить»:

Image9

При появлении предупреждения проверки подлинности нажимаем на кнопку «Да»:

Image33

Откроется окно с вводом данных пользователя. Вводим логин и пароль того пользователя, который уже присутствует на сервере:

Image21

При необходимости пользователя можно создать при помощи команды adduser new-user, где  new-user — имя создаваемого пользователя.

После нажатия на кнопку «ОК» отобразится главный экран входа пользователя интерфейса Astra Linux:

Image35

Вводим логин и пароль еще раз.

2) Второй способ заключается в установке графической оболочки на сервер, у которого нет GUI. 

Для этого устанавливаем официальный графический интерфейс Fly, а также клиент xrdp и клиент Thunderbird при помощи команды:

apt update && apt -y install fly-all-main xrdp xorgxrdp thunderbird

Добавляем сервис xrdp в автозагрузку и запускаем его:

systemctl enable xrdp && systemctl start xrdp

Подключение по RDP происходит аналогично шагам, описанным в предыдущем пункте. 

Добавление почтового сервера в Thunderbird

Переходим в графический интерфейс пользователя Astra Linux и запускам почтовый клиент Thunderbird, который находится в меню «Start» и в разделе «Network».

В открывшемся окне вводим имя пользователя в поле «Your name». Пользователь должен быть заранее создан в операционной системе. В нашем случае пользователь с именем alex уже присутствует в системе. В поле «Email address» вводим имя пользователя и имя нашего почтового сервера, в формате имя@адрес_почтового_сервера. В поле «Пароль» вводим пароль от учетной записи пользователя:

Image38

Нажимаем на кнопку «Continue». Далее клиент найдет конфигурацию сервера и сообщит об этом:

Image34

Так как мы не настраивали SSL, то появится предупреждение о том, что сервер электронной почты не использует шифрование. 

В левом нижнем углу ставим чекбокс напротив надписи «I understand the risks» и нажимаем на кнопку «Done».

Image37

Откроется интерфейс почтового клиента:

Image40

Для проверки работоспособности почтового сервера напишем письмо самому себе. Для этого на верхней панели нажимаем на кнопку «Write». В поле «Кому» (To) указываем свой адрес электронной почты, в поле «Тема» (Subject) указываем тему. Пишем любой текст сообщения и отправляем сообщение (кнопка Send):

Image7

В папке «Входящие» появилось наше сообщение самому себе:

Image41

Поднимите свой почтовый сервер на серверах Timeweb Cloud

Заключение

В данной статье мы рассмотрели установку и настройку своего почтового сервера. Данный туториал можно использовать для организации почтового сервера внутри организации.

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
18 марта 2024 г.
2171
11 минут чтения
Средний рейтинг статьи: 3.3
Комментарии 2
Игорь
27.11.2024, 09:50

Здравствуйте. Спасибо за информацию. Пытаюсь использовать её в работе. Сервисы exim4*dovecot на почтовом сервере настроены и внешне работает штатно. В качестве клиента используется Thunderbird по схеме: юзеры коннектятся с своих хостов (через XRDP) к почтовому серверу, попадают в на свой рабочий стол с ограниченным функционалом (доступен Thunderbird, возможность смены пароля, выход из сессии). Пользователи через Thunderbird успешно отправляют сообщения, но которые никто не может получить, при попытке опроса сервера все получают сообщение: "На сервере нет новых сообщений". Не могут отправить и сами себе. Что м.б. не так ?

Timeweb Cloud
Timeweb Cloud
28.11.2024, 13:24

Добрый день!

С подобной ошибкой не сталкивались. Пожалуйста, уточните, есть ли какие-то ошибки в логах Dovecot и Exim? Логи вы можете найти в директориях /var/log/exim4/ и /var/log/dovecot/. Проверка логов может помочь понять, что именно вызывает проблему.