Найти в Дзене

Установка postfix на Ubuntu

Установим и настроим почтовый сервер postfix на ОС Ubuntu для нескольких доменов. Дополнительно настроим DKIM-шифрование. Почтовый сервер будет только отправлять письма. На приём работает другой сервер, поэтому приём почты настраивать не будем. Устанавливаем postfix: apt-get update
apt-get install postfix Общий тип почтовой настройки выбираем "Без настройки": Создаём главный файл настроек /etc/postfix/main.cf: myorigin = postfix02.mydomain.ru
myhostname = postfix02.mydomain.ru
mydomain = mydomain.ru
smtpd_banner = postfix02.mydomain.ru
biff = no
alias_maps = hash:/etc/postfix/aliases
mynetworks = 127.0.0.0/8 10.10.0.0/16 10.11.0.0/16 [::ffff:127.0.0.0]/104 [::1]/128
message_size_limit = 35840000
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
masquerade_classes = envelope_sender, header_sender
relay_domains = mydomain.ru, sale.mydomain.ru, promo.mydomain.ru
relay_transport = hash:/etc/postfix/transport
transport_maps = hash:/etc/postfix/transport
maximal_qu

Установим и настроим почтовый сервер postfix на ОС Ubuntu для нескольких доменов. Дополнительно настроим DKIM-шифрование.

Почтовый сервер будет только отправлять письма. На приём работает другой сервер, поэтому приём почты настраивать не будем.

Устанавливаем postfix:

apt-get update
apt-get install postfix

Общий тип почтовой настройки выбираем "Без настройки":

-2

Создаём главный файл настроек /etc/postfix/main.cf:

myorigin = postfix02.mydomain.ru
myhostname = postfix02.mydomain.ru
mydomain = mydomain.ru

smtpd_banner = postfix02.mydomain.ru
biff = no

alias_maps = hash:/etc/postfix/aliases

mynetworks = 127.0.0.0/8 10.10.0.0/16 10.11.0.0/16 [::ffff:127.0.0.0]/104 [::1]/128
message_size_limit = 35840000
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

masquerade_classes = envelope_sender, header_sender

relay_domains = mydomain.ru, sale.mydomain.ru, promo.mydomain.ru
relay_transport = hash:/etc/postfix/transport
transport_maps = hash:/etc/postfix/transport

maximal_queue_lifetime = 5d
compatibility_level = 2
smtp_use_tls = yes

milter_protocol = 2
milter_default_action = accept
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

Последние 4 строки — конфигурация для DKIM.

mynetworks — список сетей, с которых можно отправлять письма, в моём случае без авторизации. 

virtual_alias_domains — список доменов.

Создаём и редактируем файл /etc/postfix/aliases:

postmaster root

Создаём и редактируем файл /etc/postfix/transport:

mydomain.ru smtp:10.10.30.10
onemoredomain.ru smtp:10.10.30.10

Выполняем:

postalias /etc/postfix/aliases
postmap /etc/postfix/transport
postconf compatibility_level=2

postmap и postalias нужно повторять после любых изменений в файлах.

Устанавливаем opendkim:

apt-get install opendkim opendkim-tools

Создаём каталог для ключей и генерируем ключ (пока для одного домена, потом повторите генерацию ключей и остальные действия для всех ваших доменов):

mkdir /etc/opendkim
opendkim-genkey -D /etc/opendkim/ --domain mydomain.ru --selector myselector

Где mydomain.ru — ваш домен, myselector — ваш селектор который вы выберете.

Появится два файла /etc/opendkim/myselector.private и /etc/opendkim/myselector.txt с секретным и публичным ключами. Публичный ключ нужно добавить в DNS в соответствующую TXT запись вашего домена:

myselector._domainkey IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQK........DAQAB"

Настраиваем /etc/opendkim.conf:

AutoRestart Yes
AutoRestartRate 10/1h

Syslog Yes
SyslogSuccess Yes
LogWhy Yes

Mode sv

InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable

Создаём файл /etc/opendkim/TrustedHosts:

127.0.0.1
localhost
10.10.0.0/16
10.11.0.0/16

Здесь те же сети, что и в файле настроек /etc/postfix/main.cf в пункте mynetworks.

Создаём файл /etc/opendkim/KeyTable:

myselector._domainkey.mydomain.ru mydomain.ru:myselector:/etc/opendkim/myselector.private

Создаём файл /etc/opendkim/SigningTable:

*@mydomain.ru myselector._domainkey.mydomain.ru

Задаем группу владельца opendkim для созданных ключей и файлов:

chown :opendkim /etc/opendkim/*

Устанавливаем права на секретный ключ:

chmod 640 /etc/opendkim/myselector.private

В /etc/default/opendkim необходимо указать сокет, который будет слушать opendkim (другие директивы SOCKET необходимо закомментировать):

SOCKET="inet:8891@localhost"

Перезапускаем postfix и opendkim:

service opendkim restart
service postfix restart

Осталось только проверить и отправить письмо.

После успешной отладки убираем из логов всё про DKIM. Настраиваем /etc/opendkim.conf, меняем параметры логирования:

Syslog No
SyslogSuccess No
LogWhy No

Подкручиваем гайки

Я пока не собираюсь считать статистику писем. Поэтому отключаю отправку отчетов от MAILER_DAEMON. В файле /etc/postfix/master.cf меняем строку:

bounce unix - - y - 0 discard

В /etc/postfix/main.cf настраиваем сколько дней пытаться отправить почту:

maximal_queue_lifetime = 5d

Не забываем про:

service postfix restart

Источник:
https://internet-lab.ru/ubuntu_postfix_dkim

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.