Debian 및 Postfix를 실행하는 메일 서버에서 OpenDKIM을 설정하려고합니다. 이것은 내가 한 구성입니다.
- 두 개의 키 생성 (두 개의 도메인에 대해 메일을 보내야 함)
- 구성된 KeyTable, SigningTable 및 TrustedHosts 파일 :
키 테이블 :
mail._domainkey.domain1.com domain1.com:mail:/etc/opendkim/keys/domain1.com/mail.private
mail._domainkey.domain2.com domain2.com:mail:/etc/opendkim/keys/domain2.com/mail.private
서명표 :
*.domain1.com mail._domainkey.domain1.com
*.domain2.com mail._domainkey.domain2.com
TrustedHosts :
127.0.0.1
::1
localhost
내 opendkim.conf
읽은 내용 :
# This is a basic configuration that can easily be adapted to suit a standard
# installation. For more advanced options, see opendkim.conf(5) and/or
# /usr/share/doc/opendkim/examples/opendkim.conf.sample.
# Log to syslog
Syslog yes
# Required to use local socket with MTAs that access the socket as a non-
# privileged user (e.g. Postfix)
UMask 002
LogWhy yes
OversignHeaders From
TrustAnchorFile /usr/share/dns/root.key
KeyTable /etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
ExternalIgnoreList /etc/opendkim/TrustedHosts
InternalHosts /etc/opendkim/TrustedHosts
마지막으로 milter 소켓을 사용하여 Postfix에 연결했습니다.
Postfix main.cf :
# Milters
smtpd_milters =
unix:/opendkim/opendkim.sock,
unix:/clamav/clamav-milter.ctl,
unix:/spamass/spamass.sock
non_smtpd_milters = unix:/opendkim/opendkim.sock
이 현재 상태에서 OpenDKIM은 수신 메일의 서명을 올바르게 확인하지만 어떤 이유로 든 발신 메일에 서명하지 않습니다. mail.log
메시지를 보내려고 할 때 로그인됩니다 .
Nov 8 16:35:02 illium opendkim[30142]: 826DF501F39: %clienthostname% %clientip% not internal
Nov 8 16:35:02 illium opendkim[30142]: 826DF501F39: not authenticated
Nov 8 16:35:02 illium opendkim[30142]: 826DF501F39: no signature data
not authenticated
메일이 인증 된 SMTP를 사용하여 클라이언트에서 Postfix로 제출되기 때문에 부분이 잘못 되었다고 생각합니다 .
답변
이 문제는 다음 두 가지로 인해 발생했습니다.
-
opendkim.conf
주장 의 의견과 달리 , 기본값mode = sv
이 아닙니다 . 명시 적으로 설정해야했습니다. -
내 SigningTable에서 오류를 만들어 :
*.domain1.com
이어야한다*@domain1.com
.
이 두 지점을 수정 한 후에는 올바르게 작동합니다.