Как настроить несколько почтовых доменов в iRedMail с использованием Nginx

В данном руководстве мы объясним, как организовать несколько почтовых доменов (виртуальный хостинг) с использованием iRedMail, что представляет собой удобное решение для создания собственного почтового сервера.

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

Для успешного выполнения этого руководства предполагается, что

  • Вы уже сконфигурировали сервер iRedMail для работы с одним доменом.
  • Вы используете iRedMail версии 0.9.8 или новее, где для работы с веб-почтой применяется Nginx. В этой версии поддержка веб-сервера Apache была отменена.

Что требуется от вас сделать?

Для того чтобы разместить несколько почтовых доменов, вам потребуется

  • Создайте новый почтовый домен и добавьте пользователя через административную панель iRedMail.
  • Настроить записи MX, A и SPF для нового почтового домена.
  • Настроить DKIM-подпись для новых доменов.
  • Создать запись DMARC для нового домена.
  • Конфигурировать RoundCube Webmail, Postfix и Dovecot для работы с несколькими доменными именами.

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

Внедрение дополнительных доменов в административной панели iRedMail.

Авторизуйтесь в админ-панели iRedMail с аккаунтом postmaster. ( https://mail.your-domain.com/iredadmin ) После этого добавьте необходимые домены в разделе «Добавить».

настройка нескольких доменов в iRedMail

Затем необходимо внести пользователя в новый домен.

Установка SSL для нескольких доменов в iRedMail.

Настройка записей MX, A и SPF для нового домена электронной почты.

В вашем DNS-менеджере создайте MX-запись для нового домена, следуя приведённым ниже указаниям.

Тип записи Имя Значение MX @ mail.domain2.com

A-запись определяет IP-адрес вашего сервера электронной почты.

Тип записи Имя Значение A mail IP-адрес-почтового-сервера

Если на вашем сервере используется IPv6-адрес, не забудьте включить запись AAAA.

После этого настройте SPF-запись, чтобы разрешить хосту MX отправлять письма от имени нового почтового домена.

Тип записи Имя Значение TXT @ v=spf1 mx ~all

Конфигурация подписки DKIM для свежего домена.

Необходимо настроить amavisd для подписи каждого исходящего сообщения для нового почтового домена. Для этого отредактируйте файл /etc/amavis/conf.d/50-user.

sudo nano /etc/amavis/conf.d/50-user

Определите следующую последовательность.

dkim_key('domain1.comdkim находится по адресу /var/lib/dkim/domain1.com. pem');

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

dkim_key('domain2.comdkim находится по адресу /var/lib/dkim/domain2.com.pem');

В разделе @dkim_signature_options_bysender_maps включите следующую строку.

Читайте также:  Как просматривать и управлять процессами в Linux эффективно и просто

"domain2.com" => < d =>"domain2.com", a => 'rsa
Подпись DKIM в amavis

Сохраните файл и закройте его. После этого создайте закрытый ключ для второго домена.

sudo amavisd-new genrsa /var/lib/dkim/domain2.com.pem 2048

sudo systemctl restart amavis

Если Amavis не может быть перезапущен, возможно, потребуется сменить владельца ключа и попытаться запустить его заново.

sudo chown amavis:amavis /var/lib/dkim/ - R

Затем покажите доступные ключи.

sudo amavisd-new showkeys

Все доступные ключи будут показаны. Нам требуется открытый ключ второго домена, который указан в скобках.

amavis отображает ключи

В вашем DNS-менеджере добавьте TXT-запись для второго домена. В поле "Имя" укажите dkim._domainkey. Скопируйте содержимое в скобках и вставьте в поле значений, предварительно удалив все двойные кавычки. (Вы можете сначала вставить это в текстовый редактор, удалить кавычки, а затем скопировать в DNS-менеджер. Возможно, потребуется также удалить другие недопустимые символы, такие как символы возврата каретки.)

amavisd-new для Ubuntu

После внесения изменений проверьте TXT-запись, используя следующую команду.

dig TXT dkim._domainkey.domain2.com

Теперь вы можете использовать следующую команду для проверки корректности вашей DNS-записи DKIM.

sudo amavisd-new testkeys

Если DNS-запись корректна, тест будет успешным.

TESTING#1 domain1.com: dkim._domainkey. domain1.com => pass TESTING#2 domain2.com: dkim._domainkey. domain2.com => pass

Имейте в виду, что вашей DKIM-записи может потребоваться время для распространения в сети. В зависимости от вашего регистратора доменов, процесс может произойти мгновенно или занять до 24 часов. Вы можете посетить сайт https://www.dmarcanalyzer.com/dkim/dkim-check/, указать dkim в качестве селектора и ввести название вашего домена для проверки статуса распространения записи DKIM.

Конфигурация DMARC-записи для свежего домена

Для создания DMARC-записи откройте менеджер DNS и добавьте новую TXT-запись. В поле имени укажите _dmarc, а в поле значения вставьте следующий текст:

создать текстовую запись DMARC

Приведённая выше запись DMARC служит надёжной начальной точкой. Для детального объяснения DMARC рекомендуется ознакомиться с соответствующей статьёй.

  • Настройка DMARC-записи для обеспечения защиты вашего домена от фальсификации электронной почты.

Конфигурация RoundCube, Postfix и Dovecot для работы с несколькими доменами.

Рекомендуется предоставить пользователям первого домена доступ через mail.domain1.com, а второго — через mail.domain2.com при работе с веб-почтой RoundCube.

Перейдите в каталог /etc/nginx/.

cd /etc/nginx/

Создайте новый пустой конфигурационный файл для второго домена в каталоге /etc/nginx/sites-enabled/.

sudo touch sites-enabled/mail.domain2.com.conf

Сохраните стандартные настройки HTTP сайта в отдельный файл.

cat sites-enabled/00-default.conf | sudo tee - a sites-enabled/mail.domain2.com.conf

Сохраните стандартные SSL-конфигурации сайта в отдельный файл.

cat sites-enabled/00-default-ssl.conf | sudo tee - a sites-enabled/mail.domain2.com.conf

Измените файл конфигурации виртуального хоста.

sudo nano sites-enabled/mail.domain2.com.conf

Определите следующую строку.

server_name _;

Необходимо заменить server_name на mail.domain2.com, так как впоследствии потребуется использовать Certbot для создания нового TLS-сертификата.

server_name mail.domain2.com;

Есть два экземпляра server_name, необходимо изменить оба. После этого сохраните файл и закройте его. Затем проверьте конфигурацию Nginx.

sudo nginx - t

Если тест прошёл успешно, перезапустите Nginx, чтобы изменения начали действовать.

sudo systemctl reload nginx

Теперь применяйте плагин webroot Certbot для получения TLS-сертификата для всех ваших почтовых доменов. Это позволит вам создать один TLS-сертификат, который будет содержать несколько доменных имен, что избавит почтовых клиентов от предупреждений о безопасности.

sudo certbot certonly --webroot --agree-tos - d mail.domain1.com,mail.domain2.com --cert-name mail.domain1.com --email your-email-address - w /var/www/html

Учтите, что в указанной выше команде мы указали название сертификата, основываясь на первом почтовом домене, который будет использован в пути к файлу. Это позволит избежать необходимости вносить изменения в путь к файлу в конфигурациях Postfix или Dovecot.

Если вам предложат обновить действующий сертификат для добавления нового домена, введите U и нажмите Enter.

certbot для многодоменного использования с iRedMail

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

IredMail Nginx несколько доменов

Если вы встретили эту ошибку,

Подробности: Неверный ответ от https://mail.domain2.com/.well-known/acme-challenge/j3Nd2mNFQ43P9xLJSP4IFAiRytDCb3bemZwuAxDzWQc [xx. xx. xx. xx]: 404

Вам потребуется установить плагин certbot для nginx, чтобы получить сертификат TLS.

sudo apt install python3-certbot-nginx sudo certbot certonly - a nginx --agree-tos - d mail.domain1.com,mail.domain2.com --cert-name mail.domain1.com --email ваш-адрес-электронной-почты

После установки TLS-сертификата выполните перезагрузку Nginx для активации нового сертификата.

sudo systemctl reload nginx

Теперь у вас есть возможность использовать различные домены для доступа к RoundCube webmail.Кроме того, необходимо перезапустить сервер SMTP Postfix и сервер IMAP Dovecot, чтобы они смогли обновить сертификат.

sudo systemctl reload postfix dovecot

Работа с почтовым клиентом на вашем ПК или мобильном устройстве.

Откройте ваш почтовый клиент на компьютере, например, Mozilla Thunderbird, и настройте почтовый аккаунт для второго домена.

  • В настройках входящего сервера выберите IMAP в качестве протокола, укажите mail.domain2.com как имя сервера, установите порт 143 и выберите метод шифрования STARTTLS. В качестве метода аутентификации выберите обычный пароль.
  • В разделе исходящих настроек выберите протокол SMTP, укажите mail.domain2.com в качестве адреса сервера, выберите порт 587 и используйте метод шифрования STARTTLS. В качестве способа аутентификации выберите обычный пароль.

IredMail: настройка Postfix и Dovecot для работы с несколькими доменами.

Вы можете подключаться к IMAP через порт 993 с включенным шифрованием SSL/TLS, а для SMTP используйте порт 465 с аналогичным шифрованием. Порт 25 не рекомендуется для отправки исходящих писем в качестве SMTP-порта.

Сервер SMTP Postfix и сервер IMAP Dovecot, хотя и опираются на имя хоста основного почтового домена (mail.domain1.com) при обмене данными, теперь применяют многодоменный сертификат. Это позволяет избежать предупреждений о сертификатах в почтовом клиенте.

Проверка SPF и DKIM записей

Теперь у вас есть возможность воспользоваться настольным или веб-почтовым клиентом для отправки тестового письма на адрес [email protected] и получения бесплатного отчета о проверке электронной почты. Вот отчет, который я получил от port25.com.

Настройка SPF и DKIM для Postfix на Ubuntu.

Обязательно оцените свой почтовый рейтинг на сайте https://www.mail-tester.com и проверьте отправку письма с помощью сервиса GlockApps.

Если проверка DKIM не прошла успешно, вы можете посетить сайт https://www.dmarcanalyzer.com/dkim/dkim-check/, чтобы выяснить, имеются ли ошибки в вашей записи DKIM.

Проверка записи DKIM с помощью анализатора DMARC.

Что предпринять, если ваши письма по-прежнему оказываются в папке со спамом?

Вот несколько дополнительных рекомендаций в данной статье: 7 действенных способов предотвратить попадание ваших писем в спам. Несмотря на то что это займет некоторое время и потребует усилий, ваши сообщения в конечном итоге окажутся в папке "Входящие" после реализации этих советов.

Обратный DNS для множества почтовых доменов?

Обратный DNS (rDNS), или PTR-запись, служит для подтверждения соответствия IP-адреса отправителя и имени хоста HELO. При добавлении нового почтового домена не требуется создавать дополнительную PTR-запись. Ваш rDNS должен указывать только на одно имя хоста, которое настраивается в Postfix и может быть отображено с помощью следующей команды.

postconf myhostname

rDNS представляет собой запись, ассоциированную с IP-адресами, а не с доменными именами. Если у вас имеется только один IP-адрес, вам потребуется лишь одна запись rDNS, которая указывает на конкретное имя хоста. Процесс проверки обратного DNS не анализирует, какое доменное имя указано в вашем письме в строке From:. Важно, чтобы у вашего IP-адреса была активная запись rDNS, и имя хоста должно успешно разрешаться обратно в этот IP-адрес; в таком случае проверка обратного DNS будет пройдена успешно.

Также вам не требуется изменять следующие параметры в Postfix при размещении нескольких доменов на одном сервере.

  • myhostname
  • myorigin
  • mydestination

Почтовые хостинговые сервисы, такие как G Suite и Microsoft Exchange Online, применяют одно и то же доменное имя для сервера, чтобы отправлять электронные сообщения своим пользователям.

sudo postmap - F /etc/postfix/sni_maps

sudo systemctl restart postfix

Необходимо добавить опцию - F в postmap для корректного декодирования каждого значения в SNI-карте из base64. В противном случае, Postfix выдаст ошибку о неверном значении BASE64, которая будет записана в файл /var/log/mail.log. Следующая команда нуждается в исправлении.

sudo postmap /etc/postfix/sni_maps

Несколько сертификатов TLS для Dovecot

Необходимо включить все TLS-сертификаты, используемые в Postfix, в файл 10-ssl.conf Dovecot для правильной работы системы.

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

Вы можете обнаружить следующие строки.

ssl_cert =mail.domain1.comПолный путь к сертификату /fullchain. pem ssl_key =mail.domain1.com/privkey. pem

После этого добавьте такие строки.

local_name mail.domain1.com < ssl_cert =mail.domain1.comПолный путь к сертификату /fullchain. pem ssl_key =mail.domain1.com/privkey. pem > local_name mail.domain2.com < ssl_cert =mail.domain2.comПолный путь к сертификату /fullchain. pem ssl_key =mail.domain2.com/privkey. pem >

Закройте и сохраните файл, после чего перезапустите Dovecot.

sudo systemctl restart dovecot

Заключение

Это всё! Надеюсь, данный урок оказался полезным для вас в настройке нескольких почтовых доменов с iRedmail.Если вам понравился материал, подписывайтесь на нашу бесплатную рассылку, чтобы узнавать больше полезных советов и рекомендаций.