Для корректной работы любого почтового сервера нам понадобится синхронизация со службой точного времени. Для этого занесем в /etc/crontab строку:

 15 14  * * *  root	ntpdate  0.pool.ntp.org

Еще одно условие корректной работы сервера это правильное днс имя и правильное значение hostname, в нашей конфигурации будет использовано имя сервера mx.mkm.local и и домен mkm.local. Для переименования хоста добавимм /etc/hosts строку

172.16.0.211    mx.mkm.local mx

и в файл /etc/sysconfig/network

 HOSTNAME=mx2.mkm.local

Проверим вывод hostname он долден совпадать с указанным нами значением.

Приступим непосредственно к установке postfix.

yum install postfix

Откроем файл /etc/postfix/main.cf

изменим указанные опции:

myhostname = mx.mkm.local # имя хоста.

mydomain = mkm.local # имя домена 

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain # домены и узлы для которых принимается почта

myorigin = $mydomain #будет дописываться к не fqdn адресу отправителя .

mynetworks_style = subnet # postfix будет считать доверенной подсеть в которой лежит его интерфейс .

mynetworks = 172.16.0.0/24, 127.0.0.0/8 # список явно указанных доверенных сетей. 

inet_interfaces = all # интерфейсы которые слушает postfix. 

  

Для того чтобы не подключаться к серверу пользователем root для получения root-овой почты, нужно ее перенаправить на другой почтовый ящик. Для этого воспользуемся алиасами. Откроем файл /etc/aliases, где он лежит и как называется можно посмотреть в main.cf параметр

alias_database = hash:/etc/aliases 

в файле укажем

 root:   admin 
 

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

 postalias hash:/etc/aliases

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

далее воспользовавшись программой mail отgравим письмо пользователю root и убедимся что оно придет пользователю admin.

отправка:

 mail root@mkm.local 
 Subject: test2
 privet 
 .
 EOT

проверка доставки:

cat /var/spool/mail/admin 
From root@mkm.local  Mon Jul 29 15:22:14 2013
Return-Path: <root@mkm.local>
X-Original-To: root@mkm.local
Delivered-To: root@mkm.local
Received: by mx.mkm.local (Postfix, from userid 0)
	id D55DB2058A; Mon, 29 Jul 2013 15:22:14 +0400 (MSK)
Date: Mon, 29 Jul 2013 15:22:14 +0400
To: root@mkm.local
Subject: test3 
User-Agent: Heirloom mailx 12.4 7/29/08
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-Id: <20130729112214.D55DB2058A@mx.mkm.local>
From: root@mkm.local (root)

test3

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

Предварительно настроем фаервол на прием подключений по 25 tcp порту.

  telnet 172.16.0.211 
  Connected to 172.16.0.211.
  Escape character is '^]'.
  220 mx.mkm.local ESMTP Postfix
  helo 172.16.0.72
  250 mx.mkm.local
  mail from: <admin@blspb.com>
  250 2.1.0 Ok
  rcpt to: <root@mkm.local> 
  250 2.1.5 Ok
  data 
  354 End data with <CR><LF>.<CR><LF>
  telnet test 
  .
  

Для борьбы со спамом и несанкционированное отправкой почты через ваш сервер postfix использует специальные триггеры ограничений:

  
  smtpd_client_restrictions 
  примиенимо к ip адресу или имени хоста клиента.
  
  smtpd_helo_restrictions 
  Применим к аргументу HELO/EHLO, имени хоста и ip клиента.
  
  smtpd_sender_restrictions 
  Применим к ограничения применимые к отправителю 
  
  smtpd_recipient_restrictions
  Применим к отправителю, ПОЛУЧАТЕЛЮ, helo/ehlo аргументу, по умолчанию postfix разрешает отправку для любых получателей из сети определенной в mynetworks. 
  
  smtpd_data_restrictions 
  ограничения применяемые к телу сообщения.
  
  smtpd_etrn_restrictions
  ограничивает клиенты которые запрашивают очистку очередь сообщений. 
   
  

Типы ограничений используемые в postfix

permit разрешить запрос 


defer отложить запрос 

reject отвергнуть запрос

warn_if_reject пишет в лог что запрос отвергнут, но не отвергает его, используется для диагностики и настроики

reject_unauth_pipelining отвергает если клиент передает smtp команды реньше чем удостоверится в том что smtp команды поддерживаются. Спамеры часто так поступают для ускорения рассылки
DokuWiki Appliance - Powered by TurnKey Linux