К основному контенту

Эксплуатация Postfix: команды, диагностика, обслуживание, конфигурация main.cf и master.cf

Postfix — один из самых популярных почтовых серверов (MTA) в Linux-среде, известный своей безопасностью, гибкостью и производительностью. Эта статья охватывает основные команды для управления Postfix, методы диагностики и обслуживания, а также ключевые параметры конфигурации файлов main.cf и master.cf.



Основные команды управления Postfix

Postfix предоставляет утилиту postfix для запуска, остановки и управления службой:

postfix start # Запустить Postfix postfix stop # Остановить Postfix postfix reload # Перезагрузить конфигурацию без остановки службы postfix status # Проверить статус службы postfix check # Проверка конфигурации и путей

Дополнительные утилиты:

  • postqueue -p — просмотреть очередь почты

  • postqueue -f — принудительно обработать очередь

  • postsuper -d ALL — удалить все сообщения из очереди

  • postsuper -r ALL — повторно активировать все сообщения


Диагностика и логирование

Postfix логирует сообщения в системный лог, обычно /var/log/mail.log или /var/log/maillog:

tail -f /var/log/mail.log

Для более подробной диагностики:

postconf -n # Показать только изменённые параметры main.cf postconf -d # Показать все параметры с дефолтными значениями

Проверка подключения к другим серверам (например, при проблемах с отправкой):

telnet smtp.example.com 25

Или с помощью openssl (если используется TLS):

openssl s_client -connect smtp.example.com:587 -starttls smtp

Обслуживание

Очередь сообщений

Очередь делится на несколько частей:

  • incoming — входящие письма

  • active — письма, готовые к обработке

  • deferred — отложенные письма (например, из-за недоступности получателя)

  • bounce — недоставленные уведомления

Управление очередью:

postqueue -p # Просмотр очереди postsuper -d [ID] # Удалить конкретное сообщение postsuper -d ALL # Удалить всё postsuper -r [ID] # Повторно активировать

Конфигурация Postfix

Файл main.cf

Это основной конфигурационный файл Postfix, обычно расположен в /etc/postfix/main.cf.

Ключевые параметры:

myhostname = mail.example.com # Полное доменное имя сервера mydomain = example.com # Домен по умолчанию myorigin = $mydomain # Откуда исходит почта по умолчанию inet_interfaces = all # Интерфейсы, на которых слушает Postfix inet_protocols = ipv4 # Поддерживаемые протоколы (ipv4, ipv6) mydestination = $myhostname, localhost # Куда принимаем почту relayhost = [smtp.provider.com]:587 # SMTP-реле (если отправка через внешний SMTP) mynetworks = 127.0.0.0/8 # Разрешённые сети home_mailbox = Maildir/ # Путь к почтовому ящику smtpd_banner = $myhostname ESMTP Postfix smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert.pem smtpd_tls_key_file = /etc/ssl/private/ssl-cert.key smtpd_use_tls = yes smtpd_tls_auth_only = yes smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

Совет: Изменения в main.cf вступают в силу после команды postfix reload.


Файл master.cf

Этот файл управляет службами и их параметрами запуска. Находится в /etc/postfix/master.cf.

Пример записи:

smtp inet n - y - - smtpd -o smtpd_tls_security_level=may -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject

Значения полей:

  • smtp — имя службы

  • inet — тип подключения (inet, unix)

  • n, -, y, -, - — параметры (chroot, user, wait, etc.)

  • smtpd — команда для запуска

  • -o — переопределение параметров из main.cf

Дополнительные службы, которые можно активировать:

submission inet n - y - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes

Полезные команды и утилиты

  • mailq — показать очередь (аналог postqueue -p)

  • sendmail -v user@example.com — отправить письмо вручную

  • newaliases — обновить алиасы (/etc/aliases)

  • postmap /etc/postfix/virtual — создать хеш-карту из файла (аналогично для relay, sender_access и т.д.)


