MailServerP8: различия между версиями

Материал из ALT Linux Wiki
(Новая страница: «== Заметки по установке Samba, Postfix, Dovecot на платформе p8 == * Устанавливается basealt-server c 4GB RAM/32GB disk. ...»)
 
 
(не показаны 34 промежуточные версии этого же участника)
Строка 1: Строка 1:
{{stub}}
== Заметки по установке Samba, Postfix, Dovecot на платформе p8 ==
== Заметки по установке Samba, Postfix, Dovecot на платформе p8 ==
* Устанавливается basealt-server c 4GB RAM/32GB disk.
Используется [[ActiveDirectory/PostfixDovecot]] и [[ActiveDirectory/DC]]
* Устанавливается basealt-server c 4GB RAM/32GB disk в виртуальную машину с доступом в интернет.
* Выбирается Office Server (нужно много места под файлы почты в var).
* Выбирается Office Server (нужно много места под файлы почты в var).
* В приложениях выбираем  
* В приложениях выбираем  
Строка 7: Строка 9:
** Samba-сервер
** Samba-сервер
** Почтовый сервер
** Почтовый сервер
* Имя компьютера - host15


По  [[ActiveDirectory/DC]] по пунктам с комментариями:
# Могут быть выданы безобидные сообщения об ошибках
# task_samba_dc оказался уже установленным в результате выбора Samba-server


=== Создание нового домена ===
#Задаем параметры желаемого хоста и домена.
<pre>
    HOSTNAME=dc.school.alt в /etc/sysconfig/network
    hostname dc.school.alt
    domainname school.alt
</pre>. После этого перезагружаемся.
# производим создание домена


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






# добавление samba в автостарт — без особенностей.
{{Attention|В /etc/net/ifaces/<ваш ethernet/resolv.conf
надо записать
<pre>
nameserver 127.0.0.1
search school.alt
</pre> и сделать service networking restart
}}
===  Проверка домена ===


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




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




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


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


=== Проверка ldap ===
Cначала устанавливаю openldap и openldap-clients.
Результат:
<pre> 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
</pre>






== Установка и настройка почтовой системы ==
Устанавливаем Postfix и Dovecot по образцу [[ActiveDirectory/PostfixDovecot]]
=== Создание пользователя в Active Directory ===
samba-tool user add -W Users vmail
пароль ввести и запомнить.
samba-tool user setexpiry vmail --noexpiry
=== Увеличение системных лимитов ===
Системные ограничения предустановлены для ситуации по умолчанию, желательно их расширить созданием файла
{{path|/etc/security/limits.d/55-mailserver.conf}}
c содержимым
*              soft    nproc  4096
*              soft    nofile  4096
(увеличить количество процессов и количество открытых файлов для процесса).
После этого желательно перезапустить систему.
=== Настройка Postfix  ===
Тестовое окружение: локальная сеть маршрутизируема из интернет (нет NAT),
сервер должен принимать как почту из интернета, так и сообщения, отправляемые авторизованными пользователями
или из локальной сети.
==== Установка (установка postfix-ldap была необходима) ====
в каталоге /etc/postfix
* main.cf (файл, определяющий основное поведение почты).
<source lang="ini">
# 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
</source>
* В файле /etc/postfix/master.cf надо будет добавить строки
<pre>
smtp      inet  n      -      -      -      -      smtpd
</pre>
- транспорт для входящей почты по протоколу SMTP
<pre>
dovecot  unix  -      n      n      -      -      pipe
  flags=DRhu user=mail:mail argv=/usr/libexec/dovecot/deliver -d ${recipient}
</pre>
- транспорт для доставки почты в dovecot imap4
<pre>
smtps    inet  n      -      n      -      -      smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
</pre>
- транспорт для защищенного соединения для получения исходящей почты от "своих" клиентов.
* {{path|/etc/postfix/ad_local_recipients.cf}}
В этом файле происходит запрос к Ldap через порт глобального каталога. sAMAccountType=805306368 означает нормальных пользователей.
<pre>
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
</pre>
Bind_pw
[[Категория: Почта]]
[[Категория: Почта]]
[[Категория: ActiveDirectory]]
[[Категория: ActiveDirectory]

Текущая версия от 11:27, 17 июня 2016

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]