MailServerP8: различия между версиями
Nbr (обсуждение | вклад) |
Nbr (обсуждение | вклад) |
||
(не показано 16 промежуточных версий этого же участника) | |||
Строка 120: | Строка 120: | ||
Устанавливаем Postfix и Dovecot по образцу [[ActiveDirectory/PostfixDovecot]] | Устанавливаем 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> | </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] |
Текущая версия от 14:27, 17 июня 2016
Заметки по установке 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 по пунктам с комментариями:
- Могут быть выданы безобидные сообщения об ошибках
- task_samba_dc оказался уже установленным в результате выбора Samba-server
Создание нового домена
- Задаем параметры желаемого хоста и домена.
HOSTNAME=dc.school.alt в /etc/sysconfig/network hostname dc.school.alt domainname school.alt
. После этого перезагружаемся.
- производим создание домена
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 в автостарт — без особенностей.
надо записать
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]