Postfix null client
Содержание
Конфигурирование 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 ~]#