Estoy tratando de configurar opendkim en el estiramiento de Debian pero no puedo cambiar el socket. Quiero cambiar el zócalo para /var/spool/postfix/opendkim/opendkim.sock
poder usarlo con postfix.
He agregado Socket local:/var/spool/postfix/opendkim/opendkim.sock
a/etc/opendkim.conf
y también intenté agregar SOCKET="local:/var/spool/postfix/opendkim/opendkim.sock
a /etc/default/opendkim
(que tuve que crear).
No importa lo que cambie o con qué frecuencia reinicie opendkim, siempre se usa /var/run/opendkim/opendkim.sock
como socket.
➜ ~ 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)
¿Qué estoy haciendo mal? (Supongo que es mi error ya que no puedo encontrar a nadie más con el mismo problema)
ACTUALIZAR:
Cambiar /etc/default/opendkim
a SOCKET="inet:8891@localhost"
y el cambio de la configuración de sufijo para utilizar estos resultados de socket eninet:localhost:8891: Connection refused
ACTUALIZACIÓN2:
Ahora he reemplazado con el archivo incluido en el paquete de estiramiento de Debian:
# 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=
Incluye las siguientes líneas donde se decide el zócalo:
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
incluso que existe, ya que se ha reducido a/var/spool/postfix/
/var/spool/postfix/var/run...
si esinet
lugar delocal
. Tal vez, si no está depurando el servicio, intente implementar: digitalocean.com/community/tutorials/…Respuestas:
Finalmente encontré la solución.
El
/etc/init.d/opendkim
no parece hacer nada. Pero en su lugar/lib/systemd/system/opendkim.service
se utiliza el archivo de servicio que tenía el socket incorrecto codificado.Pero el paquete debian también parece incluir un bash que genera el servicio systemd correcto.
Entonces después de correr
y reiniciando opendkim, el archivo de socket aparece en el lugar esperado, que se puede verificar llamando a:
Actualización: Parece que hay un informe de errores de Debian sobre este problema: # 861169
fuente
No tengo suficiente reputación para comentar y quería reconocer que después de horas de buscar una solución al mensaje de error 'Conexión rechazada' de OpenDKim-Postfix, la
/lib/systemd/system/opendkim.service
edición proporcionada por LocutusBE funcionó con Ubuntu 17.04:Antes de intentar la edición, agregué el usuario de postfix al grupo opendkim e intenté
/lib/opendkim/opendkim.service.generate
según la solución de Lukas Winkler . El error de conexión rechazada persistió hasta que se agregó el número de puerto/lib/systemd/system/opendkim.service
.Para actualizar
/lib/systemd/system/opendkim.service
, utilicé el puerto 8891 para Ubuntu y comenté la línea original de ExecStart para fines de prueba, luego agregué una nueva línea con el puerto #:El número de puerto correspondiente se especificó adicionalmente en
/etc/opendkim.conf
:Y
/etc/postfix/main.cf
:Después de reiniciar el systemctl daemon, opendkim y postfix, el correo saliente se firmó sin problemas y el registro de correo mostró "campo de firma DKIM agregado".
No hubo problemas de conexión al configurar OpenDkim con Centos7 recientemente, por lo que aparentemente en este caso estaba relacionado con Ubuntu. Gracias a Lukas Winkler por publicar la pregunta y a quienes compartieron sus soluciones.
fuente
Para utilizar el
inet
socket, debe especificar:SOCKET="inet:12301@localhost"
a/etc/default/opendkim
Además, debe cambiar la configuración en Postfix en consecuencia:
en
/etc/postfix/main.cf
agregar:si no puede establecer la
local
ruta deseada, le sugiero que:tomar un registro de
mail
,syslog
oopendkim
en/var/log
y comprobarcompruebe la
/etc/init.d/opendkim
secuencia de comandos e inspeccione si el archivo de calcetines está establecido en un valorintente ir con el valor predeterminado
local:/var/run/opendkim/opendkim.sock
, y especifiquesmtpd_milters = local:/var/run/opendkim/opendkim.sock
ynon_smtpd_milters = local:/var/run/opendkim/opendkim.sock
en/etc/postfix/main.cf
fuente
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
set to opendkim conf file?Esto funcionó para mí:
editar
/lib/systemd/system/opendkim.service
cambio:
a:
y
fuente
opendkim.service.generate
.OpenDKIM funcionó hasta que actualicé mi servidor. OpenDKIM no se iniciará y no se ejecutará ningún socket para que el Milter se conecte. En
/var/log/syslog
pude ver que opendkim falló al intentar crear un socket en el lugar diferente que antes de la actualización. Traté de editar la configuración de socket en/etc/opendkim.conf
,/etc/default/opendkim
y/lib/systemd/system/opendkim.service
pero no sirvió de nada. Resulta que la información estuvo frente a mí todo el tiempo:Noté que la configuración fue sobrescrita por el archivo "override.conf" y editada para que estuviera alineada con mi
/etc/postfix/main.cf
(se ejecuta como chroot):Editar
/etc/systemd/system/opendkim.service.d/override.conf
Y finalmente reiniciando el demonio y opendkim:
fuente
Acabo de renombrar /etc/systemd/system/opendkim.service.d/override.conf a /etc/systemd/system/opendkim.service.d/override.conf.old para que no anule los parámetros de ExecStart.
Todo funciona bien seleccionando la configuración de /etc/opendkim.conf
fuente
Mi servicio opendkim no se activó en el puerto 8100 después de la instalación y las soluciones anteriores no ayudaron. Así que lo intenté
con dicho
así que miré el archivo de servicio
y encontré caminos extraños
y mando
dijo
(mira la segunda línea de la cuota anterior) así que fui a
y eliminó "-" 3 veces Luego
Eso me ayudó :-)
fuente