Преимущества использования Postfix
Почтовый сервер Postfix изначально разрабатывался Витсом Венемой (Wietse Venema) для достижения высоких показателей производительности при условии обеспечения надежности и безопасности работы. Его безусловным
преимуществом перед Sendmail является простота и ясность конфигурирова- ния. При этом Postfix обеспечивает практически полное перекрытие возмож- ностей Sendmail.
Файлы конфигурации Postfix содержат множество комментариев, значитель- но облегчающих настройку. Для запуска Postfix в базовой конфигурации обычно достаточно поменять всего лишь три-четыре параметра.
В процессе работы Postfix запускает несколько процессов, управляемых про- цессом master. Эти процессы работают от имени непривилегированных пользователей.
Большинство внешних программ, рассчитанных на непосредственный запуск процесса sendmail, способно работать с Postfix, т. к. пакет Postfix предостав- ляет собственную программу sendmail.
В системе Postfix запускается главный процесс master, работающий с права- ми root. Он по необходимости запускает демоны Postfix, выполняющие всю работу почтовой системы. Поведение процесса master задается файлом
/etc/postfix/master.cf. Процесс master играет роль супервизора, запуская и ос- танавливая дочерние процессы, необходимые для работы Postfix. Он работа- ет все время, пока функционирует Postfix.
Входящая почта помещается во входную очередь (incoming queue). Если кли- ент использует протокол SMTP, то за прием сообщения отвечает демон smtpd. Сообщение, принятое smtpd, подвергается предварительной проверке и передается демону cleanup.
Локальные сообщения, переданные командой sendmail, поставляющейся для совместимости с Sendmail, размещаются в очереди maildrop с помощью при- вилегированной команды postdrop.
Из очереди maildrop сообщения извлекаются демоном pickup. Он выполняет проверку сообщения для защиты Postfix и передает сообщение демону cleanup.
Все сообщения из локальных источников направляются непосредственно де- мону cleanup. К локальным источникам относятся:
r сообщения, связанные с работой самого Postfix;
r сообщения, исходящие от локального доставочного агента local;
r сообщения, возвращаемые источнику с помощью программы bounce.
Сервер cleanup при необходимости приводит в порядок заголовок сообще- ния. Он способен выполнять преобразование адресов, а также может осуще- ствлять несложную фильтрацию сообщений по регулярным сообщениям.
Преобразование адресов выполняется с помощью сервера trivial-rewrite. В результате работы сервера cleanup сообщение помещается в очередь incoming, и сервер cleanup информирует менеджер очереди о появлении но- вого сообщения.
Менеджер qmgr, обслуживающий очередь сообщений, является главной со- ставной частью системы доставки сообщений. Для доставки сообщений ме- неджер qmgr взаимодействует со следующими программами:
r smtp — клиент SMTP для передачи почты;
r lmtp — клиент LMTP локальной сетевой доставки (см. RFC 2033);
r local — локальный агент доставки, способный записывать сообщение в файл или передавать команде;
r virtual — агент для виртуального хостинга;
r pipe — для доставки сообщения внешней команде;
r discard — для отбрасывания писем или возврата их в очередь для повто- рения попыток доставки в будущем;
r error — для отбрасывания писем без попытки отправки.
Менеджер qmgr использует небольшую собственную очередь active, в кото- рой размещаются обрабатываемые письма из очереди incomeing. Имеется также очередь deferred, в которой менеджер очереди размещает сообщения, которые не могут быть доставлены.
Для обрабатываемых менеджером очереди писем с помощью программы trivial-rewrite проверяются адреса получателей. При этом может быть ис- пользована таблица transport, определяющая маршруты доставки сообще- ний, и таблица relocated для пользователей с изменившимися почтовыми адресами.
Клиент smtp пытается доставить исходящую почту с помощью протокола SMTP. Клиент lmtp доставляет локальную почту таким программам, как Cyrus IMAP, с помощью протокола LMTP. Агент доставки local способен доставлять почту в локальные почтовые ящики. Он может быть сконфигури- рован для разнообразных форматов почтовых ящиков. Агент локальной дос- тавки virtual предназначен для поддержки виртуального хостинга и спосо- бен записывать сообщения в локальные почтовые ящики в формате mailbox и qmail maildir.
Программа anvil обеспечивает контроль количества сессий и запросов к smtpd.
Серверы bounce, defer и trace обслуживают собственные журналы о до- ставке или не доставке для каждого сообщения. Сервер trace выводит ин-
формацию о том, как Postfix обрабатывает почту подобно sendmail -bv
и sendmail -v.
Сервер flush позволяет производить срочную доставку почты с помощью ETRN (fast flush). Он ведет индивидуальные журналы для каждого отправляе- мого сообщения.
Специальный сервис поиска proxymap обеспечивает поиск в различных кон- фигурационных таблицах без возможности их изменения.
Применяется для решения проблем, связанных с запуском Postfix с подменой корневого каталога (в chrooted environment), а также для консолидации мно- жественных процедур поиска, требуемых разнообразным процессам Postfix.
Использование сервера scache значительно повышает производительность Postfix в отправке почты, т. к. он кэширует соединения с внешними SMTP- серверами, передавая их клиентским процессам smtp. Производительность повышается, в том числе и оттого, что при использовании кэширования со- единений имеется возможность пропускать неотвечающие серверы, переда- вая клиентам smtp соединения с готовыми к работе серверами.
Программа showq предназначена для получения информации о статусе очере- дей Postfix, что необходимо для работы команд mailq и postqueue.
Сервер spawn запускает внешнюю для Postfix программу с клиентом, соеди- ненным посредством сокета или канала с потоками ввода/вывода внешней программы.
Команда postfix предназначена для выполнения административных задач: старта, останова Postfix и т. п.
Системная команда sendmail, поставляющаяся с Postfix, предназначена для обеспечения совместимости с программами, обращающимися к Sendmail с помощью его прямого вызова.
Команда mailq позволяет выводить список сообщений в очереди. То же са- мое делает команда postqueue -p.
Команда postqueue -f "выталкивает" сообщения из очереди, пытаясь вы- полнить их немедленную доставку.
Для совместимости с Sendmail в пакете Postfix поставляется утилита newaliases, индексирующая файл /etc/aliases. Команда postalias выполняет те же функции, предоставляя также и дополнительные возможности.
Утилита postcat предназначена для просмотра файлов внутри очередей
Postfix.
Команда postconf позволяет отображать и изменять параметры конфигура- ции Postfix (из main.cf). Также она выводит информацию о поддерживаемых в системе типах блокировок и типах таблиц поиска.
Программа postdrop вызывается Postfix-командой sendmail для помещения сообщения в очередь maildrop.
Программа postkick создает внутренние каналы связи для использования, например, в сценариях оболочки.
Команда postlog обеспечивает Postfix-совместимое журналирование.
Программа postmap предназначена для поддержки таблиц отображений. На- пример, для поддержки таблиц canonical и virtual. Она обеспечивает ана- логичную функциональность с командой makemap.
Программа postsuper обслуживает очереди Postfix, удаляя ненужные вре- менные файлы из них. При изменении структуры каталогов очередей эта программа перемещает файлы в очередях в правильные каталоги, соответст- вующие новой структуре. Она запускается при запуске Postfix.
Дата добавления: 2015-06-12; просмотров: 1096;