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
- opendkim이 실행 중인지 확인하세요. (제 생각에는 이것이 여러분이 보시는 소켓 파일과 같은 것 같습니다.)
opendkim을 구성하셨나요? 구성 파일은
/etc/opendkim.conf
.사이트/도메인 및 일치하도록 파일을 업데이트해야 합니다.dkimkey길.
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
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
오픈킴 다시 시작
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를 비활성화할 수 있도록 경고가 표시됩니다 .