Настроить postfix centos 7

Установка и настройка PostfixAdmin на CentOS 7

Инструкция рассчитана на тех, у кого уже есть настроенный почтовый сервер и необходимо отдельно установить систему управления для него. Если настроенного почтового сервера нет, лучше перейти к инструкции Настройка полноценного почтового сервера на Postfix, которая уже включает подраздел с установкой и PostfixAdmin, и Dovecot, и систем безопасности.

Настройка веб-сервера и сервера баз данных

PostfixAdmin работает как веб-приложение на веб-сервере. В качестве последнего в данной инструкции будет использоваться httpd (apache) + PHP. Если есть желание настроить систему управления Postfix на NGINX, читайте инструкцию Установка NGINX на CentOS.

В качестве СУБД будем использовать MariaDB.

Httpd + PHP

Для установки httpd на CentOS выполняем следующую команду:

yum install httpd

Разрешаем http-порт в брандмауэре:

firewall-cmd —permanent —add-port=80/tcp

Разрешаем автозапуск и запускаем сервис httpd:

systemctl enable httpd

systemctl start httpd

Открываем браузер и проверяем работоспособность веб-сервера. Мы должны увидеть что-то подобное:

PHP и дополнительные компоненты

yum install php php-mysql php-mbstring php-imap

* php-mysql — компонент для подключения к базе MySQL (MariaDB), php-mbstring — расширение для работы со строковыми данными; php-imap необходим для взаимодействия с почтовой системой по IMAP.

Для применения настроек перезагружаем httpd:

systemctl restart httpd

MariaDB

yum install mariadb mariadb-server

Включаем автозапуск и запускаем сервис:

systemctl enable mariadb

systemctl start mariadb

Задаем пароль для суперпользователя mariadb:

mysqladmin -u root password

Установка и настройка PostfixAdmin

Сначала скачиваем последнюю версию postfixadmin:

wget https://sourceforge.net/projects/postfixadmin/files/latest/download -O postfixadmin.tar.gz

* если система вернет ошибку, установите wget — yum install wget.

Распаковываем скачанный архив в директорию с порталом:

tar -C /var/www/html -xvf postfixadmin.tar.gz

* где /var/www/html — каталог по умолчанию для хранения сайтов в Apache.

Переименовываем распакованную папку (убираем указание на версию), чтобы было удобнее вводить URL-адрес:

mv /var/www/html/postfixadmin-3.0.2 /var/www/html/postfixadmin

Задаем права на каталог:

chown -R apache:apache /var/www/html/postfixadmin

* в данном примере, в качестве веб-сервера используется Apache, который по умолчанию запускается от пользователя apache, поэтому мы и задаем его в качестве владельца.

Создаем базу данных postfix и учетную запись в mariadb:

CREATE DATABASE postfix DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

* где postfix — имя базы.

GRANT ALL ON postfix.* TO ‘postfix’@’localhost’ IDENTIFIED BY ‘postfix123’;

* где postfix — имя учетной записи; postfix123 — пароль; localhost разрешает подключение только с локального сервера.

Выходим из командной оболочки MariaDB:

Открываем конфигурационный файл postfixadmin:

И редактируем следующее:

$CONF[‘configured’] = true;
$CONF[‘default_language’] = ‘ru’;
$CONF[‘database_password’] = ‘postfix123’;
$CONF[’emailcheck_resolve_domain’]=’NO’;

Запускаем браузер и вводим адрес http:// /postfixadmin/setup.php

Начнется процесс проверки конфигурации и установки портала PostfixAdmin. После ее окончания вводим дважды пароль и генерируем хэш:

После перезагрузки страницы копируем хэш:

Открываем конфигурационный файл и редактируем следующее:

$CONF[‘setup_password’] = ‘7a8e14. c26’;

После, на той же странице, где показан хэш, добавляем суперпользователя PostfixAdmin:

В итоге мы увидим следующее:

И переходим в браузере на страницу http:// /postfixadmin/

Вводим логин и пароль для созданного пользователя.

Источник

Postfix — настройка отправки email от пользователей сервера

Задача: настроить отправку электронной почты (e-mail) от пользователей сервера в интернет. Необходимо для мониторинга оборудования, извещения о событиях и т.п. Пример: получать оповещения от smartd в случае обнаружения проблем со SMART диска.