Заключение

Postfix — мощный и гибкий почтовый сервер, который при грамотной настройке и регулярном обслуживании обеспечивает стабильную и безопасную работу. Для эффективной эксплуатации важно знать основные команды, уметь читать логи, понимать структуру конфигурации и управлять очередью писем.

Если нужна помощь с конкретной задачей — настройка TLS, авторизация, пересылка, фильтрация — не стесняйтесь спрашивать.

Комментарии

Популярные сообщения из этого блога

Настройка и подключение IPSec в Windows

Настройка IPSec на Windows включает в себя создание правил безопасности и фильтров для защиты сетевого трафика. Ниже — пошаговое руководство. Включение службы IPSec Перед настройкой убедитесь, что служба IPSec Policy Agent запущена: Нажмите Win + R , введите services.msc и нажмите Enter . Найдите IPsec Policy Agent . Если она не работает, нажмите ПКМ → Свойства . Установите Тип запуска: Автоматически , затем нажмите Запустить . Настройка политики IPSec через «Локальную политику безопасности» Нажмите Win + R , введите secpol.msc , нажмите Enter . Перейдите в Политики IP-безопасности в локальном компьютере . В правом окне нажмите Создать политику IP-безопасности → Далее . Укажите имя политики (например, "IPSec VPN"), снимите флажок Активировать правило по умолчанию , нажмите Далее . Нажмите Добавить , чтобы создать правило. Транспортный или туннельный режим : Если IPSec для защищенной локальной сети – выберите Транспортный режим . Если IPSec для VPN – выберите Туннельн...

Как найти и изменить репозитарии для CentOS 8

В CentOS 8 официальные репозитории (BaseOS, AppStream и Extras) управляются с помощью dnf и файлов конфигурации в /etc/yum.repos.d/ . Вот как их найти и изменить: 1. Просмотр текущих репозиториев dnf repolist Если нужно увидеть подробную информацию: dnf repolist all 2. Изменение репозиториев Файлы конфигурации репозиториев находятся в /etc/yum.repos.d/ . Например, основной репозиторий может быть в файле CentOS-AppStream.repo . Открыть его можно так: nano /etc/yum.repos.d/CentOS-AppStream.repo Внутри можно изменить: enabled=1 → включает репозиторий enabled=0 → отключает репозиторий baseurl= или mirrorlist= → задать новый источник пакетов 3. Замена недоступных репозиториев CentOS 8 достиг конца поддержки , и официальные зеркала больше не работают. Вместо них можно подключить Vault или AlmaLinux/Rocky Linux : Использование архивного репозитория CentOS Vault Создайте резервную копию старых .repo файлов: mkdir /root/repo-backup && mv /etc/yum.repos.d/*.repo /root/repo-backu...

Пример по настройке и конфигурации IPsec-туннеля для безопасного соединения сетей

IPsec (Internet Protocol Security) используется для обеспечения безопасного обмена данными между сетями. В данной инструкции описывается настройка IPsec между двумя криптошлюзами:  GW-Alpha  (192.168.100.1) и  GW-Beta  (192.168.200.1). Все параметры вымышленные, но соответствуют типовым настройкам. Команды, использованные в инструкции, относятся к конфигурации VyOS или EdgeRouter (Ubiquiti) . Эти устройства используют синтаксис команд CLI, схожий с Juniper Junos, но ориентированный на программное обеспечение с открытым исходным кодом. Ниже приведены примеры для  Cisco, Mikrotik, Fortinet или pfSense , 1. Фазы работы IPsec IPsec работает в два основных этапа: Фаза 1 (IKE – Internet Key Exchange) Фаза 1 предназначена для установления безопасного канала между двумя узлами. Она включает в себя: Аутентификацию сторон – используется либо предварительно разделенный ключ (PSK), либо цифровые сертификаты. Обмен ключами – осуществляется с использованием алгоритма Диффи...