postfix/smtpd: 경고: Milter 서비스 unix:/var/run/opendkim/opendkim.sock에 연결 중: 해당 파일 또는 디렉터리가 없습니다.

postfix/smtpd: 경고: Milter 서비스 unix:/var/run/opendkim/opendkim.sock에 연결 중: 해당 파일 또는 디렉터리가 없습니다.

squeeze에서 wheezy로 업그레이드한 후 데비안에서 postfix 문제가 발생했습니다. Postfix는 dkim-filter를 사용하여 메시지에 서명하도록 구성됩니다. 업데이트 전에는 모든 것이 잘 작동했지만 이제는 서비스(tcp 또는 unix 소켓)에 대한 연결이 실패합니다. 데비안이 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

  1. opendkim이 실행 중인지 확인하세요. (제 생각에는 이것이 여러분이 보시는 소켓 파일과 같은 것 같습니다.)
  2. opendkim을 구성하셨나요? 구성 파일은 /etc/opendkim.conf.

    사이트/도메인 및 일치하도록 파일을 업데이트해야 합니다.dkimkey길.

  3. 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
  4. 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
    
  5. 오픈킴 다시 시작

    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를 비활성화할 수 있도록 경고가 표시됩니다 .

관련 정보