Настройка Postfix Centos 7

Обновлено: 21.11.2024

Эта статья предназначена для начинающих, которые хотят настроить базовый сервер электронной почты. Базовые знания системного администрирования будут преимуществом, а умение устанавливать программное обеспечение и редактировать файлы конфигурации имеет важное значение. Статья была написана для CentOS 5, но в равной степени применима и к более ранним версиям. Более поздние версии могут отличаться.

Существует множество различных сценариев и комбинаций, которые можно использовать при настройке сервера электронной почты (их слишком много, чтобы охватить здесь), поэтому в этой статье вы можете выбрать некоторые основные варианты, например программное обеспечение, которое мы будем использовать (postfix и dovecot). ). Пользователь должен изменить другие параметры, такие как ваши сетевые адреса и доменные имена. Более сложные параметры, такие как виртуальные домены и пользователи, выходят за рамки этой статьи и здесь не рассматриваются.

2. Установка

Первое, что нам нужно сделать, это установить необходимое программное обеспечение. Проще всего это сделать с помощью yum из командной строки:

Yum должен автоматически разрешать любые зависимости. Dovecot зависит от mysql и perl, поэтому они, скорее всего, тоже будут установлены, если они еще не установлены в системе.

В качестве альтернативы мы можем пропустить установку 'system-switch-mail' и 'system-switch-mail-gnome' и удалить MTA по умолчанию sendmail, это сделает 'postfix' MTA по умолчанию в нашей системе.

Обратите внимание, что MTA по умолчанию в CentOS 5 — sendmail. Если вы не сделаете postfix агентом передачи сообщений по умолчанию, обновление postfix может привести к тому, что агент передачи сообщений по умолчанию вернется к sendmail.

3. Конфигурация

Далее нам нужно настроить различные части нашего почтового сервера.

3.1. Постфикс

Файлы конфигурации Postfix хранятся в папке /etc/postfix. Двумя основными файлами конфигурации постфикса являются master.cf и main.cf, хотя здесь мы будем иметь дело только с main.cf. Сначала мы внесем некоторые дополнения или изменения в файл конфигурации main.cf. Необходимо добавить, отредактировать или раскомментировать следующие строки:

Теперь давайте рассмотрим каждую настройку, чтобы понять, что мы только что сделали:

mydomain: доменное имя почтового сервера (это может быть реальное или поддельное доменное имя).

myorigin: доменное имя, с которого, по-видимому, исходит и на которое доставляется локальная электронная почта.

inet_interfaces: устанавливает сетевые интерфейсы, через которые Postfix может получать почту. Они должны включать как минимум localhost и локальный домен.

mydestination: список доменов, на которые будет доставляться электронная почта (т. е. этот сервер является конечным пунктом назначения для электронной почты, адресованной этим доменам).

mynetworks: список доверенных IP-адресов, которые могут отправлять или ретранслировать почту через сервер. Пользователи, пытающиеся отправить электронную почту через сервер с IP-адресов, не указанных здесь, будут отклонены.

home_mailbox: задает путь к почтовому ящику относительно домашнего каталога пользователя, а также указывает стиль используемого почтового ящика. Postfix поддерживает форматы Maildir и mbox, и читателям предлагается ознакомиться с достоинствами каждого из них. Однако в этой статье мы решили использовать формат Maildir (косая черта в конце указывает на формат Maildir. Чтобы указать формат mbox, читатель должен использовать home_mailbox = Mailbox).

3.2. Голубятня

Файл конфигурации dovecot находится по адресу /etc/dovecot.conf. Необходимо добавить, отредактировать или раскомментировать следующие строки:

Опять же, рассматривая каждый вариант:

протоколы: указывает протоколы, доступные пользователям для доступа к электронной почте. Dovecot поддерживает imap(s) и pop3(s), и можно использовать любые или все.

