Logo Craft Homelab Docs Контакты Telegram
Почтовый сервер на Arch Linux: Postfix, Dovecot и DNS-защита Трендовые github проекты в нашем телеграм канале. Подпишись →
14 августа 2026 г.

Собираем почту для локальных пользователей Linux

Свой почтовый сервер требует больше внимания, чем установка пары пакетов. Почта проходит через DNS, TLS, аутентификацию, ограничения SMTP и репутационные проверки принимающих сторон. Связка Postfix и Dovecot закрывает транспорт и доступ клиентов к ящикам; OpenDKIM и OpenDMARC добавляют проверку доменной подписи и политики.

Ниже — рабочая карта настройки для Arch Linux. Она подходит для сервера с публичным IP-адресом и собственным доменом, где каждому локальному пользователю ОС соответствует почтовый ящик в домашнем каталоге.

Что подготовить до установки пакетов

Для внешней почты нужны домен, публичный IP и управление DNS-записями. Обратная DNS-запись (PTR) должна возвращать имя, указывающее на этот IP: получающие серверы используют её как один из сигналов при оценке отправителя. Проверить запись можно командой:

dig -x 203.0.113.10

PTR обычно настраивается в панели провайдера или через его поддержку. Также заранее стоит получить сертификат. Certbot ставится обычным способом:

pacman -S certbot
certbot -d mail.example.org

Метод выпуска сертификата зависит от доступного веб-сервера и DNS. Важно, чтобы пути к fullchain.pem и privkey.pem были известны всем сервисам, которым требуется TLS.

До отправки писем на реальные адреса полезно проверить сервер через тестовый ящик и сервисы диагностики. Ошибки в DNS или SMTP-конфигурации легко приводят к плохой репутации IP и попаданию сообщений в спам.

Dovecot: ящики и IMAP-доступ

Dovecot обслуживает доступ почтовых клиентов к ящикам и может предоставить Postfix сокет для SMTP-аутентификации. Для установки достаточно:

pacman -S dovecot

Для модели с системными пользователями почта хранится в ~/Maildir, драйвер — maildir, а namespace inbox помечает стандартные папки. В конфигурации задают Drafts, Junk, Trash, Sent и при необходимости Sent Messages с соответствующими флагами special_use.

Проверка активных настроек удобна в формате без комментариев:

doveconf -n mail_path mail_driver namespace inbox

Аутентификация может опираться на системные учётные записи через userdb с драйвером passwd и passdb с драйвером pam. В таком случае логин пользователя становится локальной частью адреса, а пароль проверяется средствами ОС. Новый ящик появляется вместе с пользователем:

useradd alice -m
passwd alice

Сервису потребуется доступ к группе mail:

usermod -aG mail dovecot

Для TLS в Dovecot включают SSL и указывают сертификат, ключ и файл параметров Диффи—Хеллмана. Пути могут выглядеть так:

ssl = yes
ssl_server_cert_file = /etc/letsencrypt/live/mail.example.org/fullchain.pem
ssl_server_key_file = /etc/letsencrypt/live/mail.example.org/privkey.pem
ssl_server_dh_file = /etc/dovecot/dh.pem

Ключевая часть интеграции с Postfix — Unix-сокет /var/spool/postfix/private/auth. Его владельцем и группой задают postfix, а режим доступа должен позволять SMTP-сервису обратиться к Dovecot. После проверки конфигурации сервис включают при загрузке:

systemctl enable --now dovecot.service

Postfix: домен, TLS и отправка клиентами

Postfix устанавливается пакетом:

pacman -S postfix

Базовые параметры связывают myhostname, mydomain, myorigin и mydestination. В mydestination обычно перечисляют имя хоста, localhost и обслуживаемый домен. Хранилище локальной почты указывается через home_mailbox = Maildir/.

Входящий SMTP должен использовать сертификат, а аутентификация — требовать TLS. Основные параметры имеют такой смысл:

smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.org/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.org/privkey.pem
smtpd_tls_auth_only = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes

Для исходящих соединений достаточно разрешить TLS:

smtp_tls_security_level = may

Релей открывают только доверенным сетям и пользователям, успешно прошедшим SMTP-аутентификацию. Это защищает сервер от использования в качестве открытого ретранслятора:

smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

Порт submission предназначен для почтовых клиентов. В master.cf для него включают обязательное шифрование, SASL-аутентификацию и ограничение получателей аутентифицированным пользователем. Клиент Thunderbird может подключаться к нему на порту 587 с STARTTLS, обычным паролем и логином системного пользователя. Для входящей почты используется IMAP на порту 993 с SSL/TLS.

После настройки Postfix запускают вместе с системой:

systemctl enable --now postfix.service

Активную конфигурацию обоих сервисов полезно сохранять перед обновлениями. Форматы конфигов меняются, а резервная копия помогает быстро вернуть рабочее состояние и спокойно разобрать несовместимость.

DNS и криптографическая репутация домена

Открытый SMTP без корректных DNS-записей редко доставляет почту стабильно. Минимальный набор начинается с MX-записи для домена и SPF TXT-записи, где перечислены допустимые источники отправки. Пример проверки TXT-записей:

drill -Q example.org TXT
drill -Q mail.example.org TXT

DKIM добавляет подпись исходящим сообщениям. Установите OpenDKIM:

pacman -S opendkim

В конфигурации задают домен, селектор, путь к закрытому ключу и локальный сокет, например inet:8891@localhost. Пару ключей создают командой:

opendkim-genkey --restrict --selector mail --domain example.org --directory /etc/opendkim

Содержимое созданного TXT-файла публикуют в DNS для mail._domainkey.example.org. Postfix подключает OpenDKIM как milter через smtpd_milters и non_smtpd_milters.

DMARC задаёт политику обработки писем, которые не проходят SPF или DKIM, и адреса для отчётов. OpenDMARC устанавливается отдельным пакетом:

pacman -S opendmarc

Его локальный сокет, например inet:8893@localhost, добавляют в список milter-ов Postfix. В DNS публикуют TXT-запись _dmarc.example.org с политикой и адресом rua. Политику стоит усиливать постепенно: сначала собирать отчёты, затем выбирать режим quarantine или reject после проверки легитимных потоков.

Контрольный список перед эксплуатацией

Перед постоянным использованием проверьте, что сертификаты доступны Dovecot и Postfix, PTR соответствует имени сервера, а DNS уже отдаёт MX, SPF, DKIM и DMARC. Убедитесь, что SMTP submission требует TLS и аутентификацию, а smtpd_relay_restrictions исключает открытый relay.

Отправьте тестовые сообщения и проверьте заголовки: в них должны появиться результаты SPF, DKIM и DMARC. Дополнительно проверьте доступность TLS на SMTP:

openssl s_client -connect mail.example.org:25 -starttls smtp

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