SMTP-роутер с поддержкой DKIM/DMARK/SPF

Оцените статью

Устанавливаем необходимые пакеты

# apt-get install opendkim opendkim-tools postfix mailutils

Создаем ключи DKIM

# mkdir /etc/opendkim
# opendkim-genkey -D /etc/opendkim/ --domain interlan.xyz --selector dkim-interlan
# opendkim-genkey -D /etc/opendkim/ --domain anton-c.ru --selector dkim-antonc
# opendkim-genkey -D /etc/opendkim/ --domain bds.su --selector dkim-bds
# opendkim-genkey -D /etc/opendkim/ --domain aagt.ru --selector dkim-aagt
# chown opendkim:opendkim /etc/opendkim/*

Прописываем записи в DNS

Прописываем в DNS записи из соответствующих файлов (например):

# cat /etc/opendkim/dkim-antonc.txt

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

# dig TXT dkim-antonc._domainkey.anton-c.ru @8.8.8.8

# dig TXT dkim-interlan._domainkey.interlan.xyz @8.8.8.8

Добавляем в Zimbra CS домены и создаем там алиасы для нужных учетных записей.

Конфигурация Postfix

compatibility_level = 2
mail_owner = postfix
myhostname = smtp.interlan.xyz
mydomain = interlan.xyz
myorigin = /etc/mailname
inet_interfaces = all
inet_protocols = all
mydestination = $myhostname, localhost.$mydomain, localhost
relay_domains = smtp.interlan.xyz, localhost.interlan.xyz, localhost, interlan.xyz, aagt.ru, bds.su, anton-c.ru
smtpd_banner = $myhostname ESMTP
smtpd_helo_required = yes
smtpd_helo_restrictions = reject_invalid_hostname
smtpd_sender_restrictions = reject_non_fqdn_sender
unknown_local_recipient_reject_code = 550
mynetworks = 127.0.0.0/8, 37.194.5.244/32
transport_maps = hash:/etc/postfix/transport
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
setgid_group = postdrop
smtp_tls_security_level = may
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:10021
non_smtpd_milters = inet:localhost:10021
relayhost =
mailbox_size_limit = 0
recipient_delimiter = +

Настраиваем DKIM

Конфигурационные файлы:

/etc/opendkim.conf

Syslog                  yes
UMask 007
Socket inet:10021@localhost
PidFile /var/run/opendkim/opendkim.pid
OversignHeaders From
TrustAnchorFile /usr/share/dns/root.key
UserID opendkim
Mode sv
SyslogSuccess yes
LogWhy yes
SendReports yes
ReportAddress "Domain DKIM Admin" <chernousov@interlan.xyz>
SoftwareHeader yes
Canonicalization relaxed/simple
Domain interlan.xyz
Selector default
MinimumKeyBits 1024
KeyTable /etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts

/etc/opendkim/KeyTable

dkim-aagt._domainkey.aagt.ru aagt.ru:dkim-aagt:/etc/opendkim/dkim-aagt.private
dkim-antonc._domainkey.anton-c.ru anton-c.ru:dkim-antonc:/etc/opendkim/dkim-antonc.private
dkim-bds._domainkey.bds.su bds.su:dkim-bds:/etc/opendkim/dkim-bds.private
dkim-interlan._domainkey.interlan.xyz interlan.xyz:dkim-interlan:/etc/opendkim/dkim-interlan.private

/etc/opendkim/SigningTable 

*@aagt.ru dkim-aagt._domainkey.aagt.ru
*@anton-c.ru dkim-antonc._domainkey.anton-c.ru
*@bds.su dkim-bds._domainkey.bds.su
*@interlan.xyz dkim-interlan._domainkey.interlan.xyz

/etc/opendkim/TrustedHosts 

127.0.0.1
localhost
*.interlan.xyz
*.bds.su
*.aagt.ru
*.anton-c.ru
37.194.5.244
78.24.222.93

Проверяем DKIM

Отправляем письмо по адресу: check-auth@verifier.port25.com

Дополнительные конфигурационные файлы

Файл transport:

interlan.xyz smtp:mail.interlan.xyz
aagt.ru smtp:mail.interlan.xyz
bds.su smtp:mail.interlan.xyz
anton-c.ru:mail.interlan.xyz

Обязательно делаем файлам postmap:

# postmap ./transport

Перезапуск Postfix и DKIM (добавляем в автозапуск)

# systemctl restart opendkim
# systemctl restart postfix
# systemctl enable opendkim
# systemctl enable postfix

Добавляем пользователя dkim в группу postfix

# usermod -a -G opendkim postfix

Сервисы для проверки настроек почтового сервера

Проверка на Open Relay

Комплексное тестирование настроек

Похожие записи

Настройка взаимодействия RED ADM и Windows Active Directory

Сегодня проведем несколько экспериментов по настройке взаимодействия RED ADM и Windows Active Directory. Есть несколько способов настройки доверия для упрощения миграции с решений Microsoft на Российское ПО и сегодня их…

Подробная инструкция по написанию YAML‑файлов для Docker Compose

Так как на севере делать абсолютно нечего, то я продолжаю заниматься саморазвитием 🙂 На этой неделе вспоминаю и углубляю свои знания в Docker. Лучший способ запомнить тему, это вести конспект…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читать еще статьи

Топ-9 нейросетей для генерации изображений в 2026 году

Топ-9 нейросетей для генерации изображений в 2026 году

Настройка взаимодействия RED ADM и Windows Active Directory

Настройка взаимодействия RED ADM и Windows Active Directory

Подробная инструкция по написанию YAML‑файлов для Docker Compose

Подробная инструкция по написанию YAML‑файлов для Docker Compose

Установка основного контроллера домена на базе REDADM

Установка основного контроллера домена на базе REDADM

zVirt работа с шаблонами виртуальных машин

zVirt работа с шаблонами виртуальных машин

Подробная инструкция по работе с томами (volumes) в Docker

Подробная инструкция по работе с томами (volumes) в Docker