mail_location: указывает формат и местоположение почтового ящика каждого пользователя. Здесь мы видим, что мы используем формат maildir, и каждый пользователь имеет свой почтовый ящик, расположенный в ~/Maildir. Примеры для формата mbox приведены в файле конфигурации.

pop3_uidl_format: требуется для устранения проблемы с доступом Outlook 2003 к почтовым ящикам через pop3, поэтому имеет смысл установить это (дополнительную информацию см. в примечаниях к файлу конфигурации).

login_process_size: в примечаниях к выпуску CentOS 5.1 говорится, что «пакет Dovecot на ядрах x86_64 требует добавления параметра «login_process_size = 64» в /etc/dovecot.conf после обновления до CentOS 5.1». 32-разрядные установки не затрагиваются и не требуют этого параметра.

Примечание. Если у вас возникли проблемы с подключением к dovecot через imap или pop3, проверьте разделы настроек IMAP и POP3 в файле конфигурации dovecot.conf, чтобы найти обходные пути. Доступные варианты в основном касаются старых почтовых клиентов и обходных путей для Microsoft Outlook и Outlook Express.

Примечание о dovecot и C6: в CentOS 6 конфигурация переместилась в /etc/dovecot/dovecot.conf.Dovecot можно запустить без каких-либо дополнительных изменений в файле конфигурации, и он будет автоматически прослушивать соединения на портах для pop3(s) и imap(s). Возможно, потребуются изменения, соответствующие вашей среде.

3.3. Создание почтовых ящиков пользователей

Далее нам нужно создать почтовый ящик для каждого пользователя в его домашнем каталоге и установить соответствующие разрешения, поэтому, используя наш пример пользователя john:

Примечание. При создании почтовых ящиков пользователей с правами root мы должны установить право собственности на каталог для пользователя.

3.4. Псевдонимы

Если вы редактируете файл псевдонимов для установки новых псевдонимов для пользователей после запуска postfix, вы должны перестроить базу данных псевдонимов, выполнив команду newaliases.

4. Запуск сервера

Теперь мы готовы запустить наш новый почтовый сервер. Сначала нам нужно указать нашей системе использовать postfix в качестве MTA, а не sendmail по умолчанию. Для этого запустите команду system-switch-mail и выберите postfix в качестве MTA. Это установит службу postfix и настроит ее автоматический запуск на уровнях запуска 3, 4 и 5. Затем нам нужно настроить службу dovecot на автоматический запуск на уровнях запуска 3, 4 и 5 и запустить обе службы:

в этот момент вы должны быть готовы к работе. Ваш почтовый сервер не должен иметь проблем с отправкой и получением электронной почты внутри и с отправкой внешней электронной почты. Чтобы получать внешнюю электронную почту в своем домене, вам также необходимо настроить записи MX в DNS для вашего домена (в идеале запись PTR rDNS также должна быть настроена через вашего интернет-провайдера, сопоставляющего ваш IP-адрес с вашим доменом). Не забудьте открыть все необходимые порты на брандмауэре Linux в зависимости от того, какие службы вы используете (SMTP 25; POP3 110; IMAP 143; IMAPS 993; POP3S 995) и включить переадресацию портов для этих портов на любых маршрутизаторах.

Если вы внесете какие-либо изменения в файл конфигурации postfix main.cf, вы можете либо перезапустить службу postfix, либо выполнить команду postfix reload, чтобы обновить изменения.< /p>

5. Резюме

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

Теперь читателям предлагается ознакомиться с бесплатным руководством по ограничениям постфиксов.

6. Ссылки

Читателям рекомендуется ознакомиться с обширной документацией postfix, доступной на веб-сайте postfix, включая множество примеров конфигураций:

Тестирование почтовых серверов, настроенных как открытые ретрансляторы:

HowTos/postfix (последним удаленным пользователем NedSlider 2020-06-15 14:18:23)

