squeezeからwheezyにアップグレードした後、Debianでpostfixの問題が発生しました。 Postfixは、dkim-filterを使用してメッセージに署名するように設定されています。アップデート前はすべてうまくいきましたが、現在はサービス(tcpまたはunixソケット)への接続が失敗します。 Debianがopendkimに切り替えたからかもしれないと思ってdkim-filterを削除し、opendkimをインストールしました。同じ問題です。 tcpオプションの代わりにunixファイルソケット接続を設定してみました。同じ問題です。
postfix/smtpd: warning: connect to Milter service unix:/var/run/opendkim/opendkim.sock: No such file or directory
または(TCP / IPを使用):
postfix/cleanup: warning: connect to Milter service inet:localhost:8891: Connection refused
二度確認しました。ソケットファイルが存在し、サービスがポート8891でリッスンしています。
この問題を解決するにはどうすればよいですか?
答え1
- opendkimが実行されていることを確認してください。 (私の考えでは、これはあなたが見ているソケットファイルのようなものです。)
opendkimを構成しましたか?設定ファイルは
/etc/opendkim.conf
。サイト/ドメインと一致するようにファイルを更新する必要があります。dkimkey道。
opendkimグループにサフィックスを追加する
opendkim.sock権限が次の場合:
$ls -l /var/run/opendkim -rw-rw-r-- 1 opendkim opendkim 6月2日14時56分opendkim.pid srwxrwxr-x 1 opendkim opendkim 0 5月2日 14:56 opendkim.sock
そうでない場合は、in
UMask
に設定されていることを確認してください。0002
/etc/opendkim.conf
次に、次のようにします。
sudo adduser postfix opendkim
Postfixはchrootで実行されます。
修正する
/etc/default/opendkim
、変えるソケットpostfix chroot ロケーションオプションSOCKET="ローカル:/var/spool/postfix/var/run/opendkim/opendkim.sock"
ディレクトリを作成し
/var/spool/postfix/var/run/opendkim
て権限を変更する必要があります。sudo mkdir -p /var/spool/postfix/var/run/opendkim sudo chown opendkim:opendkim /var/spool/postfix/var/run/opendkim
オープンキムの再起動
sudoサービスopendkimの再起動
答え2
Ubuntu 16.04 LTSでこの警告を解決するのに役立つクイックサマリー:Postfixバージョン3.1.0-3ubuntu0.2 Opendkimバージョン2.10.3-3build1
(PostfixとOpendkimが既にインストールされ、互いに統合されていると仮定して、「Milterローカルサービスに接続しています。/var/spool/postfix/opendkim/opendkim.sock:そのファイルまたはディレクトリがありません」という警告のみが表示されます。)
opendkimグループにユーザーサフィックスを追加する(すでに完了した場合はスキップ)
sudo adduser postfix opendkim
- ディレクトリの作成と所有者の設定(すでに完了した場合はスキップ)
sudo mkdir -p /var/spool/postfix/var/run/opendkim
sudo chown opendkim:opendkim /var/spool/postfix/var/run/opendkim
- 権限を確認してください:
ls -l /var/spool/postfix/var/run/opendkim
srwxrwxr-x 1 opendkim opendkim 0 Nov 12 14:34 opendkim.sock
- opendkim設定ファイル(/etc/opendkim.conf)を編集し、次の行を追加します。
ローカルソケット:/var/spool/postfix/var/run/opendkim/opendkim.sock
/etc/defaults/opendkim、追加
SOCKET="ローカル:/var/spool/postfix/var/run/opendkim/opendkim.sock"
- postfix設定の編集:/etc/postfix/main.cf
# Milter configuration # Postfix ≥ 2.6 milter_protocol = 6, Postfix ≤ 2.5 milter_protocol = 2 milter_protocol = 6 milter_default_action = accept smtpd_milters = unix:var/run/opendkim/opendkim.sock non_smtpd_milters = unix:var/run/opendkim/opendkim.sock
- サービスの再起動(または再起動)
systemctl 再起動 opendkim
systemctl postfixの再起動
それはすべてです。なぜ書くのか分からない
smtpd_milters = unix:var/run/opendkim/opendkim.sock
変える
smtpd_milters =ローカル:/var/spool/postfix/var/run/opendkim/opendkim.sock
。ご存知の方はご説明をお願いします。
答え3
Debian Stretchでも同じ問題がありましたが、opendkimの破損したシステムサービスファイルが原因であることがわかりました。回避策については、次の回答をご覧ください。https://serverfault.com/a/847442/84962
この修正は次のように要約されます。
/lib/opendkim/opendkim.service.generate
systemctl daemon-reload
service opendkim restart
答え4
代替は無効にすることですがchroot
、これはセキュリティに影響します。
vi /etc/postfix/master.cf
# service type private unpriv chroot wakeup maxproc command + args
cleanup unix n - n - 0 cleanup
postfix/cleanup
このサービスに対してchrootを無効にするように警告が表示されます。