Чем меньше посредников на пути письма, тем меньше точек возможных отказов и тем больше шансов, что email будет доставлен получателю. Исходя из этих соображений, самый надежный вариант — это настроить собственный сервер отправки почты (почтовый агент; Mail Transfer Agent — MTA), а не использовать, например, SMTP своего почтового ящика в Gmail.com.

Но для того, чтобы отправленные из своего MTA письма были доставлены до адресата, а не удалены спам-фильтром получателя, необходимо располагать:

  • внешним арендованным или приобретенным белым IP-адресом (в примерах ниже будет использоваться случайный IP 5.6.7.8) и возможностью настроить PTR (Reverse DNS);
  • реальным доменным именем (example.com), поддомен которого будет настроен в качестве имени сервера с возможностью управления его настройками DNS;

Почтовый сервер — программа, которая отправляет e-mail получателю напрямую (на его почтовый сервер) или через посредника (relay).

Здесь будет рассматриваться установка и настройка Postfix для CentOS 7. Эта информация будет полезна и для выбора и установки MTA на другие системы.

Выбор почтового сервера

Из огромного множества рассмотрим 3 самых массовых почтовых сервера: Sendmail, Exim и Postfix.

Согласно cтатистики использования MTA на июнь 2020 г. самым популярным в мире является Exim (466853 — 57%), за ним следует Postfix (289401 — 35%), а вот некогда самый массово используемый Sendmail уже практически не используется (30640 — 4%).

Еще в 2007 году Sendmail был установлен на большинстве серверов, но утрата позиций связана, в первую очередь, с часто возникающими проблемами с безопасностью. Exim — мощный почтовый агент, большинство функционала которого не будет использоваться для поставленной задачи. Postfix — самый безопасный и простой в настройке полноценный MTA, он и был выбран для отправки писем с сервера.

Полезная информация по выбору MTA

Установка и настройка Postfix в CentOS 7

Установка и сохранения настроек по умолчанию в файле main.cf.origin:

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

  • myhostname — полное доменное имя сервера;
  • mydomain — обычно это доменное имя, без первой части myhostname;
  • myorigin — домен для почтового ящика, указываемого как отправитель/from (например: root@server.example.com);
  • mynetworks — белый список сетей, из которых разрешено отправлять письма, отправка писем с IP не указанных в этом параметре — запрещена;
  • inet_protocols — all или ipv4 или ipv6 — протокол, по которому MTA будет пытаться подключиться к MTA получателя.

После первичной настройки запускаем Postfix и прописываем его в автозагрузку:

Чтобы перечитать конфиг Postfix после его редактирования, пригодятся такие команды:

После этого Postfix готов к тестированию. Отправим почтовое сообщение самому себе на e-mail myemail@example.com и посмотрим логи Postfix:

Если в журнале присутствует такая строчка со статусом «status=bounced«, значит e-mail отклонен сервером получателя. Причину ищите в этой же строке журнала чуть дальше:

Если же в журнале «status=sent«, значит e-mail принят сервером получателя и будет скорее всего доставлен по назначению:

Но даже если письмо принято получателем, оно может быть (точнее скорее всего) будет автоматически перемещено в папку «Спам». Как с этим бороться — читайте ниже.

Дополнительные настройки для работы почтового сервера

Настройка Hostname сервера

Посмотреть, как называется сервер можно такой командой:

Если название отличается от необходимого или не установлено, тогда записать hostname для сервера:

Обратите внимание, что hostname сервера не равно домену сервера! Если полный домен сервера: «server.example.com», то hostname сервера — это «server».

Настройка PTR (Reverse DNS)

В настройках домена прописываются A-записи, которые связывают домен с IP-адресом(ами) сервера. Reverse DNS — это обратное действие, которое связывает IP-адрес с доменом.

Сервер-отправитель письма указывает в параметре HELO (EHLO) свой домен, например server.example.com, а сервер получателя делает специальный whois-запрос, чтобы проверить, какой домен записан для IP сервера отправителя. Если домен, указанный для IP и в заголовке HELO (EHLO) не совпадают, то с большой долей вероятности письмо будет или отклонено, или перемещено в папку Спам.

