Nie, konfiguracja pamięci podręcznej DNS na serwerze nie jest wymagana. Serwer powinien korzystać z buforującego mechanizmu rozpoznawania nazw DNS, który jest gdzieś w pobliżu, ale większość firm hostingowych już uruchomiła własne programy tłumaczące dla całego centrum danych i skonfigurowała serwery, aby domyślnie z nich korzystały.
Domyślnie zarówno Postfix, jak i Dovecot używają do wszystkich kont lokalnych. Jeśli masz konto Linux o nazwie diti
, możesz zalogować się do niego za pomocą Dovecot i możesz skonfigurować Postfix do sprawdzania poprawności logowania SMTP do Dovecot .
Jeśli nie chcesz, aby cała poczta trafiała na to samo konto, możesz skonfigurować zwykłe aliasy (jak w, /etc/aliases
), aby przekierowywać pocztę na konto kra@
lub postmaster@
do niego diti
.
Wszystkie te nazwy podmiotowe nie są konieczne. Jedyne, czego potrzebujesz, to nazwy domen, których faktycznie będziesz używać , np . mail.diti.me
Lub glaux.diti.me
. Nie jestem pewien, czy musisz dołączyć samą domenę (tj diti.me
.).
Poniżej założono, że domena ma już rekordy MX skonfigurowane do wskazywania tego serwera. Zasadniczo staram się utrzymywać moją konfigurację dość wyraźnie, ponieważ zawsze kończę się zastanawiając „po co to, do diabła”, kilka miesięcy później.
1. Najpierw zainstaluj pakiety postfix
i dovecot-imapd
. Po wyświetleniu monitu o konfigurację Postfix wybierz opcję „Witryna internetowa” i wprowadź diti.me
nazwę poczty. W tym momencie możesz już wysyłać i odbierać pocztę jako diti@diti.me
, a prawdopodobnie nawet łączyć się z IMAP.
Jednak nie ma jeszcze protokołu SSL, ani nie pozwala na wysyłanie poczty przez SMTP z zewnątrz, ani rozsądnego miejsca do przechowywania poczty (domyślnie jest to plik mbox /var/mail
, który jest niewiarygodny i daje złą wydajność, szczególnie w przypadku IMAP).
2. Jeśli masz już certyfikat SSL, włóż go /etc/ssl/private/diti.me.pem
i wprowadź klucz prywatny /etc/ssl/private/diti.me.key
. Dokładna lokalizacja w rzeczywistości nie ma znaczenia, ale /etc/ssl/private
jest to miejsce, w którym Debian je przechowuje.
Upewnij się, że oba pliki są własnością grupy i można ją odczytać ssl-cert
, aby Postfix i Dovecot miały do nich dostęp. Dodaj również konta obu demonów do tej grupy, używając gpasswd -a
.
3. Automatycznie generowany Postfix Debiana również main.cf
jest trochę bałaganem, więc zamierzam po prostu opublikować oczyszczoną minimalną wersję:
# Informacje o serwerze
mojadomena = diti.me
myorigin = $ mojadomena
# Różne inne parametry używają tych dwóch zmiennych jako wartości domyślnych.
# Usługa SMTP
smtpd_tls_security_level = może
smtpd_tls_cert_file = /etc/ssl/private/diti.me-mail.pem
smtpd_tls_key_file = /etc/ssl/private/diti.me-mail.key
# Pozwala to na użycie STARTTLS na wszystkich przychodzących połączeniach SMTP.
# Zauważ, że `postfix` musi być dodany do grupy` ssl-cert`, aby było możliwe
#, aby uzyskać dostęp do plików w / etc / ssl / private.
# Zasady
mynetworks = [:: 1] / 128, 127.0.0.0/8, [::ffff:127.0.0.0]/104
# Zawiera listę adresów IP, które są uważane za „zaufane” i mogą z nich korzystać
# ten serwer, aby wysyłać pocztę na zewnątrz (tj. do innych domen). Przez
# default, dozwolony jest tylko „localhost”. Od wszystkich innych tylko poczta do
# domeny w $ mydestination zostanie zaakceptowane.
mydestination = $ mojadomena, localhost
# Lista domen, dla których przyjmuje się pocztę, z dowolnego adresu IP.
# Dostawa
alias_maps = hash: / etc / aliases
# Zachowuje to systemowe aliasy. Dobrze jest ustawić to wyraźnie, ponieważ
# wartość domyślna czasami obejmuje NIS, co nie ma sensu.
recipient_delimiter = +
# Mówi postfiksowi, aby podzielił lokalną część adresów na pierwszym „+”,
# tzw. „plus-adresowanie”: poczta wysłana do diti + foo @ zostanie dostarczona
# do skrzynki pocztowej diti @.
W przypadku Dovecot Debian korzysta tylko z domyślnych przykładowych konfiguracji i są one wystarczająco dobre, z każdą opcją opisaną.
Ilekroć zmienisz konfigurację, przeładuj demony za pomocą postfix reload
i / lub doveadm reload
.
4. Domyślnie Postfix dostarcza pocztę /var/mail/$USER
w formacie mbox , który jest dość prosty (można go łatwo wyświetlić za pomocą edytora tekstu), ale ma wiele problemów, szczególnie z IMAP, ponieważ cały plik musi zostać przepisany za każdym razem, gdy przenosisz wiadomość, a nawet oznacz jedną jako „przeczytaną” lub „nieprzeczytaną”.
Zmień oba demony, aby korzystały z Maildir. (Istnieją inne formaty, ale zazwyczaj są one specyficzne dla serwera MTA, MDA lub IMAP, lub cokolwiek innego; Maildir jest szeroko obsługiwany).
W /etc/postfix/main.cf
dodaj następujące polecenie do sekcji „Dostawa”:
home_mailbox = Mail /
Skonfiguruj Dovecot, aby używał tej samej ścieżki w /etc/dovecot/conf.d/10-mail.conf
:
mail_location = maildir: ~ / Mail
5. W pewnym momencie musisz powiedzieć Dovecot, aby również używał protokołu SSL. Odpowiednie ustawienia są w /etc/dovecot/conf.d/10-ssl.conf
. W rzeczywistości pakiet Debian dla Dovecot używa już protokołu SSL, chociaż z samopodpisanym certyfikatem, który jest w większości bezużyteczny. Skonfiguruj go, aby używał własnego certyfikatu:
ssl = tak
ssl_cert = </etc/ssl/private/diti.me-mail.pem
ssl_key = </etc/ssl/private/diti.me-mail.key
6. Teraz możesz wysyłać pocztę na zewnątrz i odbierać ją. Nadal konieczne jest skonfigurowanie Postfix, aby umożliwić wysyłanie z zewnątrz, łącząc się z klientem poczty za pośrednictwem SMTP.
Najpierw powiedz Postfixowi, aby używał Dovecot do weryfikacji logowania. Poniższe instrukcje pochodzą głównie z wiki Dovecot .
Dovecot /etc/dovecot/conf.d/10-master.conf
musi nasłuchiwać na gnieździe, do którego Postfix mógłby uzyskać dostęp; domyślna konfiguracja ma już skomentowany przykład:
autoryzacja usługi {
...
unix_listener / var / spool / postfix / private / auth {
tryb = 0660
użytkownik = postfiks
grupa = postfiks
}
...
}
I Postfix musi go użyć - /etc/postfix/main.cf
ponownie:
# Uwierzytelnianie
smtpd_sasl_type = dovecot
smtpd_sasl_path = private / auth
# Innym możliwym typem jest „cyrus”, dla „saslauthd” Cyrus SASL
# demon. Wybieram tutaj Dovecot, ponieważ działa dobrze jako serwer SASL i
# po prostu łatwiej jest pozwolić na obsługę uwierzytelniania dla obu demonów.
7. Zauważ, że powyższe smtpd_sasl_auth_enable
nigdzie nie ustalono . Obecna konwencja nie włącza globalnego uwierzytelniania SMTP, ale utrzymuje tcp / 25 wyłącznie jako port SMTP typu „serwer-serwer”. Tymczasem nowe wiadomości od użytkowników są akceptowane przez SMTP na tcp / 587, porcie „wysyłania poczty”, który wymaga uwierzytelnienia. Niektórzy dostawcy usług internetowych nawet blokują tcp / 25 z powodu spamu, ale tcp / 587 pozostają otwarte, ponieważ zazwyczaj są lepiej zabezpieczone.
Włącz port „Submission” /etc/postfix/master.cf
z uwierzytelnianiem SASL. Domyślne master.cf
ma już niezbędne wiersze, które po prostu muszą zostać skomentowane, chociaż niektóre z nich nadal powinny zostać pominięte.
submission inet n - - - - smtpd
-o syslog_name = postfix / submission
-o smtpd_tls_security_level = szyfruj
# Port „Przesyłanie” będzie wymagał TLS, zamiast uczynić go opcjonalnym
-o smtpd_sasl_auth_enable = tak
# ... a także pozwala użytkownikom się zalogować.
# -o smtpd_reject_unlisted_recipient = nie
# -o smtpd_client_restrictions = $ mua_client_restrictions
# -o smtpd_helo_restrictions = $ mua_helo_restrictions
# -o smtpd_sender_restrictions = $ mua_sender_restrictions
# Te cztery opcje można pozostawić bez komentarza; jeśli włączone, to zrobiliby
# oczekuję, że ustawisz niestandardowe reguły ograniczeń w 'main.cf', ale
# domyślne są w porządku.
-o smtpd_recipient_restrictions = zezwolenie_sasl_authenticated, odrzucenie
# Domyślne ograniczenia_odbiorcy sprawdzają adres IP i
# $ mydestination. W przypadku portu „Prześlij” zezwól na wszystko tak długo
# gdy użytkownik jest zalogowany, ale odrzuca wszystkie anonimowe wiadomości.
-o milter_macro_daemon_name = POCHODZENIE
# Jeśli później zdecydujesz się skonfigurować proxy DKIM lub podobny, pozwoli to
# to, aby odróżnić wiadomości wysłane od użytkowników od otrzymanych wiadomości przychodzących.
# Jest to część domyślnej konfiguracji, dlatego też tutaj została uwzględniona.
Jeśli masz klienta pocztowego, który wymaga starego typu „niejawnego portu SSL” (tcp / 465), możesz cofnąć komentarz do smtps
linii master.cf
- jeśli tak, zachowaj ustawienia podobne do tych w submission
porcie.
8. Na koniec skonfiguruj aliasy dla swojego konta, edytując /etc/aliases
. postmaster
Alias jest w zasadzie konieczne; jest to punkt kontaktowy, jeśli występują problemy z serwerem pocztowym. Wskazanie root
i inne podobne aliasy też są dobre.
Podstawowy format jest udokumentowany w aliasach (5):
postmaster: root
admin: root
root: diti
kra: diti
Użyj postalias
lub, newaliases
aby zaktualizować zaszyfrowaną bazę danych przy /etc/aliases.db
każdej edycji tego pliku.
Teraz nadal masz jedno konto o nazwie diti
Postfix i Dovecot, ale poczta wysyłana na kra@...
ten adres również jest tam przekazywana. Niektóre klienty poczty (np. Thunderbird) obsługują wiele „tożsamości” lub „osobowości” dla jednego serwera pocztowego, więc możesz wybierać między różnymi adresami „Od:”.
O to chodzi. Mogę później wrócić z instrukcjami dla procmaila, domen wirtualnych, SPF i / lub DKIM.