아니요, 서버에서 DNS 캐시를 설정할 필요는 없습니다. 서버 는 근처에있는 캐싱 DNS 확인자를 사용해야하지만 대부분의 호스팅 회사는 이미 전체 데이터 센터에 대해 자체 확인자를 실행하고 기본적으로 사용하도록 서버를 구성합니다.
기본적으로 Postfix와 Dovecot는 모두 로컬 계정을 사용합니다. 라는 Linux 계정이있는 경우 diti
Dovecot에 로그인하여 Dovecot에 대한 SMTP 로그인의 유효성 을 검사 하도록 Postfix를 설정할 수 있습니다 .
같은 계정에 모든 메일 이동하기에 좋은 경우 (에서와 같이, 당신은 일반 별칭을 설정할 수 있습니다 /etc/aliases
메일을 리디렉션) kra@
또는 postmaster@
받는 diti
계정.
모든 subjectAltName은 필요하지 않습니다. 당신이 필요로하는 유일한 것은 당신이 실제로 사용할 도메인 이름 , 예를 들어 mail.diti.me
또는 glaux.diti.me
입니다. 도메인 자체를 포함해야하는지 잘 모르겠습니다 (예 :) diti.me
.
다음은 도메인에이 서버를 가리 키도록 구성된 MX 레코드가 이미 있다고 가정합니다. 나는 몇 달 후에 "지옥이 무엇인지"궁금해하기 때문에 일반적으로 구성을 합리적으로 명확하게 유지하려고 노력한다.
1. 먼저 postfix
및 dovecot-imapd
패키지를 설치하십시오 . Postfix 구성에 대한 프롬프트가 표시되면 "인터넷 사이트"옵션을 선택하고 diti.me
메일 이름으로 입력하십시오 . 이 시점에서 이미로 메일을주고받을 수 있으며 diti@diti.me
IMAP에 연결할 수도 있습니다.
그러나 아직 SSL을 가지고 있지 않거나 외부에서 SMTP를 통해 메일을 보내거나 메일을 저장할 수있는 곳이 없습니다 (기본값은의 mbox 파일입니다 /var/mail
.이 파일 은 신뢰할 수없고 특히 IMAP에서 성능이 저하됩니다).
2. SSL 인증서가 이미 있으면에 넣고 /etc/ssl/private/diti.me.pem
개인 키를에 넣으십시오 /etc/ssl/private/diti.me.key
. 정확한 위치는 실제로 중요하지 않지만 /etc/ssl/private
데비안이 보관하는 곳입니다.
ssl-cert
Postfix와 Dovecot가 파일에 액세스 할 수 있도록 두 파일이 모두 그룹에서 소유하고 읽을 수 있는지 확인하십시오 . 또한을 사용하여 두 데몬 계정을 해당 그룹에 추가하십시오 gpasswd -a
.
3. 데비안의 자동 생성 Postfix main.cf
도 약간 혼란 스러우므로 정리 된 최소 버전 만 게시하겠습니다.
# 서버 정보
mydomain = diti.me
myorigin = $ mydomain
# 다양한 다른 매개 변수가이 두 변수를 기본값으로 사용합니다.
# SMTP 서비스
smtpd_tls_security_level = 5 월
smtpd_tls_cert_file = /etc/ssl/private/diti.me-mail.pem
smtpd_tls_key_file = /etc/ssl/private/diti.me-mail.key
# 이렇게하면 들어오는 모든 SMTP 연결에서 STARTTLS를 사용할 수 있습니다.
#`postfix`는`ssl-cert` 그룹에 추가해야합니다.
#은 / etc / ssl / private의 파일에 액세스합니다.
# 정책
mynetworks = [:: 1] / 128, 127.0.0.0/8, [::ffff:127.0.0.0]/104
# "신뢰할 수있는"것으로 간주되어 사용할 수있는 IP 주소가 나열됩니다.
#이 서버는 외부 (즉, 다른 도메인)에게 메일을 보냅니다. 으로
# 기본적으로 "localhost"만 허용됩니다. 다른 사람 만 메일
$ mydestination의 도메인 # 개가 허용됩니다.
mydestination = $ mydomain, localhost
# IP 주소에서 메일을받을 도메인 목록.
# 배달
alias_maps = 해시 : / etc / aliases
# 시스템 전체 별명을 유지합니다. 명시 적으로 설정하는 것이 좋습니다.
# 기본값은 때때로 의미가없는 NIS를 포함합니다.
recipient_delimiter = +
# 첫 번째 '+'에서 주소의 로컬 부분을 분할하도록 postfix에 지시합니다.
# 소위 "플러스 주소": diti + foo @로 보낸 메일이 배달됩니다
# diti @ 사서함에.
Dovecot의 경우 데비안은 기본 예제 구성 만 사용하며 각 옵션을 설명하면 충분합니다.
구성을 변경할 때마다 postfix reload
및 / 또는를 사용 하여 데몬을 다시로드하십시오 doveadm reload
.
4. 기본적으로 Postfix /var/mail/$USER
는 mbox 형식으로 메일을 전달 합니다. mbox 형식은 간단합니다 (텍스트 편집기로 쉽게 볼 수 있음). 메시지를 읽거나 "읽음"또는 "읽지 않음"으로 표시하십시오.
Maildir을 사용하도록 두 데몬을 변경하십시오. (다른 형식도 있지만 MTA, MDA 또는 IMAP 서버 또는 기타 모든 것에 고유 한 경향이 있습니다. Maildir이 널리 지원됩니다.)
에서 /etc/postfix/main.cf
의 "배달"섹션에 다음을 추가합니다 :
home_mailbox = 메일 /
다음에서 동일한 경로를 사용하도록 Dovecot을 구성하십시오 /etc/dovecot/conf.d/10-mail.conf
.
mail_location = maildir : ~ / Mail
5. 어느 시점에서 Dovecot에게 SSL도 사용하도록 지시해야합니다. 관련 설정은에 /etc/dovecot/conf.d/10-ssl.conf
있습니다. 사실, Dovecot과의 데비안 패키지는 이미 있지만 대부분 쓸모가 자체 서명 인증서, SSL을 사용합니다. 자신의 인증서를 사용하도록 구성하십시오.
SSL = 예
ssl_cert = </etc/ssl/private/diti.me-mail.pem
ssl_key = </etc/ssl/private/diti.me-mail.key
6. 이제 메일을 외부로 보내고받을 수 있습니다. 구성 후위 당신이 보낼 수 있도록에 그것은 여전히 필요의 에서 SMTP를 통해 메일 클라이언트와 연결하여 외부.
먼저 Dofix를 사용하여 로그인을 확인하도록 Postfix에 지시하십시오. 다음 지시 사항은 대부분 Dovecot의 위키 에서 발췌 한 것 입니다 .
Dovecot /etc/dovecot/conf.d/10-master.conf
은 Postfix가 액세스 할 수있는 소켓에서 청취해야합니다. 기본 구성에는 이미 주석 처리 된 예가 있습니다.
서비스 인증 {
...
unix_listener / var / spool / postfix / private / auth {
모드 = 0660
사용자 = 접미사
그룹 = 접미사
}
...
}
그리고 Postfix는 /etc/postfix/main.cf
다시 사용해야 합니다.
# 인증
smtpd_sasl_type = 비둘기장
smtpd_sasl_path = 개인 / 인증
# 다른 가능한 유형은 "cyrus"입니다. Cyrus SASL 'saslauthd'
# 데몬. SASL 서버로 잘 작동하므로 Dovecot을 선택했습니다.
# 두 데몬의 인증을 처리하는 것이 더 간단합니다.
7. 위의 내용은 smtpd_sasl_auth_enable
어디에도 설정되지 않았습니다 . 현재 규칙은 SMTP 인증을 전체적으로 활성화 하지 않고 tcp / 25를 "서버 간"SMTP 포트로 유지하는 것입니다. 한편, 사용자의 새 메시지는 "메일 전송"포트 인 tcp / 587의 SMTP를 통해 인증이 필요합니다. 일부 ISP는 스팸으로 인해 tcp / 25를 차단하기도하지만, tcp / 587은 일반적으로 보안 수준이 높기 때문에 열린 상태로 유지하십시오.
/etc/postfix/master.cf
SASL 인증을 사용하여에서 "제출"포트를 활성화하십시오 . 기본값 master.cf
에는 이미 주석 처리가 필요한 필요한 행이 있지만 일부 는 여전히 생략해야합니다.
제출 inet n----smtpd
-o syslog_name = 접미사 / 제출
-o smtpd_tls_security_level = encrypt
# "제출"포트는 선택 사항이 아닌 TLS가 필요합니다.
-o smtpd_sasl_auth_enable = yes
# ... 사용자가 로그인 할 수 있도록합니다.
# -o smtpd_reject_unlisted_recipient = 아니오
# -o smtpd_client_restrictions = $ mua_client_restrictions
# -o smtpd_helo_restrictions = $ mua_helo_restrictions
# -o smtpd_sender_restrictions = $ mua_sender_restrictions
#이 네 가지 옵션은 주석 처리되어있을 수 있습니다. 활성화 된 경우
# 'main.cf'에서 사용자 정의 제한 규칙을 설정해야하지만
# 기본 설정은 괜찮습니다.
-o smtpd_recipient_restrictions = permit_sasl_authenticated, 거부
# 기본 recipient_restrictions는 IP 주소를 확인하고
# $ mydestination. "제출"포트의 경우 모든 것을 길게 허용
# 사용자는 로그인했지만 익명 메일은 모두 거부합니다.
-o milter_macro_daemon_name = ORIGINATING
# 나중에 DKIM 프록시 등을 설정하기로 결정하면
# 사용자가 제출 한 메일과 수신 된 메일을 구별합니다.
# 기본 구성의 일부이므로 여기에도 포함됩니다.
이전 스타일의 "암시 적 SSL"포트 (tcp / 465)가 필요한 메일 클라이언트가있는 경우 smtps
줄의 주석 처리를 제거 할 수 있습니다. 필요한 master.cf
경우 submission
포트 설정과 비슷한 설정을 유지하십시오 .
8. 마지막으로을 편집하여 계정의 별칭을 설정하십시오 /etc/aliases
. postmaster
별명은 기본적으로 필요합니다; 메일 서버에 문제가있는 경우 연락 담당자입니다. 포인팅 root
및 기타 유사한 별칭도 좋습니다.
기본 형식은 aliases (5)로 문서화됩니다.
postmaster: root
admin: root
root: diti
kra: diti
사용 postalias
또는 newaliases
해시 데이터베이스를 업데이트하려면 /etc/aliases.db
이 파일을 편집 할 때마다.
이제 diti
Postfix와 Dovecot에 관한 한 하나의 계정 이 있지만 보낸 메일 kra@...
도 전달됩니다. 일부 메일 클라이언트 (예 : Thunderbird)는 단일 메일 서버에 대해 여러 "ID"또는 "개인"을 지원하므로 다른 "보낸 사람 :"주소 중에서 선택할 수 있습니다.
그게 다야. 나중에 procmail, 가상 도메인, SPF 및 / 또는 DKIM에 대한 지침과 함께 반환 될 수 있습니다.