Прописать Reverse DNS может только владелец IP-адреса, который назначен серверу — это скорее всего хостинг, где размещен сервер или VPS. Если сервис расположен в квартире/офисе, то по вопросу указания PTR стоит обратиться к интернет-провайдеру.

Не нужно путать владельца IP-адреса и регистратора для доменов — это, обычно, разные компании. Но если вы разместили свой сервер и зарегистрировали домен у одного и того же провайдера, то тогда по вопросу изменения Reverse DNS следует обращаться к одной и той же компании.

Проверить домен, присвоенный PTR, можно утилитой командной строки dig: $ dig -x 5.6.7.8 или используя различные онлайн-сервисы.

Настройка DNS доменного имени почтового сервера

В панели управления регистратора домена example.com поддомен для сервера (server) конфигирируется, обычно, в разделе «Настройка DNS«:

В третьей строке указывается SPF-запись для поддомена. SPF используется почтовым сервером-получателем для проверки: разрешено ли владельцем домена отправка писем с IP, с которого пришло в действительности письмо? Параметры SPF «+a +mx -all» указывают, что письма могут отправлять только те IP, которые прописаны в A и MX записях домена, а со всех остальных IP принимать почту запрещено.

Проверка влияния настроек PTR и DNS на отправляемые e-mail

После изменения настроек DNS необходимо подождать какое-то время, для того, чтобы они обновились на всех DNS серверах. Иногда это может затянуться до одних суток.

Отправляем тестовое письмо на свой e-mail и смотрим журнал:

Если «status» отправки e-mail Postfix равен «sent», значит письмо было получено сервером принимающей стороны. Следует проверить, не попало ли оно в спам, и если нет — значит большая часть работы по настройке Postfix выполнена успешно. Но остается еще один важный момент, требующий настройки: шифрование письма.

По умолчанию, Postfix, да и, наверное, все другие MTA, отправляет письма в открытом не зашифрованном виде. Это сравнимо с просмотром web-страниц по небезопасному протоколу HTTP, вместо HTTPS. В этом случае, например, в интерфейсе Gmail, напротив получателя будет отображаться красный перечеркнутый замок, означающий, что сообщение не зашифровано. Но самое печальное, что если в письме будут какие-либо конфиденциальные данные, их смогут без проблем прочитать все, через кого проходит трафик, что очень и очень не безопасно.

Добавить шифрование в Postfix для отправляемых писем — весьма просто, инструкция расположена ниже.

TLS-шифрование отправляемых писем в Postfix

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

На все вопросы, кроме указания Common Name, можно отвечать на свое усмотрение, Common Name сертификата должно совпадать с именем сервера (в этой конфигурации — server.example.com). Этой командой будет создан сертификат со сроком действия 50 лет.

Далее нужно внести изменения в главный файл конфигурации Postfix (/etc/postfix/main.cf), а точнее, просто добавить строки, опубликованные ниже в конец файла:

Краткое описание настроек для шифрования исходящих писем:

  • tls_random_source — ссылка на генератор случайных чисел;
  • smtp_use_tls — оповещение клиентов о наличии TLS-шифрования;
  • smtp_tls_note_starttls_offer — записывать в журнал имена серверов, у которых поддержка TLS не включена (ответ STARTTLS);
  • smtpd_tls_auth_only — применять SMTP-аутентификацию только для соединений с использованием TLS;
  • smtpd_tls_key_file — закрытый ключ сервера;
  • smtpd_tls_cafile — сертификат;
  • smtpd_tls_cert_file — сертификат;
  • smtpd_tls_received_header — запрос на получение данных про алгоритм шифрования и версию протокола;
  • smtpd_tls_session_cache_timeout — данные в кэше TLS-сессии считаются актуальными в указанном периоде (сек);
  • smtpd_tls_loglevel — на сколько подробно записывать сообщения в журнал;
  • smtpd_use_tls — оповестить об использовании TLS;

Источник

Настраиваем SMTP сервер на CentOS 7

Обработка почты является важной задачей, которая должна выполняться на многих серверах Linux, независимо от того, какую конкретную услугу они предоставляют. Во многих случаях этим службам часто нужно отправлять почту. Вот почему вам необходимо настроить сервер для пересылки почты на центральный почтовый сервер. В этой статье вы узнаете, как это сделать.

Основы email

