Ich versuche, opendkim auf Debian stretch einzurichten, aber ich kann den Socket nicht ändern. Ich möchte den Socket auf ändern, /var/spool/postfix/opendkim/opendkim.sock
damit ich ihn mit Postfix verwenden kann.
Ich habe hinzugefügt Socket local:/var/spool/postfix/opendkim/opendkim.sock
zu/etc/opendkim.conf
und auch versucht , das Hinzufügen SOCKET="local:/var/spool/postfix/opendkim/opendkim.sock
zu /etc/default/opendkim
(was ich schaffen musste).
Egal was ich ändere oder wie oft ich opendkim neu starte, es wird immer /var/run/opendkim/opendkim.sock
als Socket verwendet.
➜ ~ 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)
Was mache ich falsch? (Ich denke, es ist mein Fehler, da ich niemanden mit dem gleichen Problem finden kann.)
AKTUALISIEREN:
Ändern /etc/default/opendkim
auf SOCKET="inet:8891@localhost"
und das Ändern der Postfix - Config diese Buchse Ergebnisse zu verwenden , ininet:localhost:8891: Connection refused
UPDATE2:
Ich habe jetzt die Datei ersetzt, die im Debian-Stretch-Paket enthalten ist:
# 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=
Dazu gehören die folgenden Zeilen, in denen der Socket festgelegt wird:
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
sogar, dass es existiert, da es an/var/spool/postfix/
/var/spool/postfix/var/run...
wenn es istinet
stattlocal
. Wenn Sie den Service nicht debuggen, versuchen Sie möglicherweiseAntworten:
Ich habe endlich die Lösung gefunden.
Der
/etc/init.d/opendkim
scheint gar nichts zu tun. Stattdessen wird die Servicedatei/lib/systemd/system/opendkim.service
verwendet, die den falschen fest codierten Socket hatte.Das Debian-Paket scheint aber auch eine Bash zu enthalten, die den korrekten systemd-Dienst generiert.
Also nach dem Laufen
Nach dem Neustart von opendkim erscheint die Socket-Datei an der erwarteten Stelle. Dies kann überprüft werden, indem Folgendes aufgerufen wird:
Update: Es scheint, dass es einen Debian-Fehlerbericht zu diesem Problem gibt: # 861169
quelle
Ich habe nicht genug Reputation, um einen Kommentar abzugeben, und wollte bestätigen, dass nach stundenlanger Suche nach einer Lösung für die OpenDKim-Postfix-Fehlermeldung "Verbindung verweigert"
/lib/systemd/system/opendkim.service
die von LocutusBE bereitgestellte Bearbeitung mit Ubuntu 17.04 funktionierte:Bevor die Bearbeitung versucht , habe ich die Postfix - Benutzer auf die opendkim Gruppe und versuchte
/lib/opendkim/opendkim.service.generate
pro Lukas Winkler Lösung. Der Fehler, dass die Verbindung abgelehnt wurde, blieb bestehen, bis die Portnummer hinzugefügt wurde/lib/systemd/system/opendkim.service
.Zum Aktualisieren habe
/lib/systemd/system/opendkim.service
ich Port 8891 für Ubuntu verwendet, die ursprüngliche ExecStart-Zeile zu Testzwecken auskommentiert und dann eine neue Zeile mit Port # hinzugefügt:Die passende Portnummer wurde zusätzlich angegeben in
/etc/opendkim.conf
:Und
/etc/postfix/main.cf
:Nach dem Neustart des systemctl-Daemons, von opendkim und von postfix wurde ausgehende Mail ohne Probleme signiert und im Mail-Protokoll wurde "DKIM-Signaturfeld hinzugefügt" angezeigt.
Bei der kürzlich erfolgten Konfiguration von OpenDkim mit Centos7 gab es keine Verbindungsprobleme. Anscheinend handelte es sich in diesem Fall um ein Ubuntu-Problem. Vielen Dank an Lukas Winkler für das Posten der Frage und an diejenigen, die ihre Lösungen geteilt haben.
quelle
Um
inet
Socket zu verwenden , müssen Sie Folgendes angeben:SOCKET="inet:12301@localhost"
zu/etc/default/opendkim
Außerdem müssen Sie die Einstellungen in Postfix folgendermaßen ändern:
in
/etc/postfix/main.cf
add:Wenn Sie
local
den gewünschten Pfad nicht festlegen können, empfehle ich Ihnen Folgendes:greift ein Protokoll aus
mail
,syslog
oderopendkim
in/var/log
und prüftÜberprüfen Sie das
/etc/init.d/opendkim
Skript und prüfen Sie, ob die SOCK-Datei fest auf einen Wert eingestellt istversuche mit default zu gehen
local:/var/run/opendkim/opendkim.sock
- und spezifizieresmtpd_milters = local:/var/run/opendkim/opendkim.sock
undnon_smtpd_milters = local:/var/run/opendkim/opendkim.sock
in/etc/postfix/main.cf
quelle
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
auf opendkim conf gesetztem File?Das hat bei mir funktioniert:
bearbeiten
/lib/systemd/system/opendkim.service
Veränderung:
zu:
und
quelle
opendkim.service.generate
.OpenDKIM hat funktioniert, bis ich meinen Server aktualisiert habe. OpenDKIM konnte nicht gestartet werden und es gab keinen Socket, zu dem der Milter eine Verbindung herstellen konnte. In
/var/log/syslog
konnte ich sehen, dass opendkim nicht versuchte, einen Socket an einer anderen Stelle als vor dem Upgrade zu erstellen. Ich versuchte , die Socket - Einstellungen in bearbeiten/etc/opendkim.conf
,/etc/default/opendkim
und/lib/systemd/system/opendkim.service
aber es hat nicht geholfen. Es stellte sich heraus, dass die Information die ganze Zeit vor mir war:Mir ist aufgefallen, dass die Einstellungen durch die Datei "override.conf" überschrieben und so bearbeitet wurden, dass sie mit meiner
/etc/postfix/main.cf
übereinstimmen (wird als chroot ausgeführt):Bearbeiten
/etc/systemd/system/opendkim.service.d/override.conf
Und schließlich den Daemon und opendkim neu starten:
quelle
Ich habe gerade /etc/systemd/system/opendkim.service.d/override.conf in /etc/systemd/system/opendkim.service.d/override.conf.old umbenannt, damit die ExecStart-Parameter nicht überschrieben werden.
Alles funktioniert einwandfrei, wenn Sie config aus /etc/opendkim.conf auswählen
quelle
Mein opendkim-Dienst wurde nach der Installation nicht auf Port 8100 aktiviert, und vorherige Lösungen halfen nicht. Also habe ich es versucht
mit gesagt
Also habe ich mir die Servicedatei angesehen
und seltsame Wege gefunden
und befehl
sagte
(siehe 2. Zeile der vorherigen Quote) Also ging ich zu
und "-" 3 mal gelöscht
Das hat mir geholfen :-)
quelle