Нет, для настройки DNS-кэша на сервере не требуется. Сервер должен использовать кэширующий преобразователь DNS, который находится где-то поблизости, но большинство хостинговых компаний уже используют свои собственные преобразователи для всего центра обработки данных и настраивают серверы для их использования по умолчанию.
По умолчанию и Postfix, и Dovecot используют локальные учетные записи для всего. Если у вас есть учетная запись Linux с именем diti
, вы можете войти с ней в Dovecot и настроить Postfix для проверки SMTP-входов в Dovecot.
Если вы можете отправлять всю почту на одну и ту же учетную запись, вы можете настроить простые псевдонимы (например, /etc/aliases
), чтобы перенаправлять почту для kra@
или postmaster@
на учетную запись diti
.
Все эти subjectAltNames не нужны. Единственное, что вам нужно, это доменные имена, которые вы собираетесь использовать , например 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
их хранит Debian.
Убедитесь, что оба файла принадлежат группе ssl-cert
и доступны для чтения, чтобы Postfix и Dovecot могли получить к ним доступ. Также добавьте учетные записи обоих демонов в эту группу, используя gpasswd -a
.
3. Автоматически сгенерированный Debian Postfix main.cf
тоже немного запутан, поэтому я просто опубликую очищенную минимальную версию:
# Server information
mydomain = diti.me
myorigin = $mydomain
# Various other parameters use these two variables as default values.
# SMTP service
smtpd_tls_security_level = may
smtpd_tls_cert_file = /etc/ssl/private/diti.me-mail.pem
smtpd_tls_key_file = /etc/ssl/private/diti.me-mail.key
# This allows STARTTLS to be used on all incoming SMTP connections.
# Note that `postfix` must be added to the `ssl-cert` group to be able
# to access files in /etc/ssl/private.
# Policies
mynetworks = [::1]/128, 127.0.0.0/8, [::ffff:127.0.0.0]/104
# This lists the IP addresses that are considered "trusted" and can use
# this server to send mail to the outside (i.e. to other domains). By
# default, only "localhost" is allowed. From everyone else only mail to
# domains in $mydestination will be accepted.
mydestination = $mydomain, localhost
# List of domains to accept mail for, from any IP address.
# Delivery
alias_maps = hash:/etc/aliases
# This keeps system-wide aliases. It's good to set it explicitly because
# the default value sometimes includes NIS, which doesn't make sense.
recipient_delimiter = +
# Tells postfix to split the local part of addresses at the first '+',
# so-called "plus-addressing": mail sent to diti+foo@ will be delivered
# to the diti@ mailbox.
Для Dovecot, Debian просто использует примеры конфигурации по умолчанию, и они достаточно хороши, с каждой описанной опцией.
Всякий раз, когда вы меняете конфигурацию, перезагружайте демонов с postfix reload
и / или doveadm reload
.
4. По умолчанию Postfix доставляет почту в /var/mail/$USER
в формате mbox , который достаточно прост (вы можете легко просмотреть его в текстовом редакторе), но имеет много проблем, особенно с IMAP, так как весь файл должен быть переписывается всякий раз, когда вы перемещаете сообщение или даже помечаете его как "прочитанное" или "непрочитанное".
Измените оба демона, чтобы использовать Maildir. (Существуют и другие форматы, но они, как правило, специфичны для сервера MTA, MDA, IMAP или любого другого; Maildir широко поддерживается.)
В /etc/postfix/main.cf
добавьте следующее в раздел "Доставка":
home_mailbox = Mail/
Настройте Dovecot для использования того же пути, в /etc/dovecot/conf.d/10-mail.conf
:
mail_location = maildir:~/Mail
5. В какой-то момент вы должны указать Dovecot использовать SSL. Соответствующие настройки находятся в /etc/dovecot/conf.d/10-ssl.conf
. Фактически, пакет Debian для Dovecot уже использует SSL, хотя с самозаверяющим сертификатом, который в основном бесполезен. Настройте его для использования собственного сертификата:
ssl = yes
ssl_cert = </etc/ssl/private/diti.me-mail.pem
ssl_key = </etc/ssl/private/diti.me-mail.key
6. Теперь вы можете отправлять почту на улицу и получать ее. Это по - прежнему необходимо настроить Postfix , чтобы позволить вам отправить снаружи соединяясь с почтовым клиентом по протоколу SMTP.
Сначала скажите Postfix использовать Dovecot для проверки логинов. Следующие инструкции в основном взяты из вики Dovecot.
/etc/dovecot/conf.d/10-master.conf
Dovecot должен прослушивать сокет, к которому Postfix может получить доступ; конфигурация по умолчанию уже имеет закомментированный пример:
service auth {
...
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}
...
}
И Postfix должен использовать его - /etc/postfix/main.cf
снова:
# Authentication
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
# The other possible type is "cyrus", for the Cyrus SASL 'saslauthd'
# daemon. I choose Dovecot here since it works well as a SASL server, and
# it is just simpler to let it handle authentication for both daemons.
7. Обратите внимание, что выше нигде не установлен smtpd_sasl_auth_enable
. В настоящее время принято не включать глобальную аутентификацию SMTP, а хранить tcp/25 исключительно как SMTP-порт «сервер-сервер». Между тем новые сообщения от пользователей принимаются через SMTP по tcp/587, порту "отправки почты", который требует аутентификации. Некоторые провайдеры даже блокируют tcp/25 из-за спама, но оставляют tcp/587 открытым, так как обычно он лучше защищен.
Включите порт "Submission" в /etc/postfix/master.cf
с аутентификацией SASL. В стандартном master.cf
уже есть необходимые строки, которые просто необходимо оставить без комментариев, хотя некоторые из них все же следует пропустить.
submission inet n - - - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
# The "Submission" port will require TLS, instead of making it optional
-o smtpd_sasl_auth_enable=yes
# ...as well as allow users to log in.
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# These four options can be left commented out; if enabled, they would
# expect you to set custom restriction rules in 'main.cf', but the
# default ones are just fine.
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
# The default recipient_restrictions check the IP address and
# $mydestination. For the "Submission" port, allow everything as long
# as the user is logged in, but reject all anonymous mail.
-o milter_macro_daemon_name=ORIGINATING
# If you later decide to set up a DKIM proxy or such, this will allow
# it to distinguish user-submitted mails from received incoming ones.
# It's part of the default configuration, therefore included here too.
Если у вас есть почтовый клиент , который требует старого стиля порта "неявного SSL" (TCP /465), вы можете раскомментировать smtps
линию в master.cf
- если вы делаете, сохранить настройки , похожие на тот порта submission
8. Наконец, настройте псевдонимы для вашей учетной записи, отредактировав /etc/aliases
. Псевдоним postmaster
мастера в основном требуется; это точка контакта, если есть проблемы с вашим почтовым сервером. Указывать root
и другие подобные псевдонимы тоже хорошо.
Базовый формат задокументирован в псевдонимах (5):
postmaster: root
admin: root
root: diti
kra: diti
Используйте postalias
или newaliases
для обновления хешированной базы данных /etc/aliases.db
каждый раз, когда вы редактируете этот файл.
Теперь у вас все еще есть одна учетная запись с именем diti
что касается Postfix и Dovecot, но почта, отправляемая в kra@...
, также пересылается туда. Некоторые почтовые клиенты (например, Thunderbird) поддерживают несколько "идентификаторов" или "персон" для одного почтового сервера, поэтому вы можете выбирать между разными адресами «От:».
Вот и все. Я мог бы вернуться с инструкциями для procmail, виртуальных доменов, SPF и / или DKIM позже.