Postfix работает на AIX, BSD, HP-UX, Linux, macOS и Solaris. Это MTA по умолчанию для операционных систем macOS, NetBSD и Ubuntu. Я собираюсь показать вам, как установить и настроить Postfix на CentOS 7, и давайте посмотрим, как это работает

Что такое постфикс?

Postfix — это своего рода механизм для отправки электронной почты с хоста по всему миру, где он установлен и настроен. Ваш хост станет SMTP-сервером, когда вы запустите Postfix на этом компьютере. Postfix — это бесплатный MTA (агент передачи почты) с открытым исходным кодом, выпущенный по общедоступной лицензии IBM версии 1.0. Большинство пользователей используют свой SMTP-механизм в Интернете с помощью Postfix MTA, это самый популярный и первый в списке MTA сервер Exim, который является вторым по популярности в списке MTA.

Шаги по установке Postfix

<р>1. Откройте терминал, или вы можете получить доступ к своему серверу через telnet в другой системе через telnet. Если постфикс не установлен в вашей системе, выполните следующую команду, а также удалите отправителя по умолчанию sendmail.

<р>2. Поскольку мы удалили MTA по умолчанию ( Sendmail ), поэтому нам нужно сделать postfix в качестве MTA по умолчанию из приведенной ниже команды.

Если команда выше не работает, попробуйте команду ниже.

Этапы настройки Postfix

<р>1. После установки отредактируйте файл конфигурации postfix, расположенный в etc /postfix/main.cf и etc /postfix/master.cf, и правильно внесите следующие изменения. Если вы работаете с postfix через telnet, отредактируйте его с помощью редактора «vi» или, если вы вошли в систему напрямую, вам следует отредактировать файл, перейдя в папку postfix с помощью geditor по умолчанию.

<р>2. Найдите следующее и внесите изменения, как показано ниже

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

<р>3. Теперь отредактируйте следующий файл, чтобы открыть порт SMTP, который находится в той же папке postfix и т. д. /postfix/master.cf

Убедитесь, что вышеуказанные шаги выполнены правильно, иначе служба Postfix выдаст ошибку

<р>4. Добавьте SMTP-порты в брандмауэр, чтобы открывать их

<р>5. После вышеуказанных шагов перезапустите постфикс и включите его при загрузке

<р>6.Проверьте статус постфикса, он должен быть Активен и Выполняется

<р>7. Теперь протестируйте Postfix с помощью следующей команды

mail -s «Локальный исходящий SMTP-тест» [электронная почта защищена]

Видеоруководство

Надеюсь, вы выполнили все шаги и выполнили правильную настройку. Postfix — это лучший механизм отправки почты, открытый и свободно доступный. Просто установите его и обратитесь ко мне за помощью, если у вас возникнут какие-либо проблемы во время установки Postfix.

Postfix — это один из самых популярных агентов передачи почты (MTA) с открытым исходным кодом, который маршрутизирует и доставляет почту. Это альтернатива Sendmail MTA, которая предустановлена ​​во всех версиях до Centos/RHEL 5. Установка CentOS Postfix — это процесс, требующий большой точности.

"Postfix — это бесплатный агент передачи почты с открытым исходным кодом, который маршрутизирует и доставляет электронную почту. Он выпущен под лицензией IBM Public License 1.0, которая является лицензией на бесплатное программное обеспечение. В качестве альтернативы, начиная с версии 3.2.5, он доступен по лицензии Eclipse Public License 2.0 по выбору пользователя». - Википедия

Основной задачей постфикса (CentOS) является ретрансляция почты локально или на целевой сервер вне сети. Чтобы установить postfix и избежать конфликтов, вам необходимо удалить sendmail, если он уже установлен.

Прежде чем начать, вы также можете обновить свои представления о том, как работает электронная почта, используя Postfix в качестве справки. Это поможет вам продвинуться дальше в этом содержании.

Шаг 1. Проверка и удаление Sendmail (требуется, только если Sendmail установлен)

Ввод: выполните приведенную ниже команду, чтобы проверить, установлен ли sendmail:

