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

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

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

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

В этой статье мы рассмотрим пошаговую настройку кластера Kubernetes на Ubuntu 24.04 с тремя узлами: один мастер (который также может запускать пользовательские поды) и два рабочих узла. Мы настроим PersistentVolume…

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

В рамках создания собственного кластера Kubernetes я поднаял кластер Mysql который работает в режиме Master-Slave и Slave-узлы соответственно работают в режиме read-only, а мастер в read-write. Соответственно мне нужен балансировщик…

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

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

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

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования