Saya mencoba mengatur opendkim pada regangan Debian tetapi saya gagal mengganti soketnya. Saya ingin mengganti soket /var/spool/postfix/opendkim/opendkim.sock
agar saya dapat menggunakannya dengan postfix.
Saya telah menambahkan Socket local:/var/spool/postfix/opendkim/opendkim.sock
untuk/etc/opendkim.conf
dan juga mencoba menambahkan SOCKET="local:/var/spool/postfix/opendkim/opendkim.sock
ke /etc/default/opendkim
(yang saya harus membuat).
Tidak peduli apa yang saya ubah atau seberapa sering saya me-restart opendkim, selalu digunakan /var/run/opendkim/opendkim.sock
sebagai soketnya.
➜ ~ netstat -a | fgrep LISTEN | grep open
unix 2 [ ACC ] STREAM LISTENING 5534128 /var/run/opendkim/opendkim.sock
➜ ~ sudo systemctl status opendkim.service
● opendkim.service - OpenDKIM DomainKeys Identified Mail (DKIM) Milter
Loaded: loaded (/lib/systemd/system/opendkim.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2017-04-30 12:41:54 CEST; 5min ago
Docs: man:opendkim(8)
man:opendkim.conf(5)
man:opendkim-genkey(8)
man:opendkim-genzone(8)
man:opendkim-testadsp(8)
man:opendkim-testkey
http://www.opendkim.org/docs.html
Process: 25246 ExecStart=/usr/sbin/opendkim -P /var/run/opendkim/opendkim.pid -p local:/var/run/opendkim/opendkim.sock (code=exited, status=0/SUCCESS)
Main PID: 25248 (opendkim)
Tasks: 7 (limit: 4915)
CGroup: /system.slice/opendkim.service
├─25248 /usr/sbin/opendkim -P /var/run/opendkim/opendkim.pid -p local:/var/run/opendkim/opendkim.sock
└─25249 /usr/sbin/opendkim -P /var/run/opendkim/opendkim.pid -p local:/var/run/opendkim/opendkim.sock
Apr 30 12:41:54 vServer systemd[1]: Starting OpenDKIM DomainKeys Identified Mail (DKIM) Milter...
Apr 30 12:41:54 vServer systemd[1]: Started OpenDKIM DomainKeys Identified Mail (DKIM) Milter.
Apr 30 12:41:54 vServer opendkim[25249]: OpenDKIM Filter v2.11.0 starting (args: -P /var/run/opendkim/opendkim.pid -p local:/var/run/opendkim/opendkim.sock)
Apa yang saya lakukan salah? (Saya kira itu kesalahan saya karena saya tidak dapat menemukan orang lain dengan masalah yang sama)
MEMPERBARUI:
Mengubah /etc/default/opendkim
ke SOCKET="inet:8891@localhost"
dan mengubah konfigurasi postfix untuk menggunakan hasil socket ini diinet:localhost:8891: Connection refused
UPDATE2:
Saya sekarang telah mengganti dengan file yang dibundel dalam paket debian stretch:
# Command-line options specified here will override the contents of
# /etc/opendkim.conf. See opendkim(8) for a complete list of options.
#DAEMON_OPTS=""
# Change to /var/spool/postfix/var/run/opendkim to use a Unix socket with
# postfix in a chroot:
RUNDIR=/var/spool/postfix/var/run/opendkim
#RUNDIR=/var/run/opendkim
#
# Uncomment to specify an alternate socket
# Note that setting this will override any Socket value in opendkim.conf
# default:
SOCKET=local:$RUNDIR/opendkim.sock
# listen on all interfaces on port 54321:
#SOCKET=inet:54321
# listen on loopback on port 12345:
#SOCKET=inet:12345@localhost
# listen on 192.0.2.1 on port 12345:
#SOCKET=inet:[email protected]
USER=opendkim
GROUP=opendkim
PIDFILE=$RUNDIR/$NAME.pid
EXTRAAFTER=
Termasuk baris berikut di mana soket diputuskan:
if [ -f /etc/opendkim.conf ]; then
CONFIG_SOCKET=`awk '$1 == "Socket" { print $2 }' /etc/opendkim.conf`
fi
# This can be set via Socket option in config file, so it's not required
if [ -n "$SOCKET" -a -z "$CONFIG_SOCKET" ]; then
DAEMON_OPTS="-p $SOCKET $DAEMON_OPTS"
fi
connect to Milter service local:/var/run/opendkim/opendkim.sock: No such file or directory
bahkan berpikir itu ada karena chroot ke/var/spool/postfix/
/var/spool/postfix/var/run...
ituinet
sebagai gantinyalocal
. Mungkin, jika Anda tidak menJawaban:
Saya akhirnya menemukan solusinya.
The
/etc/init.d/opendkim
tampaknya tidak melakukan apa-apa. Tetapi sebaliknya servicefile/lib/systemd/system/opendkim.service
digunakan yang memiliki hardcod yang salah.Tetapi paket debian juga tampaknya menyertakan bash yang menghasilkan layanan systemd yang benar.
Jadi setelah berlari
dan mulai ulang opendkim file socket muncul di tempat yang diharapkan, yang dapat diverifikasi dengan menelepon:
Pembaruan: Tampaknya ada debian bugreport tentang masalah ini: # 861169
sumber
Saya tidak memiliki reputasi yang cukup untuk berkomentar dan ingin mengakui bahwa setelah berjam-jam mencari solusi untuk pesan kesalahan 'koneksi menolak' OpenDKim-Postfix,
/lib/systemd/system/opendkim.service
suntingan yang disediakan oleh LocutusBE bekerja dengan Ubuntu 17.04:Sebelum mencoba edit saya menambahkan pengguna postfix ke grup opendkim dan mencoba
/lib/opendkim/opendkim.service.generate
per solusi Lukas Winkler . Sambungan yang ditolak kesalahan tetap ada hingga nomor port ditambahkan/lib/systemd/system/opendkim.service
.Untuk memperbarui
/lib/systemd/system/opendkim.service
, saya menggunakan port 8891 untuk Ubuntu dan berkomentar keluar garis ExecStart asli untuk tujuan pengujian, kemudian menambahkan baris baru dengan port #:Nomor port yang cocok juga ditentukan dalam
/etc/opendkim.conf
:Dan
/etc/postfix/main.cf
:Setelah memulai ulang daemon systemctl, opendkim, dan postfix, surat keluar ditandatangani tanpa masalah dan log surat menunjukkan "bidang Tanda Tangan DKIM ditambahkan".
Tidak ada masalah koneksi saat mengkonfigurasi OpenDkim dengan Centos7 baru-baru ini, jadi tampaknya dalam hal ini terkait dengan Ubuntu. Terima kasih kepada Lukas Winkler karena memposting pertanyaan dan mereka yang membagikan solusi mereka.
sumber
Untuk menggunakan
inet
soket, Anda harus menentukan:SOCKET="inet:12301@localhost"
untuk/etc/default/opendkim
akibatnya, Anda perlu mengubah pengaturan di Postfix secara konsekuen:
di
/etc/postfix/main.cf
tambahkan:jika Anda tidak dapat mengatur
local
jalur yang diinginkan, saya sarankan Anda untuk:ambil log dari
mail
,syslog
atauopendkim
masuk/var/log
dan periksaperiksa
/etc/init.d/opendkim
skrip dan periksa apakah file sock sulit diatur ke suatu nilaimencoba untuk pergi dengan default
local:/var/run/opendkim/opendkim.sock
- dan tentukansmtpd_milters = local:/var/run/opendkim/opendkim.sock
dannon_smtpd_milters = local:/var/run/opendkim/opendkim.sock
masuk/etc/postfix/main.cf
sumber
warning: connect to Milter service inet:localhost:12301: Connection refused
OpenDKIM Filter v2.11.0 starting (args: -P /var/run/opendkim/opendkim.pid -p local:/var/run/opendkim/opendkim.sock)
SOCKET="inet:12301@localhost
mengatur ke file conf opendkim?Ini bekerja untuk saya:
sunting
/lib/systemd/system/opendkim.service
perubahan:
untuk:
dan
sumber
opendkim.service.generate
.OpenDKIM berfungsi sampai saya meningkatkan server saya. OpenDKIM tidak akan memulai dan tidak ada soket yang bisa digunakan oleh Milter. Dalam
/var/log/syslog
aku bisa melihat bahwa opendkim gagal mencoba membuat socket tempat yang berbeda daripada sebelum upgrade. Saya mencoba untuk mengedit pengaturan soket di/etc/opendkim.conf
,/etc/default/opendkim
dan/lib/systemd/system/opendkim.service
tapi itu tidak membantu. Ternyata info itu ada di depan saya sepanjang waktu:Saya perhatikan pengaturan ditimpa oleh file "override.conf" dan diedit sehingga diselaraskan dengan
/etc/postfix/main.cf
(berjalan sebagai chroot) saya:Edit
/etc/systemd/system/opendkim.service.d/override.conf
Dan akhirnya me-restart daemon dan opendkim:
sumber
Saya baru saja mengganti nama /etc/systemd/system/opendkim.service.d/override.conf ke /etc/systemd/system/opendkim.service.d/override.conf.old sehingga tidak akan mengabaikan parameter ExecStart.
Semuanya berfungsi dengan baik memilih config dari /etc/opendkim.conf
sumber
Layanan opendkim saya tidak bangun di port 8100 setelah instalasi dan solusi sebelumnya tidak membantu. Jadi saya mencoba
dengan kata
jadi saya melihat file layanan
dan menemukan jalan aneh
dan perintah
kata
(lihat baris 2 pada kuota sebelumnya) jadi saya pergi ke
dan dihapus "-" 3 kali Lalu
Itu membantu saya :-)
sumber