Вывод: Если на вашем сервере установлена ​​программа sendmail, появится следующий вывод:

Если вы не получили никакого вывода, это означает, что у вас не установлен sendmail, и вы можете перейти к шагу 2.

Если вы получаете вывод, аналогичный показанному выше, вам необходимо удалить Sendmail с помощью следующей команды:

После того, как вы успешно удалили Sendmail, вы получите вывод, аналогичный показанному ниже:

Шаг 2. Установите Postfix

Это всегда один из самых простых способов установить postfix с помощью установщика yum (в идеале, если вы используете Centos/RHEL > 5 postfix уже предустановлен).

Вы можете проверить, установлен ли postfix centos 7 или нет, с помощью следующей команды:

Вы получите приведенный выше вывод, если Postfix уже установлен. Если Postfix не установлен, используйте следующую команду для установки postfix:

Продолжайте отвечать "Да" на запрос каждый раз, когда он спрашивает. Как только все компоненты будут загружены, вы успешно установите postfix centos 7.

Шаг 3. Настройте Postfix.

Нам нужно отредактировать файл /etc/postfix/main.cf.

Внесите изменения в соответствии с приведенными ниже шагами.

Примечание. В основном вы найдете строку, которую нужно изменить, в строке 67.

Добавьте имя хоста в файл, расшифровав и отредактировав строку № 75

Раскомментируйте и установите доменное имя в строке № 83

Раскомментировать строку № 99

Раскомментируйте и установите ipv4 в строке № 113

изменить строку № 119 на все

Комментарий к строке № 164

Раскомментируйте и добавьте диапазон IP-адресов в строке № 264

Раскомментировать строку № 419

сохранить и закрыть файл.

Включите службу с помощью приведенной ниже команды

Запустить/перезапустить службу postfix.

после перезапуска постфикса необходимо проверить статус службы с помощью следующей команды:

Шаг 4. Тестирование сервера Postfix

Давайте добавим пользователя для тестирования и назовем его «postfixtester»

добавить пароль для пользователя postfixtester

после добавления пользователя проверим доступ к серверу с помощью telnet.

Начните транзакцию, написав следующую команду.

Как только вы получите 250 DSN, вы сможете отправлять почту.

Случай 1: успешное тестирование

Случай 2. Ошибка при проверке

Если вы получили что-то подобное, мы успешно получили электронное письмо. Чтобы прочитать следующее письмо, просто пометьте файл:

Это тестовая почта с вашего локального сервера.

Наконец-то! У вас установлен postfix и письма отправляются! Все готово для использования вашего сервера в качестве частного SMTP-сервера для отправки электронных писем.

Письма Postfix попадают в спам?

Интегрируйте свой экземпляр Postfix с Pepipost SMTP, чтобы добиться высокой доставляемости электронной почты

В настоящее время многие люди уже используют настроенные и надежные почтовые веб-службы, такие как Gmail, Yahoo и т. д. Большинство из этих людей сомневаются в необходимости локального почтового сервера, установленного внутри их серверной среды.Ну, серверам тоже нужно отправлять электронные письма, а не только людям; и это полезно для многих других нужд, особенно при уведомлении администратора, если сервер находится в критическом состоянии.

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

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

В этой главе мы узнаем следующее:

  • Установка и настройка почтового сервера Postfix с помощью CentOS 7 Linux
  • Настройте его для хранения пользователей и виртуальных доменов в базе данных MySQL
  • Настройте почтовый инструмент (Dovecot) для получения электронной почты.
  • Настройте активный каталог OpenLDAP
  • Защитите обе почтовые службы с помощью SSL/TLS.

Установка и настройка почтового сервера Postfix

Как мы все знаем, Postfix действует как MTA, как SMTP-сервер. Он принимает входящую почту и передает ее службе, отвечающей за получение почты. Затем он перенаправляет исходящую почту на следующий ответственный SMTP-сервер. Для службы SMTP нам необходимо открыть порт 25/TCP в системном брандмауэре. Postfix очень прост в установке и настройке. Нам нужно только убедиться, что были выполнены некоторые шаги перед установкой, чтобы иметь чистую установку.

