Настройка почтового сервера Postfix

Настройка почтового сервера Postfix

Я кратко расскажу как настроить   почтовый сервер (Postfix) для небольшой локальной сети. Почтовый сервер будет работать по протоколу SMTP и будет принимать и отправлять почтовые сообщения, раскладывать принятые сообщения по  ящикам юзеров который будет работать по протоколу POP3, для чего необходимо  будет поставить сервер popd. Шифрования я юзать не буду.

Для того чтобы входить в сервис Postfix нужно авторизироваться, по этому поставим cyrus-sasl2, ставить буду из портов:

# cd /usr/ports/security/cyrus-sasl2
# make &&  make install

# cd /usr/ports/security/cyrus-sasl2-saslauthd
# make && make install

Посмотрим файлик  smtpd.conf который лежит в /usr/local/lib/sasl2, он должен содержать:

pwcheck_method: auxprop
mech_list: login plain

pwcheck_method: auxprop — показывает нам, что будет используется метод чтения паролей из БД виртуальных юзеров в /etc/sasldb2.

mech_list: login plain — в этой строке показывается что будет использоваться механизм авторизации пользователя для mail-клиента — login и plane: ‘это использует Outlook, Mozilla и The Bat.
Для того чтобы создать нового пользователя (аккаунты) которая будет авторизироваться  по SMTP и который будет сохранять в  БД можно сделать это следующим образом:
# saslpasswd2 -c -u domain.ru -a smtpauth user
Domain.ru — Доменное имя.
User — Вводите имя юзера.

Можно посмотреть всех sasl пользователей выполнив:

# sasldblistusers2

Удалить юзера можно командой:

# saslpasswd2 -d -u domin.ru captain

Установим сервер Postfix:

# cd /usr/ports/mail/postfix
# make && make install

Выбираем:
[X] SASL2
[X] MYSQL

Настройка почтового сервера Postfix:

В файле main.cf который лежит /usr/local/etc/postfix/ поправим:

# ee /usr/local/etc/postfix/main.cf

myhostname = mail.domain.ru
mydestination = …, $config_directory/mydestination
mynetworks = $config_directory/mynetworks
(заместо mail.domain.ru пишем свой домен)
В /usr/local/etc/postfix/mydestination ставим ваши домены, если Вы используете несколько, то можно сделать следующее:
domain.ru
domain2.ru
domain3.ru

В /usr/local/etc/postfix/mynetworks Нужно прописать список сетей, из которых можно будет отправлять почту:
127.0.0.1/32
192.168.244.0/24
192.168.77.0/24

Можно в /usr/local/etc/postfix/aliases прописать alias (например captain: cap) и не забыть дать команду:

# postalias /usr/local/etc/postfix/aliases

Создадим скрипт для запуска постфикс /usr/local/etc/rc.d/postfix.sh:

#!/bin/sh
[ -x /usr/local/sbin/postfix ] && /usr/local/sbin/postfix start && echo -n ' postfix'

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

# chmod 500 /usr/local/etc/rc.d/postfix.sh

Для того чтобы  использовать авторизацию необходимо в файле /usr/local/etc/postfix/main.cf добавить:
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options =
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination,
reject_rbl_client list.dsbl.org,
reject_rbl_client relays.ordb.org,
reject_rbl_client dynablock.wirehub.net,
reject_rbl_client blackholes.wirehub.net,
reject_rbl_client dnsbl.njabl.org

5 строк( те что снизу) позволят уменьшить спам (используем черный списков).

Стартанем все это дело:

# /usr/local/etc/rc.d/saslauthd.sh start
# /usr/local/etc/rc.d/postfix.sh start

Почта пользователей которая будет поступать по локалке будет сохранятся  в их почтовых ящиках, которые в данном примере будут текстовыми файлами с именами пользователей в /usr/var/mail/. Клиент почты забирает почту по  POP3, подключившись к серверу popd по 110-му порту. Поставим сервер popd:

# cd /usr/ports/mail/popd
# make && make install

Запустить его можно  демоном:

# popd &

А можно через сервер inetd (xinetd). Я юзаю xinetd. Настройка почтового сервера Postfix завершена!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.