Estou tentando configurar o opendkim no trecho Debian, mas falho ao alterar o soquete. Quero mudar o soquete para /var/spool/postfix/opendkim/opendkim.sock
que eu possa usá-lo com o postfix.
Eu adicionei Socket local:/var/spool/postfix/opendkim/opendkim.sock
a/etc/opendkim.conf
e também tentei adicionar SOCKET="local:/var/spool/postfix/opendkim/opendkim.sock
a /etc/default/opendkim
(que eu tive que criar).
Não importa o que mude ou com que frequência reinicie o opendkim, ele sempre será usado /var/run/opendkim/opendkim.sock
como soquete.
➜ ~ 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)
O que estou fazendo de errado? (Acho que foi meu erro, pois não consigo encontrar mais ninguém com o mesmo problema)
ATUALIZAR:
Mudar /etc/default/opendkim
para SOCKET="inet:8891@localhost"
e alterar a configuração do postfix para usar esse soquete resulta eminet:localhost:8891: Connection refused
UPDATE2:
Agora substituí pelo arquivo empacotado no pacote 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=
O inclui as seguintes linhas onde o soquete é decidido:
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
até pensei que ela existe, como é chrooted para/var/spool/postfix/
/var/spool/postfix/var/run...
se éinet
vez delocal
. Talvez, se você não está depurando para baixo serviço, tentar implementar: digitalocean.com/community/tutorials/...Respostas:
Finalmente encontrei a solução.
O
/etc/init.d/opendkim
parece não fazer nada. Mas, em vez disso, o arquivo de serviço/lib/systemd/system/opendkim.service
é usado com o soquete errado codificado.Mas o pacote debian também parece incluir um bash que gera o serviço systemd correto.
Então, depois de correr
e reiniciando o opendkim, o arquivo de soquete aparece no local esperado, o que pode ser verificado chamando:
Atualização: Parece que há um relatório de bug do debian sobre esse problema: # 861169
fonte
Eu não tenho reputação suficiente para comentar e queria reconhecer que, após horas procurando uma solução para a mensagem de erro 'conexão recusada' do OpenDKim-Postfix, a
/lib/systemd/system/opendkim.service
edição fornecida pelo LocutusBE funcionou com o Ubuntu 17.04:Antes de tentar a edição, adicionei o usuário do postfix ao grupo opendkim e tentei de
/lib/opendkim/opendkim.service.generate
acordo com a solução de Lukas Winkler . O erro de conexão recusada persistiu até o número da porta ser adicionado/lib/systemd/system/opendkim.service
.Para atualizar
/lib/systemd/system/opendkim.service
, usei a porta 8891 para Ubuntu e comentei a linha ExecStart original para fins de teste e adicionei uma nova linha com a porta #:O número da porta correspondente também foi especificado em
/etc/opendkim.conf
:E
/etc/postfix/main.cf
:Após reiniciar o daemon systemctl, opendkim e postfix, o correio de saída foi assinado sem problemas e o log de mensagens mostrou "Campo de assinatura DKIM adicionado".
Não havia nenhum problema de conexão ao configurar o OpenDkim com o Centos7 recentemente, então, aparentemente, neste caso, estava relacionado ao Ubuntu. Agradecemos a Lukas Winkler por postar a pergunta e àqueles que compartilharam suas soluções.
fonte
Para usar o
inet
soquete, você precisa especificar:SOCKET="inet:12301@localhost"
para/etc/default/opendkim
Além disso, você precisa alterar as configurações no Postfix, consequentemente:
em
/etc/postfix/main.cf
adição:se você não pode definir
local
o caminho desejado, sugiro que você:agarrar um log de
mail
,syslog
ouopendkim
em/var/log
e verifiqueverifique o
/etc/init.d/opendkim
script e verifique se o arquivo sock está com um valor fixotentar ir com padrão
local:/var/run/opendkim/opendkim.sock
- e especificarsmtpd_milters = local:/var/run/opendkim/opendkim.sock
enon_smtpd_milters = local:/var/run/opendkim/opendkim.sock
em/etc/postfix/main.cf
fonte
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
conjunto de arquivos conf opendkim?Isso funcionou para mim:
editar
/lib/systemd/system/opendkim.service
mudança:
para:
e
fonte
opendkim.service.generate
.O OpenDKIM funcionou até eu atualizar meu servidor. O OpenDKIM não foi iniciado e não havia soquete em execução para o Milter iniciar. Em
/var/log/syslog
pude ver que opendkim falhou tentando criar uma tomada de lugar diferente do que antes do upgrade. Tentei editar as configurações de soquete em/etc/opendkim.conf
,/etc/default/opendkim
e/lib/systemd/system/opendkim.service
mas não ajudou. Acontece que a informação estava na minha frente o tempo todo:Percebi que as configurações foram sobrescritas pelo arquivo "override.conf" e editadas para ficar alinhadas com as minhas
/etc/postfix/main.cf
(roda como chroot):Editar
/etc/systemd/system/opendkim.service.d/override.conf
E, finalmente, reiniciando o daemon e opendkim:
fonte
Acabei de renomear /etc/systemd/system/opendkim.service.d/override.conf para /etc/systemd/system/opendkim.service.d/override.conf.old para que não substitua os parâmetros ExecStart.
Tudo está funcionando bem escolhendo a configuração do /etc/opendkim.conf
fonte
Meu serviço opendkim não foi ativado na porta 8100 após a instalação e as soluções anteriores não ajudaram. Então eu tentei
com dito
então eu olhei para o arquivo de serviço
e encontrou caminhos estranhos
e comando
disse
(veja a segunda linha da cota anterior), então fui para
e excluído "-" 3 vezes
Isso me ajudou :-)
fonte