Во-первых, нам нужно открыть требуемый порт в брандмауэре для всех необходимых служб почтового сервера, используя Firewalld . Порты, которые мы собираемся открыть, относятся к следующим службам:

  • Простой протокол передачи почты (SMTP): 25 на TCP
  • Защищенный SMTP (SMTPS): 465 на TCP
  • Агент отправки почты (MSA): 587 на TCP
  • Протокол почтового отделения 3 (POP3): 110 на TCP
  • Безопасный POP3: 995 на TCP
  • Протокол доступа к сообщениям в Интернете (IMAP): 143 на TCP
  • Защищенный IMAP (IMAP SSL): 993 по TCP

Вот как применить изменение локального системного брандмауэра с помощью Firewalld:

После этого нам нужно иметь точное время для сервера, поэтому нам нужно установить NTP-клиент для синхронизации машинного времени с одним из многих доступных по всему миру NTP-серверов. Нам нужно установить клиентскую службу NTP с помощью менеджера пакетов yum:

Обычно клиент NTP после установки уже имеет несколько серверов NTP по умолчанию, настроенных для синхронизации с ними своего времени. Но если у нас есть локальный сервер NTP и мы хотим его использовать, мы всегда можем зайти в файл конфигурации NTP и добавить его. Рекомендуется всегда иметь как минимум три NTP-сервера:

Мы ищем строки, начинающиеся с сервера, комментируем ненужные серверы и добавляем те, которые нам нужны (показаны как LOCAL_NTP_SERVER_IP_ADDRESS в следующем фрагменте):

Нам нужно запустить службу NTP и добавить ее в службы запуска системы:

Чтобы проверить, синхронизируется ли клиент NTP с определенными серверами, нам нужно использовать команду ntpq -p . Давайте посмотрим на следующий вывод:

После того, как время нашего сервера будет точным, нам нужно убедиться, что имя хоста нашего сервера правильно настроено, поскольку иностранный почтовый сервер может не принимать почту с нашего сервера из-за его подозрительного имени. Мы можем проверить это с помощью следующей команды:

Если мы получили полное доменное имя server.domain, мы можем продолжить, где server — это имя хоста нашего сервера, а домен — это его место. В противном случае нам нужно установить его, отредактировав файлы конфигурации имени хоста:

Или вы также можете использовать следующую команду:

Мы должны убедиться, что правильно написали адрес домена. Затем мы сохраняем файлы.

И, наконец, нам нужно проверить разрешение DNS. Наш сервер должен использовать полностью квалифицированный DNS, что означает, что он может разрешать адреса со всего Интернета. Нам нужно проверить файл /etc/resov.conf:

Если мы не уверены, что настроенный DNS-сервер хорошо обновлен для обработки всех наших запросов, мы можем отредактировать файл и добавить несколько DNS-серверов, которые, как мы уверены, соответствуют требованиям (Google DNS: 8.8.8.8 , 8.8.4.4 ) . Мы можем протестировать наш DNS-сервер с помощью команды nslookup:

Теперь мы готовы установить Postfix на наш сервер. Как мы упоминали ранее, установка и настройка будут продолжать добавлять и настраивать один и тот же сервер для каждого раздела.

В этом разделе мы начнем с установки и настройки нашего Postfix в качестве SMTP-сервера.Во-первых, нам нужно установить пакет postfix с помощью yum. Нам нужно спланировать следующие разделы. Поскольку версия Postfix по умолчанию в менеджере пакетов yum не поддерживает MariaDB (встраиваемая замена MySQL), нам необходимо установить Postfix из репозитория CentOSPlus. Непосредственно перед началом установки нам нужно добавить исключение в некоторые репозитории, чтобы предотвратить перезапись обновления пакетов Postfix:

