![OpenDKIM игнорирует имена хостов и домены в файле доверенных хостов](https://rvso.com/image/762120/OpenDKIM%20%D0%B8%D0%B3%D0%BD%D0%BE%D1%80%D0%B8%D1%80%D1%83%D0%B5%D1%82%20%D0%B8%D0%BC%D0%B5%D0%BD%D0%B0%20%D1%85%D0%BE%D1%81%D1%82%D0%BE%D0%B2%20%D0%B8%20%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%D1%8B%20%D0%B2%20%D1%84%D0%B0%D0%B9%D0%BB%D0%B5%20%D0%B4%D0%BE%D0%B2%D0%B5%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D1%85%20%D1%85%D0%BE%D1%81%D1%82%D0%BE%D0%B2.png)
В соответствии сhttp://opendkim.org/opendkim.conf.5.html, параметры ExternalIgnoredHosts
и InternalHosts
поддерживают тот же формат, что и PeerList
параметр следующим образом:
Набор должен содержать в каждой строке имя хоста, доменное имя (например, «.example.com»), IP-адрес, адрес IPv6 (включая сопоставленный адрес IPv4) или спецификацию IP в стиле CIDR (например, «192.168.1.0/24»).
IP-адреса и подсети правильно определяются как внутренние хосты, но не все имена хостов и домены определяются.
Вот/etc/opendkim.conf
LogWhy yes
Syslog yes
SyslogSuccess yes
UMask 002
UserID opendkim:opendkim
KeyTable refile:/etc/opendkim/key.table
SigningTable refile:/etc/opendkim/signing.table
ExternalIgnoreList refile:/etc/opendkim/trusted.hosts
InternalHosts refile:/etc/opendkim/trusted.hosts
AutoRestart yes
AutoRestartRate 10/1M
Background yes
Canonicalization relaxed/simple
DNSTimeout 5
Mode sv
Nameservers 192.168.100.1,192.168.100.2
OversignHeaders From
SignatureAlgorithm rsa-sha256
SubDomains no
Socket local:/var/spool/postfix/opendkim/opendkim.sock
PidFile /run/opendkim/opendkim.pid
И/etc/opendkim/trusted.hosts
127.0.0.1
::1
localhost
mailserver # mail server hostname
192.168.100.50 # test server
webserver.domain.local # web server
.domain.local # entire local domain
*.testdomain.local # entire local test domain
И main.cf
варианты milter:
milter_default_action = accept
milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_type} {auth_authen}
milter_protocol = 6
smtpd_milters = local:opendkim/opendkim.sock
non_smtpd_milters = $smtpd_milters
Письмо от 192.168.100.50
подписано, как и ожидалось:
mailserver postfix/qmgr[5406]: 59CA920E11: removed
mailserver postfix/smtpd[5412]: connect from testserver.mydomain.com[192.168.100.50]
mailserver postfix/smtpd[5412]: 41BD520E11: client=testserver.mydomain.com[192.168.100.50]
mailserver postfix/cleanup[5436]: 41BD520E11: message-id=<>
mailserver opendkim[5427]: 41BD520E11: DKIM-Signature field added (s=default, d=contoso.com)
mailserver postfix/qmgr[5406]: 41BD520E11: from=<[email protected]>, size=371, nrcpt=1 (queue active)
mailserver postfix/smtp[5437]: 41BD520E11: to=<[email protected]>, relay=ASPMX.L.GOOGLE.COM[173.194.76.27]:25, delay=0.4, delays=0.01/0/0.13/0.26, dsn=2.0.0, status=sent (250 2.0.0 OK 1610364907 k20si14443742wrc.23 - gsmtp)
mailserver postfix/qmgr[5406]: 41BD520E11: removed
Но почта от webserver.domain.local
не воспринимается как внутренняя, несмотря на то, что имя клиента разрешается:
mailserver postfix/smtpd[5846]: connect from webserver.domain.local[192.168.100.51]
mailserver postfix/smtpd[5846]: 4F00620E11: client=webserver.domain.local[192.168.100.51]
mailserver postfix/cleanup[5850]: 4F00620E11: message-id=<>
mailserver opendkim[5840]: 4F00620E11: webserver.domain.local [192.168.100.51] not internal
mailserver opendkim[5840]: 4F00620E11: not authenticated
mailserver opendkim[5840]: 4F00620E11: no signature data
mailserver postfix/qmgr[5821]: 4F00620E11: from=<[email protected]>, size=371, nrcpt=1 (queue active)
mailserver postfix/smtp[5851]: 4F00620E11: to=<[email protected]>, relay=ASPMX.L.GOOGLE.COM[74.125.133.27]:25, delay=0.83, delays=0.01/0/0.43/0.39, dsn=2.0.0, status=sent (250 2.0.0 OK 1610365309 g124si15021166wma.170 - gsmtp)
mailserver postfix/qmgr[5821]: 4F00620E11: removed
Я что-то упускаю относительно того, как разрешаются имена хостов, или что-то более фундаментальное в том, как реализована эта функциональность? Я также пробовал комбинации доменов *.domain.local
и .domain.local
в , /etc/opendkim/trusted.hosts
но безуспешно.
Любая помощь будет принята с благодарностью.
Номера версий:
~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.4 LTS
Release: 18.04
Codename: bionic
~$ postconf mail_version
mail_version = 3.3.0
opendkim -V
~$ opendkim -V
opendkim: OpenDKIM Filter v2.11.0
Compiled with OpenSSL 1.1.1 11 Sep 2018
SMFI_VERSION 0x1000001
libmilter version 1.0.1
Supported signing algorithms:
rsa-sha1
rsa-sha256
Supported canonicalization algorithms:
relaxed
simple
Active code options:
POLL
QUERY_CACHE
USE_DB
USE_LDAP
USE_LUA
USE_ODBX
USE_UNBOUND
_FFR_ATPS
_FFR_RBL
_FFR_REPLACE_RULES
_FFR_SENDER_MACRO
_FFR_STATS
_FFR_VBR
libopendkim 2.11.0: atps query_cache
решение1
Проблема была решена путем удаления ведущих звездочек из подстановочного знака домена в /etc/opendkim/trusted.hosts
. Звездочки, которые там были, не только остановили работу подстановочного знака домена, но и остановили работу всех других строковых записей в файле, хотя IP-адреса не были затронуты.
IP-адреса работают, а строки — нет:
127.0.0.1
::1
localhost
mailserver # mail server hostname
192.168.100.50 # test server
webserver.domain.local # web server
.domain.local # entire local domain
*.testdomain.local # entire local test domain
Работают как IP-адреса, так и строки:
127.0.0.1
::1
localhost
mailserver # mail server hostname
192.168.100.50 # test server
webserver.domain.local # web server
.domain.local # entire local domain
.testdomain.local # entire local test domain