я потратил около 2 часов на настройку dkim с постфиксом на ubuntu 20.04. Я пробую абсолютно все, но dkim не работает.
OpenDKIM-Service не запускается:
root@mail:~# статус службы opendkim
▪ opendkim.service — OpenDKIM DomainKeys Identified Mail (DKIM) Milter
Загружено: загружено (/lib/systemd/system/opendkim.service; включено; предустановка поставщика: включена)
Активно: активация (начало) с сб 08.01.2022 19:39:15 CET; 59 секунд назад
Документы: человек:opendkim(8)
человек:opendkim.conf(5)
мужчина:opendkim-genkey(8)
мужчина:opendkim-genzone(8)
мужчина: opendkim-testadsp(8)
мужчина: opendkim-тестовый ключ
http://www.opendkim.org/docs.html
Процесс: 62335 ExecStart=/usr/sbin/opendkim -x /etc/opendkim.conf (код=выход, статус=0/УСПЕХ)
Заданий: 7 (лимит: 19660)
Память: 2,7 М
Группа CG: /system.slice/opendkim.service
ââ62336 /usr/sbin/opendkim -x /etc/opendkim.conf
ââ62337 /usr/sbin/opendkim -x /etc/opendkim.conf
08 января 19:39:15 mail.mydomain.de systemd[1]: Запуск OpenDKIM DomainKeys Identified Mail (DKIM) Milter...
08 января, 19:39:15 mail.mydomain.de systemd[1]: opendkim.service: невозможно открыть файл PID /run/opendkim/opendkim.pid (пока?) после запуска: операция не разрешена
08 января 19:39:15 mail.mydomain.de opendkim[62337]: запуск OpenDKIM Filter v2.11.0 (аргументы: -x /etc/opendkim.conf)
07 января 13:32:59 mail.mydomain.de systemd[1]: запуск OpenDKIM DomainKeys Identified Mail (DKIM) Milter...
07 января 13:32:59 mail.mydomain.de systemd[1]: Запущен Milter OpenDKIM DomainKeys Identified Mail (DKIM).
07 января 13:32:59 mail.mydomain.de opendkim[275965]: запуск OpenDKIM Filter v2.11.0 (аргументы: -x /etc/opendkim.conf)
08 января 10:35:44 mail.mydomain.de systemd[1]: остановка OpenDKIM DomainKeys Identified Mail (DKIM) Milter...
08 января 10:35:50 mail.mydomain.de systemd[1]: opendkim.service: успешно.
08 января 10:35:50 mail.mydomain.de systemd[1]: Остановлен Milter OpenDKIM DomainKeys Identified Mail (DKIM).
Вот мой /etc/opendkim.conf:
# Это базовая конфигурация, которую можно легко адаптировать к стандартному
# установка. Дополнительные параметры см. в opendkim.conf(5) и/или
# /usr/share/doc/opendkim/examples/opendkim.conf.sample.
# Войти в системный журнал
Системный журнал да
# Требуется для использования локального сокета с MTA, которые обращаются к сокету как к не-
# привилегированный пользователь (например, Postfix)
UMask 002
# Подпишите например.com с помощью ключа в /etc/dkimkeys/dkim.key, используя
# селектор '2007' (например, 2007._domainkey.example.com)
#Домен example.com
#KeyFile /etc/dkimkeys/dkim.key
#Селектор 2007
# Часто используемые параметры; закомментированные версии показывают значения по умолчанию.
Канонизация простая
Режим св
Субдомены нет
Автоперезагрузка да
AutoRestartRate 10/1M
Фон да
DNSTimeout 5
ПодписьАлгоритм rsa-sha256
# Всегда перезаписывать From (подписывать, используя фактическое From и нулевое From, чтобы предотвратить
# поля заголовка вредоносных подписей (от и/или другие) между подписывающей стороной
# и верификатор. От по умолчанию в пакете Debian переопределено.
# потому что он часто является идентификационным ключом, используемым системами репутации и, таким образом,
# несколько чувствительно к безопасности.
OversignHeaders From
## Имя файла ResolverConfiguration
## по умолчанию (нет)
##
## Задает файл конфигурации для передачи в библиотеку Unbound, которая
## выполняет DNS-запросы, используя протокол DNSSEC. См. Несвязанный
## документация на http://unbound.net для ожидаемого содержимого этого файла.
## Результаты одновременного использования этого параметра и параметра TrustAnchorFile
## время не определено.
## В Debian файл /etc/unbound/unbound.conf поставляется как часть рекомендуемого
## несвязанный пакет
# Конфигурация разрешения /etc/unbound/unbound.conf
## имя файла TrustAnchorFile
## по умолчанию (нет)
##
## Указывает файл, из которого следует считывать данные якоря доверия при выполнении
## Запросы DNS и применение протокола DNSSEC. См. Несвязанную документацию
## на http://unbound.net для ожидаемого формата этого файла.
TrustAnchorFile /usr/share/dns/root.key
Пользователь #OpenDKIM
# Не забудьте добавить пользовательский постфикс в группу opendkim
ID пользователя
# Сопоставить домены в адресах отправителей с ключами, используемыми для подписи сообщений
Файл KeyTable: /etc/opendkim/key.table
Файл SigningTable: /etc/opendkim/signing.table
# Хосты, которые следует игнорировать при проверке подписи
Внешний список игнорирования /etc/opendkim/trusted.hosts
# Набор внутренних хостов, почта которых должна быть подписана
Внутренние хосты /etc/opendkim/trusted.hosts
Локальный сокет:/var/spool/postfix/opendkim/opendkim.sock
Вот мой /etc/default/opendkim.conf
# Указанные здесь параметры командной строки переопределяют содержимое
# /etc/opendkim.conf. Полный список опций смотрите в opendkim(8).
#ДЕМОН_OPTS=""
#
# Раскомментируйте, чтобы указать альтернативный сокет
# Обратите внимание, что эта установка переопределит любое значение Socket в opendkim.conf
# По умолчанию:
SOCKET="local:/var/spool/postfix/opendkim/opendkim.sock"
# слушать на всех интерфейсах порта 54321:
#РАЗЪЕМ="inet:54321"
# слушать петлю на порту 12345:
#SOCKET="inet:12345@localhost"
# слушать 192.0.2.1 через порт 12345:
#SOCKET="inet:[email protected]"
Вот мой master.cf:
#
# Конфигурационный файл главного процесса Postfix. Для получения подробной информации о формате
# файла, см. справочную страницу master(5) (команда: "man 5 master" или
# он-лайн: http://www.postfix.org/master.5.html).
#
# Не забудьте выполнить "постфиксную перезагрузку" после редактирования этого файла.
#
# ================================================ ==========================
# тип сервиса private unpriv chroot wakeup maxproc command + args
# (да) (да) (нет) (никогда) (100)
# ================================================ ==========================
smtp инет n - y - - smtpd
#smtp inet n - y - 1 постскрин
#smtpd проход - - y - - smtpd
#dnsblog unix - - y - 0 dnsblog
#tlsproxy unix - - y - 0 tlsproxy
подача инет н - у - - smtpd
-o smtpd_enforce_tls=да
-o smtpd_sasl_auth_enable=да
-o smtpd_client_restrictions=permit_sasl_authenticated,отклонить
# -o syslog_name=postfix/submission
# -o smtpd_tls_security_level=шифровать
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_tls_auth_only=yes
# -o smtpd_reject_unlisted_recipient=нет
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,отклонить
# -o milter_macro_daemon_name=ИСХОДЯЩИЙ
#smtps inet n - y - - smtpd
# -o syslog_name=postfix/smtps
# -o smtpd_tls_wrappermode=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_reject_unlisted_recipient=нет
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,отклонить
# -o milter_macro_daemon_name=ИСХОДЯЩИЙ
#628 инет п-у--qmqpd
пикап unix n - y 60 1 пикап
очистка unix n - y - 0 очистка
qmgr unix n - n 300 1 qmgr
#qmgr unix n - n 300 1 oqmgr
tlsmgr unix--y 1000? 1 тлсмгр
переписать unix--y--тривиально-переписать
отказ unix - - y - 0 отказ
отложить unix - - y - 0 отказов
трассировка unix - - y - 0 отказов
проверить unix - - y - 1 проверить
прошить unix -ы 1000? 0 флеш
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - y - - smtp
реле unix--y--smtp
-o syslog_name=postfix/$service_name
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - y - - showq
ошибка unix--y--ошибка
повторите попытку unix--y--ошибка
отбросить unix--y--отбросить
локальный unix - n n - - локальный
виртуальный unix - n n - - виртуальный
lmtp unix--y--lmtp
наковальня unix - - y - 1 наковальня
архив unix - - y - 1 архив
postlog unix-dgram n - n - 1 postlogd
#
# ================================================ ====================
# Интерфейсы к программному обеспечению, отличному от Postfix. Обязательно изучите инструкцию
# страниц программного обеспечения, отличного от Postfix, чтобы узнать, какие параметры ему нужны.
#
# Многие из следующих сервисов используют доставку Postfix pipe(8)
# агент. См. справочную страницу pipe(8) для получения информации о ${recipient}
# и другие параметры конверта сообщения.
# ================================================ ====================
#
# почтовая рассылка. Подробности смотрите в файле Postfix MAILDROP_README.
# Также укажите в main.cf: maildrop_destination_recipient_limit=1
#
maildrop unix - n n - - канал
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# ================================================ ====================
#
# Последние версии Cyrus могут использовать существующую запись "lmtp" master.cf.
#
# Указываем в cyrus.conf:
# lmtp cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
#
# Укажите в main.cf одно или несколько из следующего:
# mailbox_transport = lmtp:inet:localhost
# виртуальный_транспорт = lmtp:inet:localhost
#
# ================================================ ====================
#
# Cyrus 2.1.5 (Амос Гуо)
# Также указать в main.cf: cyrus_destination_recipient_limit=1
#
#cyrus unix - n n - - труба
# user=cyrus argv=/cyrus/bin/deliver -e -r ${отправитель} -m ${расширение} ${пользователь}
#
# ================================================ ====================
# Старый пример доставки через Cyrus.
#
#old-cyrus unix - n n - - pipe
# flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
#
# ================================================ ====================
#
# Подробности конфигурации смотрите в файле Postfix UUCP_README.
#
uucp unix - n n - - канал
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Другие внешние способы доставки.
#
ifmail unix - n n - - канал
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - канал
флаги=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
бэкенд-подсистема масштабирования unix — n n — 2 канала
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
почтальон unix - n n - - труба
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${пользователь}
smtps inet n - y - - smtpd
-o smtpd_tls_wrappermode=да
Вот мой /etc/postfix/main.cf:
# Смотрите /usr/share/postfix/main.cf.dist для более полной версии с комментариями
# Специально для Debian: указание имени файла приведет к первому
# строка этого файла, которая будет использоваться в качестве имени. Дебиан по умолчанию
# это /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP
имя хоста = mail.mydomain.de
биф = нет
# добавление .domain - это работа MUA.
append_dot_mydomain = нет
# Раскомментируйте следующую строку, чтобы сгенерировать предупреждение об "отложенной почте"
#delay_warning_time = 4 часа
readme_directory = нет
# См. http://www.postfix.org/COMPATIBILITY_README.html -- по умолчанию 2 на
# свежие установки.
уровень_совместимости = 2
message_size_limit = 10240000
# TLS-параметры
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_security_level=может
smtp_tls_CApath=/etc/ssl/сертификаты
smtp_tls_security_level=может
smtp_tls_session_cache_database = btree:${каталог_данных}/smtp_scache
smtpd_recipient_restrictions = allow_mynetworks, reject_unauth_destination, reject_non_fqdn_sender
# Конфигурация Milter
milter_default_action = принять
milter_protocol = 6
smtpd_milters = локальный:opendkim/opendkim.sock
non_smtpd_milters = $smtpd_milters
smtpd_sender_restrictions = Permit_MyNetworks, Permit_Sasl_аутентифицированный
мои сети = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
alias_maps = хеш:/и т.д./псевдонимы
alias_database = хэш:/и т.д./псевдонимы
myorigin = /etc/mailname
мой пункт назначения = локальный хост
ретранслятор =
smtpd_relay_restrictions = Permit_MyNetworks, Permit_Sasl_аутентифицированный, reject_unauth_destination
mailbox_command = procmail -a "$EXTENSION"
почтовый ящик_размер_лимит = 0
получатель_разделитель = +
inet_interfaces = все
inet_protocols = все
#кастом для копано
virtual_alias_maps = хеш:/etc/postfix/виртуальный
virtual_mailbox_maps = mysql:/etc/postfix/mysql-users.cf
виртуальный_транспорт = lmtp: [локальный хост]: 2003
виртуальный_почтовый_домен = mydomain1.de, mydomain2.de
#
smtpd_tls_ciphers = средний
smtpd_tls_mandatory_ciphers = средний
tls_medium_cipherlist = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305: ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
smtpd_tls_mandatory_protocols = TLSv1.2
smtpd_tls_protocols = TLSv1.2
smtpd_tls_security_level = может
smtp_tls_security_level = может
smtp_use_tls = нет
smtpd_client_restrictions = Permit_MyNetworks, Permit_Sasl_аутентифицированный, reject_rbl_client zen.spamhaus.org
smtp_send_xforward_command = да
smtpd_authorized_xforward_hosts = 127.0.0.0/8 [::1]/128
smtpd_sasl_auth_enable = нет
виртуальная_почтовая_база = /var/qmail/mailnames
виртуальные_uid_maps = статические: 30
virtual_gid_maps = статический:31