Затем нам нужно добавить строку exclude=postfix в конец [базы] и исходный код репозитория [обновлений], чтобы он выглядел следующим образом:

После сохранения файла мы можем начать установку пакета. Мы установим необходимые пакеты для полноценного почтового сервера: Postfix в качестве почтового сервера MTA для SMTP, Dovecot для IMAP и демонов POP, а также некоторые вспомогательные пакеты для службы аутентификации:

Здесь мы объединим установку инструментов, но конфигурация будет разделена на каждый раздел этой главы.

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

Затем начинаем изменять незакомментированные строки и добавлять информацию о нужном почтовом сервере. Поскольку мы собираемся внести много отдельных изменений в большой файл, мы не должны добавлять ненужные строки, потому что мы будем указывать, какую строку мы должны изменить за раз. В любой момент, если мы используем nano в качестве текстового редактора, мы всегда можем использовать параметр поиска для поиска нужной строки, используя комбинацию Ctrl + W и вводя первая часть строки.

Далее нам нужно определить имя хоста нашего почтового сервера. Мы переходим к строке с параметром myhostname, раскомментируем строку и меняем ее на нужную информацию, например, в следующем примере:

Затем нам нужно настроить доменное имя в строке опции mydomain , как показано в следующем примере:

За этим следует источник, который имеет то же значение, что и домен, в строке параметра myorigin :

Затем мы определяем, какие сетевые интерфейсы наш сервер будет предоставлять свои услуги (прослушивать). В нашем случае мы просто будем использовать их все. Чтобы настроить это, мы либо закомментируем строку 116 и раскомментируем строку 113, либо просто изменим строку 116 на следующий код:

Затем мы переходим к строке параметра mydestination, чтобы добавить адрес домена в конец строки целевого домена:

Затем мы делаем большой переход к строке опции mynetworks, чтобы раскомментировать ее и добавить другие сети, которые мы будем использовать для сети, связанной с сервером:

Затем мы переходим к строке параметра home_mailbox, чтобы раскомментировать параметр расположения папки почтового ящика и изменить его на то, что соответствует нашим потребностям:

Мы заканчиваем подсчет строк, переходя к строке опции smtpd_banner, раскомментируя ее и изменяя ее, чтобы она выглядела следующим образом:

Затем мы идем в конец файла и добавляем следующие строки и ограничиваем размер электронной почты для обработки сервером (10 мегабайт = 10485760):

Также нам необходимо ограничить размер папки почтового ящика (1 гигабайт = 1073741824):

И, наконец, мы настраиваем строки параметров конфигурации аутентификации SMTP-сервера:

Эта конфигурация считается исходной. После его установки мы всегда можем использовать команду postconf -e, чтобы изменить параметр или установить новый. Если нам когда-либо понадобится изменить имя хоста сервера, нам нужно написать его следующим образом:

Убедившись, что все настройки настроены правильно, мы можем запустить нашу службу Postfix и добавить ее в службы запуска системы:

Чтобы убедиться, что все в порядке, нам нужно выполнить небольшой тест для служб Postfix. Есть много способов сделать этот тест. Мы воспользуемся традиционным способом отправки почты с помощью команды mail, а затем проверим файл журнала почты, расположенный в /var/log/maillog:

Затем мы должны увидеть следующее сообщение в файле почтового журнала, которое сообщает нам следующее сообщение о том, что почта была отправлена ​​нормально и службы Postfix работают нормально:

Сделав этот шаг, мы можем сказать, что мы успешно настроили Postfix в качестве MTA. Но это может быть плохо настроенный почтовый сервер. Нам нужно добавить и настроить несколько инструментов, чтобы сделать его квалифицированным и безопасным. Мы начнем добавлять и настраивать необходимые инструменты в следующих разделах. Вот как будет выглядеть наш почтовый сервер после установки и запуска всех его компонентов:

Читайте также: