MailServerP8

Материал из ALT Linux Wiki
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Заметки по установке Samba, Postfix, Dovecot на платформе p8

Используется ActiveDirectory/PostfixDovecot и ActiveDirectory/DC

  • Устанавливается basealt-server c 4GB RAM/32GB disk в виртуальную машину с доступом в интернет.
  • Выбирается Office Server (нужно много места под файлы почты в var).
  • В приложениях выбираем
    • Сервер LAMP
    • Cервер PostgresSQL
    • Samba-сервер
    • Почтовый сервер
  • Имя компьютера - host15

По ActiveDirectory/DC по пунктам с комментариями:

  1. Могут быть выданы безобидные сообщения об ошибках
  2. task_samba_dc оказался уже установленным в результате выбора Samba-server

Создание нового домена

  1. Задаем параметры желаемого хоста и домена.
    HOSTNAME=dc.school.alt в /etc/sysconfig/network
    hostname dc.school.alt
    domainname school.alt 

. После этого перезагружаемся.

  1. производим создание домена

samba-tool domain provision --realm=school.alt --domain school --adminpass='Pa$$word' --dns-backend=SAMBA_INTERNAL --server-role=dc --use-rfc2307 --use-xattrs=yes


  1. добавление samba в автостарт — без особенностей.
Внимание! В /etc/net/ifaces/<ваш ethernet/resolv.conf

надо записать

nameserver 127.0.0.1
search school.alt
и сделать service networking restart

Проверка домена

Проверки прошли правильно. 


Создание пользователя

samba-tool user add ivanov --given-name='Иван Иванов' --mail-address='ivanov@school.alt'

При задании пароля требуется, чтобы он был не короче 7 символов и содержал строчные, прописные буквы и спецсимволы. Примечание: запись о компьютере создается либо во время входа компьютера в домен, либо может быть задана заранее средствами управления доменами Windows.

Проверка ldap

Cначала устанавливаю openldap и openldap-clients. Результат:

 ldapsearch -LLL -b '' -s base -x   