Н астройкае среды для обработки электронной почты помогает понять, что там происходит. В этом разделе вы узнаете о различных ролях, которые могут иметь участники процесса электронной почты. Вы также о процессе передачи электронной почты.

Понимание ролей в обработке почты

В обработке почты участники могут иметь разные роли:

MTA (message transfer agent): MTA является агентом передачи сообщений. Это часть почтового решения, которая доставляет сообщения с почтового сервера на почтовый сервер. MTA использует SMTP-протокол для отправки сообщений на другие серверы в Интернете. Чтобы найти сервер, который должен использоваться для этой цели, используется MX-запись в DNS. Основное общение по электронной почте в Интернете происходит только между серверами MTA.

MDA (message delivery agent): когда MTA получает сообщение, предназначенное для одного из локальных пользователей, оно передается агенту доставки сообщений (MDA). Конечная цель MDA — доставить сообщение в почтовый ящик пользователя; Для этой цели могут использоваться разные программы. Если ничего не настроено, сообщение доставляется в почтовый ящик пользователя Linux, который существует локально на сервере, куда поступает почта. В RHEL или CentOS расположение по умолчанию для этого MDA — /var/spool/mail/$USER.

MUA (mail user agent): когда пользователь хочет отправить или прочитать почту, используется почтовый пользовательский агент (MUA). Обычно это программа, которую использует пользователь, например, почтовый клиент командной строки; текстовый пользовательский интерфейс, например Mutt, Pine или Elm; или графический клиент Evolution или Thunderbird.

Другая важная для понимания роль — это машина, на которой запущен нулевой клиент.
Такая машина не способна принимать какие-либо сообщения, но у нее есть вся конфигурация, необходимая для отправки почтовых сообщений другим хостам. Типичная рабочая станция конечного пользователя будет настроена как нулевой клиент. На нулевых клиентах это обычно происходит с использованием узла ретрансляции (relay host).

Процесс передачи электронной почты

На каждом сервере по умолчанию запущен процесс почтового сервера. Этот процесс запускается почтовым сервером Postfix. В конфигурации по умолчанию этот процесс почтового сервера может отправлять сообщения на другие почтовые серверы в Интернете при условии, что конфигурация DNS для домена почтового сервера правильная.

Обычно, если IP-адрес почтового сервера может быть преобразован обратно в доменное имя, в котором находится почтовый сервер, почтовый сервер может отправлять сообщения другим MTA в Интернете. Однако почтовый сервер по умолчанию не может получать сообщения.

Чтобы отправить электронное письмо, клиентское приложение (такое как Mutt или Evolution) связывается с сервером исходящей почты. Этот почтовый сервер ретранслирует хост в конечный пункт назначения. Для этого почтовый сервер просматривает файл /etc/nsswitch.conf, чтобы увидеть, где он должен искать в первую очередь поиск имени. Затем он использует файл /etc/hosts или DNS для поиска записи MX для домена, на который отправляется сообщение. Например, если вы отправите мне электронное письмо по адресу mail@max-ko.ru, ваш MTA найдет запись MX max-ko.ru. Эта запись MX определяет правильный почтовый сервер, и если целевой почтовый сервер настроен для приема входящих сообщений, он доставляет сообщение в почтовый ящик конечного пользователя.

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

Почтовый сервер получателя по умолчанию доставляет сообщение в почтовый ящик пользователя получателя, который находится в /var/spool/mail/$ USER. Если получатель является пользователем, к сообщению можно получить доступ с помощью клиента командной строки, такого как Mutt, или вы даже можете просмотреть содержимое файла с помощью средства просмотра текстовых файлов. Например cat /var/spool/mail/user, чтобы увидеть, есть ли почта для пользователя user в спуле.

Во многих почтовых решениях клиент не имеет доступа к облочке на сервере, которая обрабатывает входящую почту, поэтому для этого используется дополнительная служба. Как правило, службы Dovecot или Cyrus предоставляют пользователям доступ к почтовым ящикам и добавляют такие функции, как загрузка сообщений с использованием Post Office Protocol (POP) или доступ к почтовым ящикам через Internet Message Access Protocol (IMAP).

