Postfix null client — различия между версиями
Andy (обсуждение | вклад) (→Общая информация и терминология) |
Andy (обсуждение | вклад) (→Настройка почтового сервера Postfix) |
||
| Строка 54: | Строка 54: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
[root@vm-02 ~]# postconf -e 'mynetworks = 127.0.0.1 [::1]/128' | [root@vm-02 ~]# postconf -e 'mynetworks = 127.0.0.1 [::1]/128' | ||
| + | </syntaxhighlight> | ||
| + | При помощи команды <code>postconf -n</code> можно посмотреть директивы которые определены в конфигурационном файле <code>/etc/postfix/main.cf</code>: | ||
| + | <syntaxhighlight lang="bash"> | ||
| + | [root@vm-02 ~]# postconf -n | ||
| + | alias_database = hash:/etc/aliases | ||
| + | alias_maps = hash:/etc/aliases | ||
| + | command_directory = /usr/sbin | ||
| + | config_directory = /etc/postfix | ||
| + | daemon_directory = /usr/libexec/postfix | ||
| + | data_directory = /var/lib/postfix | ||
| + | debug_peer_level = 2 | ||
| + | debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5 | ||
| + | html_directory = no | ||
| + | inet_interfaces = loopback-only | ||
| + | inet_protocols = all | ||
| + | local_transport = error: local delivery disabled | ||
| + | mail_owner = postfix | ||
| + | mailq_path = /usr/bin/mailq.postfix | ||
| + | manpage_directory = /usr/share/man | ||
| + | mydestination = | ||
| + | mynetworks = 127.0.0.1 [::1]/128 | ||
| + | myorigin = vm-02.example.com | ||
| + | newaliases_path = /usr/bin/newaliases.postfix | ||
| + | queue_directory = /var/spool/postfix | ||
| + | readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES | ||
| + | relayhost = [vm-01.example.com] | ||
| + | sample_directory = /usr/share/doc/postfix-2.10.1/samples | ||
| + | sendmail_path = /usr/sbin/sendmail.postfix | ||
| + | setgid_group = postdrop | ||
| + | unknown_local_recipient_reject_code = 550 | ||
| + | [root@vm-02 ~]# | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Версия 09:34, 2 февраля 2018
Содержание
Конфигурирование Postfix как null client
Предварительные требования
- Виртуальная машина с двумя сетевыми интерфейсами
- Установленные пакеты:
bash-completion,policycoreutils,policycoreutils-python,policycoreutils-devel,setroubleshoot-server,postfix,mailx,mutt
Общая информация и терминология
null client - это машина которая может только отправлять почту. Машина только пересылает всю почту на другой почтовый релей,
который и занимается дальнейшей доставкой. Сама же машина не получает почту по сети и не занимается ее доставкой локальной почты. Обычно
null client использует протоколы POP или IMAP для доступа к почтовым ящикам.
| Параметр | Значение |
|---|---|
| inet_interfaces | Параметр указывает на какой интерфейс почтовой системы будут приходить письма. По-умолчанию слушается только localhost
|
| myorigin | Параметр указывает на домен из которого исходит почтовое сообщение. Часто используется для исключения конкретной машины, из адреса отправителя. |
| relayhost | Параметр указывает на сервер, на который пересылается исходящая почта. Если параметр указан в квадратных скобках [], то поиск MX записи в DNS не производится
|
| mydestination | Параметр указывает на список доменов, для которых данная машина является конечным адресатом. Письма адресованные данным доменам доставляются локально. Письма адресованные доменам не входящим в список - отвергаются |
| local_transport | Параметр указывает на то, как письма адресованные доменам из списка $mydestination должны доставляться. Для серверов которые не должны получать локальную почту вообще выставляется в значение "error: сообщение об ошибке". Рекомендуется выставлять в error: local delivery disabled.
|
| mynetworks | Параметр указывает на список сетей, разделяемый пробелом и/или запятой которым разрешается отправлять почту без прохождения дальнейшей аутентикации. |
Настройка почтового сервера Postfix
Производится двумя путями - непосредственным редактированием конфигурационного файла /etc/postfix/main.cf, либо применением утилиты postconf c ключом -e,
которая позволяет вводить значения из командной строки. В литературе для подготовки к экзаменам почему-то рекомендуют второй метод, поэтому будем использовать утилиту:
- Указываем на какой интерфейс будут приходить письма
[root@vm-02 ~]# postconf -e 'inet_interfaces = loopback-only'- Указываем домен исходящих сообщений
[root@vm-02 ~]# postconf -e 'myorigin = vm-02.example.com'- Указываем сервер, на который будем пересылать почту
[root@vm-02 ~]# postconf -e 'relayhost = [vm-01.example.com]'- Указываем список доменов являющихся конечным адресатом
[root@vm-02 ~]# postconf -e 'mydestination = '- Выставляем сообщение об ошибке
[root@vm-02 ~]# postconf -e 'local_transport = error: local delivery disabled'- Указываем список сетей, откуда можно отправлять почту
[root@vm-02 ~]# postconf -e 'mynetworks = 127.0.0.1 [::1]/128'При помощи команды postconf -n можно посмотреть директивы которые определены в конфигурационном файле /etc/postfix/main.cf:
[root@vm-02 ~]# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
html_directory = no
inet_interfaces = loopback-only
inet_protocols = all
local_transport = error: local delivery disabled
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination =
mynetworks = 127.0.0.1 [::1]/128
myorigin = vm-02.example.com
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
relayhost = [vm-01.example.com]
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
unknown_local_recipient_reject_code = 550
[root@vm-02 ~]#