dn:
configurationNamingContext: CN=Configuration,DC=school,DC=alt
defaultNamingContext: DC=school,DC=alt
rootDomainNamingContext: DC=school,DC=alt
schemaNamingContext: CN=Schema,CN=Configuration,DC=school,DC=alt
subschemaSubentry: CN=Aggregate,CN=Schema,CN=Configuration,DC=school,DC=alt
supportedCapabilities: 1.2.840.113556.1.4.800
supportedCapabilities: 1.2.840.113556.1.4.1670
supportedCapabilities: 1.2.840.113556.1.4.1791
supportedCapabilities: 1.2.840.113556.1.4.1935
supportedCapabilities: 1.2.840.113556.1.4.2080
supportedLDAPVersion: 2
supportedLDAPVersion: 3
vendorName: Samba Team (http://samba.org)
isSynchronized: TRUE
dsServiceName: CN=NTDS Settings,CN=DC,CN=Servers,CN=Default-First-Site-Name,CN
 =Sites,CN=Configuration,DC=school,DC=alt
serverName: CN=DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configurat
 ion,DC=school,DC=alt
dnsHostName: dc.school.alt
ldapServiceName: school.alt:dc$@SCHOOL.ALT
currentTime: 20160615162522.0Z
supportedControl: 1.2.840.113556.1.4.841
supportedControl: 1.2.840.113556.1.4.319
supportedControl: 1.2.840.113556.1.4.473
supportedControl: 1.2.840.113556.1.4.1504
supportedControl: 1.2.840.113556.1.4.801
supportedControl: 1.2.840.113556.1.4.801
supportedControl: 1.2.840.113556.1.4.805
supportedControl: 1.2.840.113556.1.4.1338
supportedControl: 1.2.840.113556.1.4.529
supportedControl: 1.2.840.113556.1.4.417
supportedControl: 1.2.840.113556.1.4.2064
supportedControl: 1.2.840.113556.1.4.1413
supportedControl: 1.2.840.113556.1.4.1413
supportedControl: 1.2.840.113556.1.4.1413
supportedControl: 1.2.840.113556.1.4.1413
supportedControl: 1.2.840.113556.1.4.1413
supportedControl: 1.2.840.113556.1.4.1339
supportedControl: 1.2.840.113556.1.4.1340
supportedControl: 1.2.840.113556.1.4.1413
supportedControl: 1.2.840.113556.1.4.1341
namingContexts: DC=school,DC=alt
namingContexts: CN=Configuration,DC=school,DC=alt
namingContexts: CN=Schema,CN=Configuration,DC=school,DC=alt
namingContexts: DC=DomainDnsZones,DC=school,DC=alt
namingContexts: DC=ForestDnsZones,DC=school,DC=alt
supportedSASLMechanisms: GSS-SPNEGO
supportedSASLMechanisms: GSSAPI
supportedSASLMechanisms: NTLM
highestCommittedUSN: 3773
domainFunctionality: 4
forestFunctionality: 4
domainControllerFunctionality: 4
isGlobalCatalogReady: TRUE





Установка и настройка почтовой системы

Устанавливаем Postfix и Dovecot по образцу ActiveDirectory/PostfixDovecot


Создание пользователя в Active Directory

samba-tool user add -W Users vmail
пароль ввести и запомнить.
samba-tool user setexpiry vmail --noexpiry

Увеличение системных лимитов

Системные ограничения предустановлены для ситуации по умолчанию, желательно их расширить созданием файла /etc/security/limits.d/55-mailserver.conf c содержимым

*               soft    nproc   4096
*               soft    nofile  4096

(увеличить количество процессов и количество открытых файлов для процесса). После этого желательно перезапустить систему.


Настройка Postfix

Тестовое окружение: локальная сеть маршрутизируема из интернет (нет NAT), сервер должен принимать как почту из интернета, так и сообщения, отправляемые авторизованными пользователями или из локальной сети.


Установка (установка postfix-ldap была необходима)

в каталоге /etc/postfix

  • main.cf (файл, определяющий основное поведение почты).
# Global Postfix configuration file.  This file lists only a small subset
# of all parameters.  For the syntax, and for a complete parameter list,
# see the postconf(5) manual page.  For a commented and more complete
# version of this file see /etc/postfix/main.cf.dist

# use standard delivery mechanism with filtering options for mailbox delivery
# it is NOT for domain delivery
mailbox_command = /usr/bin/procmail -a $DOMAIN -d $LOGNAME
# use only ipv4
inet_protocols = ipv4
# Mappings
# this is the domain we want to accept mail for
virtual_mailbox_domains = school.alt
# in this file we will check for domain users
virtual_mailbox_maps = ldap:/etc/postfix/ad_local_recipients.cf
# this file will route aliases/mail groups to real recipients
virtual_alias_maps = ldap:/etc/postfix/ad_mail_groups.cf
# mail for virtual domain will be delivered by dovecot imap4 server
virtual_transport = dovecot

# SSL/TLS

smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = school.alt
smtpd_sasl_path = private/auth
# postfix will use dovecot for ldap calls about authentication of users
# via SASL
smtpd_sasl_type = dovecot
# mail senders (who use SMTP protocol) will be handled according to the 
# following file
smtpd_sender_login_maps = ldap:/etc/postfix/ad_sender_login.cf
#! we should allow 25 untrusted connections on SMTP port here - from internet
#smtpd_tls_auth_only = yes 
smtpd_tls_auth_only = no
# use postfix internal certs for authentication (?!)
smtpd_tls_CAfile = /var/lib/ssl/certs/postfix.pem
smtpd_tls_cert_file = /var/lib/ssl/certs/postfix.cert
smtpd_tls_key_file = /var/lib/ssl/private/postfix.key
smtpd_tls_security_level = encrypt
smtpd_use_tls = yes
  • В файле /etc/postfix/master.cf надо будет добавить строки
smtp      inet  n       -       -       -       -       smtpd

- транспорт для входящей почты по протоколу SMTP


dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=mail:mail argv=/usr/libexec/dovecot/deliver -d ${recipient}

- транспорт для доставки почты в dovecot imap4


smtps     inet  n       -       n       -       -       smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

- транспорт для защищенного соединения для получения исходящей почты от "своих" клиентов.

* /etc/postfix/ad_local_recipients.cf

В этом файле происходит запрос к Ldap через порт глобального каталога. sAMAccountType=805306368 означает нормальных пользователей.

version = 3
server_host = ldap://school.alt:3268
bind_dn = cn=vmail,cn=users,dc=test,dc=alt
bind_pw = Pa$$word
search_base = dc=school,dc=alt
search_scope = subtree
query_filter = (&(|(mail=%s)(otherMailbox=%u@%d))(sAMAccountType=805306368))
result_attribute = mail
cache = no

Bind_pw [[Категория: ActiveDirectory]