Данный учебник поможет вам научиться настраивать несколько инстансов сервера Postfix SMTP с ротацией IP на одном виртуальном частном сервере (VPS).
Содержание статьи
- 1 Причины для использования нескольких IP-адресов.
- 2 Структура нескольких установок Postfix
- 3 Конфигурация нескольких инстансов Postfix.
- 4 Конфигурация балансировки нагрузки через DNS
- 5 Конфигурация брандмауэра
- 6 Конфигурация резервного SMTP-пересылщика
- 7 Включите запись PTR для каждого IP-адреса.
- 8 Конфигурация SMTP-аутентификации
- 9 Проведение тестирования
- 10 Диагностика и решение проблем
- 11 Отсутствует подпись DKIM?
- 12 Активировать автоматический запуск.
- 13 Способы обхода черных списков электронной почты.
- 14 Заключение
Причины для использования нескольких IP-адресов.
При отправке массовых электронных писем с использованием собственного программного обеспечения для email-маркетинга, например, Mautic, рекомендуется применять несколько IP-адресов для распределения трафика. Если почтовые провайдеры фиксируют значительный поток писем с одного IP-адреса, это может вызвать подозрения на спам. Для поддержания положительной репутации IP важно снизить интенсивность отправки писем с одного адреса.
Оптимальный провайдер для хостинга Linux VPS, предлагающий возможность использования нескольких IP-адресов на одном сервере, — это Kamatera. Цены на VPS начинаются от 4 долларов в месяц, а каждый дополнительный IP-адрес стоит 1 доллар в месяц. Ознакомьтесь с руководством по ссылке ниже, чтобы настроить свой сервер Linux VPS с несколькими публичными IP-адресами.
- Как установить сервер Linux VPS на платформе Kamatera.
Вы можете воспользоваться iRedMail для оперативной настройки почтового сервера на VPS Kamatera.
- Как просто установить собственный почтовый сервер на Ubuntu 20.04 с помощью iRedMail.
- Как просто установить собственный почтовый сервер на Debian 10 с помощью iRedMail.
- Как просто установить собственный почтовый сервер на CentOS 8 с помощью iRedMail.
После завершения этой процедуры, вернитесь сюда для настройки нескольких экземпляров Postfix с ротацией IP-адресов.
Какое количество IP-адресов требуется для отправки электронной почты?
- При наличии 10 тысяч подписчиков в рассылке вам потребуется всего один IP-адрес.
- Если вам необходимо отправить 100 тысяч писем одновременно, я советую использовать не менее пяти IP-адресов.
Структура нескольких установок Postfix
SMTP-сервер Postfix позволяет на одном хосте запускать несколько экземпляров. Все экземпляры используют одни и те же исполняемые файлы, но при этом имеют различные директории для хранения отдельных файлов.
- Файлы конфигурации
- Очередь/спул
- Данные
Данный учебник познакомит вас с процедурой конфигурации двух экземпляров Postfix. Вы можете применять ту же методику для добавления третьего, четвертого, пятого и так далее экземпляров.
Конфигурация нескольких инстансов Postfix.
Введите следующую команду для инициализации нескольких экземпляров в Postfix.
sudo postmulti - e init
В конце файла /etc/postfix/main.cf будут добавлены следующие две строки.
multi_instance_wrapper = $/postmulti - p -- multi_instance_enable = yes
Создайте новый экземпляр Postfix.
sudo postmulti - e create - I postfix-smtp1
- Режим редактирования включается с помощью параметра — e.
- I : имя экземпляра, которое обязательно должно начинаться с постфикса -.
В результате будет автоматически создана директория /etc/postfix-smtp1/, в которой находятся файлы master.cf и main.cf. В нижней части файла /etc/postfix-smtp1/main.cf будут добавлены следующие строки.
readme_directory = no inet_protocols = ipv4 master_service_disable = inet authorized_submit_users = queue_directory = /var/spool/postfix-smtp1 multi_instance_name = postfix-smtp1
master_service_disable = inet
master_service_disable =
Таким образом, экземпляр postfix-smtp1 может подключаться к TCP-сокету. Для каждого экземпляра Postfix необходимо задать уникальные значения для следующих двух параметров.
myhostname = inet_interfaces =
Основной конфигурационный файл ( /etc/postfix/main.cf ) может быть использован, например, для
myhostname = smtp. example.com
inet_interfaces =
11.22.33.44
Postfix-smtp1 экземпляр может быть использован
sudo postqueue - c /etc/postfix-smtp1/ - p
Обращаем ваше внимание, что коллектив
sudo systemctl restart postfix
Запустит только главный экземпляр. Для вывода всех экземпляров Postfix выполните
sudo postmulti - l - a
Выполните следующую команду, чтобы убедиться, что Postfix принимает подключения на нужных IP-адресах.
sudo ss - lnpt | grep :25
При корректной настройке оба экземпляра должны принимать запросы на своих уникальных IP-адресах.
Конфигурация балансировки нагрузки через DNS
Вы можете назначить уникальное имя хоста для вашего VPS и настроить две DNS A записи для этого имени. Этот процесс известен как балансировка нагрузки в DNS.
smtp. example.com A 11.22.33.44 A 11.22.33.55
Далее необходимо сконфигурировать SMTP-клиентов (например, ваше приложение для email-маркетинга) с использованием имени хоста (smtp. example.com). Клиент будет поочередно пытаться установить соединение с двумя IP-адресами.
Конфигурация брандмауэра
Ваш сервер по умолчанию настроен с шлюзом, который использует его IP-адрес для связи с другими серверами. Для улучшения доставки электронной почты необходимо выполнить следующие шаги.
- При подключении SMTP-клиента к первому IP-адресу вашего VPS, он должен использовать этот адрес для отправки электронной почты.
- Если SMTP-клиент осуществляет подключение ко второму IP-адресу на вашем VPS, то для отправки электронной почты VPS должен использовать именно этот второй IP-адрес.
Для реализации этого необходимо настроить SNAT (Source NAT) на брандмауэре сервера. Данная технология изменяет исходный IP-адрес.
На Linux доступно множество программ для настройки брандмауэра. Вот некоторые из наиболее популярных.
- iptables — наиболее распространенный брандмауэр в системе Linux.
- nftables: современный аналог iptables.
- UFW: интерфейс для управления iptables, широко используемый на серверах под управлением Debian и Ubuntu.
- Firewalld — это интерфейс для работы с iptables/nftables, который часто используется на серверах, работающих под управлением RHEL, CentOS, Rocky Linux и Alma Linux.
iptables
Если вы применяете iptables, необходимо выполнить следующие две команды для настройки SNAT.
sudo iptables - t nat - A POSTROUTING - s 11.22.33.44-p tcp --dport 25 - j SNAT --to-source11.22.33.44