Рисунок 1 иллюстрирует, что происходит во время процесса электронной почты.
На рисунке пользователь консоли на сервере server1.example.com хочет отправить сообщение на user2@example.org. Чтобы доставить это сообщение, выполняются следующие шаги:

  1. user1@server1.example.com использует почтовый клиент для написания сообщения.
  2. userо тправляет сообщение, которое затем обрабатывается локальным процессом Postfix.
  3. Локальный процесс Postfix настроен как нулевой клиент и передает сообщение smtp.example.com, который действует как узел ретрансляции.
  4. smtp.example.com выполняет поиск MX-записей в DNS, чтобы определить, что server2.example.org настроен для обработки входящей почты, например, example.org.
  5. Сообщение пересылается на server2.example.org.
  6. server2.example.org доставляет сообщение в локальный почтовый ящик пользователя, который находится в /var/spool/mail/$ USER.
  7. user использует MUA, который настроен на использование IMAP для извлечения сообщения из локального почтового ящика.

Решения для почтовых серверов

В Linux доступны различные решения для почтовых серверов. В прошлом почтовый сервис Sendmail был самым распространенным почтовым сервером Linux. Он был сложным, и использовал синтаксис, который было трудно понять. Хоть это было и сложно, Sendmail стал стандартом для обработки почты в Linux. Postfix был разработан для совместимости с Sendmail, но проще в настройке.

Postfix используется в качестве почтового сервиса. Postfix состоит из различных процессов, каждый из которых решает конкретные задачи. Процессы управляются главной службой Postfix, которая читает файл конфигурации /etc/postfix/master.cf, чтобы узнать, какие службы используются для конкретных задач. Такой подход делает Postfix модульным и подключаемым; при необходимости легко заменить один конкретный сервис другим сервисом.

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

Процесс Цель
master Процесс, который контролирует все другие процессы Postfix.
smtp Отвечает за SMTP связь между хостами Postfix.
pickup Получает сообщения после того, как они были помещены в очередь сообщений.
cleanup Очищает очередь сообщений после доставки сообщения.
rewrite Если для перезаписи частей заголовка сообщения используются postfix maps, процесс перезаписи позаботится об этом.
sendmail Стандартная программа, используемая для отправки сообщений и реализованная в Postfix.
qmgr Общий процесс, который управляет содержимым очереди сообщений.

Листинг 1.Частичное перечисление файла конфигурации /etc/postfix/master.cf

Конфигурирование Postfix

Чтобы настроить Postfix, вам нужно изменить соответствующие параметры.

Все параметры Postfix находятся в файле конфигурации /etc/postfix/main.cf. Проблема состоит в том, что этот файл содержит много параметров, которые позволяют вам настраивать Postfix для множества различных вариантов использования.

Параметры Postfix можно настроить с помощью команды postconf, а в качестве альтернативы их можно изменить непосредственно в файле конфигурации /etc/postfix/main.cf. В следующих подразделах вы узнаете, какие параметры важны и как их использовать для настройки Postfix для ретрансляции почты.

При работе с параметрами Postfix рекомендуется использовать команду postconf. Файл /etc/postfix/main.cf может содержать много строк, в результате чего параметры легко пропустить. Использование команды postconf позволяет избежать ошибок.

Для начала вы можете использовать команду postconf без каких-либо опций, которая показывает список всех действующих на данный момент настроек (включая настройки по умолчанию, не видимые в main.cf). grep позволяет вам легко найти аргумент, который вам нужно изменить.

Если после команды postconf следует имя определенного параметра, этот конкретный параметр будет показан. Чтобы изменить параметры postconf, вы можете использовать опцию -e, за которой следует параметр и его предполагаемое значение. Используйте, например, postconf -e ‘inet_protocols = ipv4’, чтобы установить значение параметра inet_protocols в ipv4. В листинге 2 показан частичный вывод команды postconf.

Понимание основных параметров

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

Параметр Для чего используется
inet_interfaces Интерфейс (ы), на котором сервис Postfix будет предлагать услуги. По умолчанию установлен как loopback only! Установите значение all, чтобы Postfix прослушивал все сетевые интерфейсы.
myorigin Добавляется к адресу отправителя или получателя, если он указан не полностью, например root. Если значение myorigin не задано, то по умолчанию будет подставляться значение $myhostname, например короткий адрес root превратится в root@mail.example.com.
relayhost Указывает, на какой центральный почтовый сервер пересылать сообщения.
mydestination Домены, обрабатываемые этим сервером. Почта, адресованная домену, не указанному в mydestination, отклоняется.
local_transport Указывает, что использовать для локальной доставки почты. На серверах, которые не обрабатывают прием почты, установите «error: local delivery disabled.».
inet_protocols Указывает, какой протокол использовать для предоставления услуг. По умолчанию используется IPv6, если он доступен. Установите ipv4, чтобы упростить настройку.
mynetworks Список сетей, разделенные пробелами, которым разрешено передавать.

