<div><img src="https://top-fwz1.mail.ru/counter?id=3548135;js=na" style="position:absolute;left:-9999px;" alt="Top.Mail.Ru" /></div>
Публичное облако на базе VMware с управлением через vCloud Director
Вход / Регистрация

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

3632
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

Заключение

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

3632
11 минут чтения
Средний рейтинг статьи: 3.3
Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
Комментарии 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/. Проверка логов может помочь понять, что именно вызывает проблему.