37日Fedora Server
(更新時間約為2023年2月1日),OpenDKIM
執行了新安裝(版本為v2.11.0)。配置包括建立簽名表和金鑰表、建立金鑰以及將其發佈到DNS
.到目前為止,一切都很好...
我已經到了你通過測試它的地步opendkim-testkey
,但失敗了。
我第一次運行它時,它抱怨“不安全的權限”,儘管這並沒有阻止它,但是,我關注了一點;我沒有做任何事情 - 以六種或更多的排列更改所有權和權限 - 使該錯誤消失,所以現在就去管它吧!
我意識到簽名表肯定有錯誤,所以我做了一個微妙的改變。 ……它顯然要求使用“_domainkey”,儘管官方文件沒有說這是必需的,而且似乎完全沒有必要這樣做,但顯然這是必需的。我認為是這樣,因為當我將這個看似愚蠢的“_domainkey”文本添加到簽名表中的條目時,它取得了進一步的進展,至少現在說它正在加載正確的keyfile
.然而,我仍然收到“查詢失敗”錯誤。
需要明確的是,會話是這樣的:
opendkim-testkey -d some-fqdn.com -s default -vvvvvvv
opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: /etc/opendkim/keys/some-fqdn.com/<prefix>.private: WARNING: unsafe permissions
opendkim-testkey: key loaded from /etc/opendkim/keys/some-fqdn.com/<prefix>.private
opendkim-testkey: checking key 'default._domainkey.some-fqdn.com'
opendkim-testkey: 'default._domainkey.some-fqdn.com' query failed
嗯,謝謝你的線索,opendkim-testkey
!
我沒有得到任何幫助systemctl status opendkim.service
- 它說它的狀態是“活動(正在運行)”,沒有錯誤。因此,我檢查了日誌(在本例中/var/log/messages
),並且有一些條目。因此,為了確保它們是最新的,我在命令上循環使用opendkim
while systemctl reload
pinggrep
並tail -f
獲得:
Mar 5 11:17:21 fs1 systemd[1]: Started opendkim.service - DomainKeys Identified Mail (DKIM) Milter.
Mar 5 11:17:21 fs1 audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=opendkim comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Mar 5 11:17:22 fs1 abrt-notification[3173323]: Process 348313 (opendkim) crashed in _nl_load_domain.cold()
哇啊!墜毀了?為什麼它說它已啟動並正在運行?奇怪的!
一些調查顯示 _nl_load_domain.cold() 實際上是一個 C++ 函數。
函數定義開始:
internal_function
_nl_find_domain (const char *dirname, char *locale,
const char *domainname, struct binding *domainbinding)
{
struct loaded_l10nfile *retval;
const char *language;
const char *modifier;
const char *territory;
const char *codeset;
const char *normalized_codeset;
const char *alias_value;
int mask;
這足以讓這傢伙說:“嗯……現在怎麼辦?!”
(請注意,所討論的網域運作得很好 - 除了opendkim
! - 具有相當強大的DNS zone
即時功能,並且所討論的系統具有對DNS
查詢的完全訪問權限。)
筆記
OpenDKIM
正在驗證入站電子郵件DKIM
金鑰就好!我只需要讓簽名部分也能正常運作!