Первый параметр, который нужно рассмотреть, это inet_interfaces. По умолчанию он в режиме loopback only. В этом нет ничего плохого, если ваш почтовый сервер должен отправлять только исходящую почту (что обычно имеет место, если Postfix работает на компьютере с ролью нулевого клиента), но если вы хотите настроить свой сервер для приема электронной почты, вы должны указать IP-адрес или адреса, которые будет прослушивать ваш процесс Postfix, к примеру inet_interfaces = 10.0.0.1, localhost.

Параметр myorigin используется для перезаписи источника сообщения. Если пользователь user на server1.example.com отправляет сообщение, настройка по умолчанию заставляет сообщение выглядеть как user@server1.example.com. Обычно часть адреса хоста пропускается в адресе получателя , так что сообщение приходит с user@example.com. (Получателям электронной почты, как правило, не важно, с какого сервера было отправлено сообщение.) Для этого используются переменные. Для параметра myorigin по умолчанию установлено значение $myhostname. Измените его на $mydomain, чтобы доменная часть отображалась только в заголовке сообщения.

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

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

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

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

Параметр local_transport также предназначен для получения почтовых серверов. Его можно использовать для указания имени локального адресата для дальнейшей обработки сообщений. Вы можете использовать его, например, для обработки сообщений спам-фильтром перед их доставкой в почтовый ящик пользователя.

Параметр inet_protocols важен, если вы настраиваете свою собственную тестовую среду. По умолчанию Postfix использует IPv6. Это означает, что поиск DNS для имен хостов которые используются (например, relayhost) также выполняются через IPv6. Если у вас есть DNS-сервер, который не был настроен для IPv6, доставка электронной почты не удастся. Простым решением этой проблемы является использование только IPv4. Для этого обязательно установите inet_protocols = ipv4. Если ваш почтовый сервер используется в среде, где DNS доступен и настроен для обработки IPv4, а также трафика IPv6, вам не нужно изменять этот параметр.

Наконец, параметр mynetworks используется для указания списка IP-адресов и сетей, разделенных запятыми, которым разрешено передавать сообщения на ваш сервер. Это базовая защита от злоупотреблений, когда в фиксированной сети будут приниматься только узлы в их собственной сети, а сообщения от всех остальных не будут обрабатываться.

Хотя использование этого параметра повышает безопасность вашего сервера, он не облегчает работу мобильных пользователей. Пользователи, которые будут подключаться к неизвестным сетям WiFi, должны будут использовать почтовый сервер, который предоставляется в этой конкретной сети WiFi, потому что ваш почтовый сервер их отклонит. Если вы хотите использовать этот параметр для усиления безопасности, вы можете рассмотреть возможность использования VPN, который гарантирует, что пользователи всегда будут подключаться из знакомых сетей.


Настройка Postfix для пересылки почты

Чтобы настроить параметры почтового сервера, которые вы хотите использовать, вы можете либо отредактировать содержимое /etc/postfix/main.cf напрямую, либо использовать команду postconf. Если используется без каких-либо аргументов, команда postconf выводит список всех (816 шт.) параметров конфигурации, которые использует Postfix. Если вы используете grep, вы легко найдете параметр, который необходимо изменить. Вы также можете использовать postconf для изменения настроек, используя параметр -e, за которым следует настройка, которую вы хотите изменить. Упражнение 1 показывает, как это сделать.

Упражнение 1.Изменение параметров Postfix с помощью postconf

  1. На сервере server1 войдите под рутом и введите postconf. Вы увидите длинный список всех настроек Postfix.
  2. Введите postconf myorigin. Команда покажет текущее значение настройки myorigin.
  3. Введите postconf mydomain, чтобы проверить текущее значение параметра mydomain.
  4. Введите postconf -e ‘myorigin = $mydomain’, чтобы изменить значение параметра myorigin.
  5. Повторите команду postconf myorigin. Обратите внимание, что пока ничего не изменилось.
  6. Введите postfix check. Команда проверяет содержимое файла /etc/postfix/main.cf и предупреждает, если с ним что-то не так (всегда хороший выбор перед началом использования новой конфигурации).
  7. Перезагрузите Postfix systemctl reload postfix и повторите шаг 5. Вы увидите, что настройка была изменена.
  8. Введите postconf -n. Команда покажет все параметры с параметром, который отличается от значения по умолчанию.

Теперь, когда вы знаете, как изменять настройки в Postfix, давайте посмотрим, как настроить Postfix в так называемой конфигурации нулевого клиента. Как объяснялось ранее, это конфигурация, в которой пользователи могут запускать почтовые клиенты на нулевом клиенте, а нулевой клиент настроен для пересылки сообщений электронной почты на узел ретрансляции, но локальная служба Postfix не принимает входящую почту. В упражнении 2 вы настроите сервер server1 как нулевой клиент, а server2 как сервер, принимающий входящие сообщения.

Упражнение 2. Настройка нулевого клиента Postfix.

Обратите внимание, что в этом упражнении вы настраиваете два сервера. Задачи, которые вы выполняете на сервере server1, показывают, как настроить нулевого клиента. На server2 вы настраиваете почтовый сервер, который принимает входящие сообщения.

Для выполнения этого упражнения вам необходимо использовать службы DNS.

1. Войдите под рутом на server1.

2. Убедитесь, что вы можете резолвить server2, используя host server2.

3. Введите postconf -e ‘relayhost = [server2.example.com]’ для ретрансляции сообщений на server2.

4. Убедитесь, что ваш сервер может ретранслировать только те сообщения, которые отправляются с этого сервера, используя postconf -e ‘inet_interfaces=loopback-only’.

5. Введите postconf mynetworks, чтобы убедиться, что будут приниматься только сообщения, полученные с IP-адреса loopback.
6. Введите postconf -e ‘mydestination=’. Этот параметр гарантирует, что Postfix на server1 не имеет назначений.

7. Отключите IPv6, используя postconf -e ‘inet_protocols = ipv4’.

8. Введите postconf -e «mydomain = example.com», чтобы изменить источник каждого отправляемого сообщения.

9. Введите systemctl reload postfix, чтобы перезапустить сервер Postfix на сервере server1.

10. На сервере server2 используйте следующие команды, чтобы сервер мог получать сообщения, которые передаются сервером server1:

11. На server2 введите firewall-cmd —add-service smtp —permanent, а затем firewall-cmd —reload, чтобы добавить службу SMTP в файрвол.

Проверка конфигурации

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

■ На отправляющем почтовом сервере введите tail -f /var/log/maillog, чтобы посмотреть, что случилось с вашим сообщением. В листинге 2 показаны соответствующие строки из файла /var/log/ maillog, четко указывающие на то, что сообщение было успешно отправлено после попытки подключения к серверу, который не был доступен.

■ На отправляющем почтовом сервере введите postqueue -p, чтобы отобразить сообщения, все еще ожидающие доставки. Эта команда обычно показывает результаты, если у процесса Postfix на этом сервере возникла проблема с отправкой сообщений.

■ Если вы считаете, что исправили проблемы, на отправляющем почтовом сервере введите postqueue -f, чтобы очистить почтовую очередь. Это заставит Postfix немедленно отправлять все сообщения, все еще ожидающие в очереди. Сообщения, которые застряли в почтовой очереди, отправляются в конце концов, но в соответствии с настройками почтового сервера это может занять много времени. Таким образом, при анализе потока почты на вашем сервере имеет смысл немного помочь этому процессу.

■ На получающем почтовом сервере прочитайте /var/log/maillog. Если сообщение не может быть доставлено в целевой почтовый ящик, в этом журнале вы найдете объяснение, почему оно не может быть отправлено.

В упражнении 3 вы создадите небольшую проблему в доставке электронной почты, которая позволит применить некоторые решения для устранения неполадок.

1. На server2 введите firewall-cmd —remove-service smtp —permanent, а затем firewall-cmd —reload.

Источник

Читайте также:  Не работает вентилятор печки дэу сенс
Оцените статью