Zimbra dns cache настройка
Старая зимбра распухла до невероятных размеров и в связи с этим было принято решение поднять новый в виртуальной инфраструктуре VMware .
Накатывать зимбру буду на Ubuntu server 16.04. Настройку оси оставляю на ваше усмотрение да и мануалов в сети полно. Итак, погнали.
Немного вводных: почтовик стоит за микротом, у которого 2 IP: внешний 5.xxx.xxx.xxx и внутренний 192.168.0.217. На микроте проброшены порты 80, 25, 110, 143, 443, 465, 587, 993, 995, 3443, 5222, 5223, 7143, 7993, 7025 и настроен Hairpin NAT.
Далее SSH к серваку и погнали. Все действия будем выполнять от рута.
1. Настройка Zimbra 8.8.8
в файле прописываем
Где ens160 имя сетевого интерфейса, которое можно получить по команде:
Настраиваем hosts (вместо ***** вписываем свой домен, зону при необходимости замените, у меня ru):
Настраиваем DNSMASQ и приводим к виду:
Перед установкой Zimbra необходимо выполнить два простых теста на правильность настройки записей MX и A DNS. Правильные запросы и ответы должны выглядеть так:
Если всё ок, то загружаем последний пакет зимбры с сайта.
Ссылка действительна на момент написания статьи. В вашем случае она может отличаться.
переходим в каталог
и запускаем установку
Я ставлю все кроме dnscache и IMAPD (все еще в бете), а zimbra-drive мне не нужен.
Набираем "Yes" для модификации системы.
Меняем пароль администратора, нажав цифру 6, а затем 4 в подменю и вводим новый пароль для пользователя admin.
Затем нажимаем "r" и "a" для применения изменений.
Наливаем себе чашечку кофе и ждём окончания установки.
Configuration complete - press return to exit
Жмём Enter и ребутаем:
2. Настраиваем DKIM
Извлекаем данные для txt-записи на провайдере
TXT-запись прописываем в следующем виде:
Обновите DNS, и проверьте результат выполнения команды:
Если ключ извлекается то следующую команду дабы убедиться, что открытый ключ соответствует закрытому:
По настройке SPF и DMARC полно мануалов в сети, поэтому останавливаться на этом не буду.
3. Настраиваем Let`s Encrypt
при запросе домена вводим
Если все будет хорошо с проверкой, то сертификат (сертификат + открытый ключ + цепочка) будет выпущен в формате «/etc/letsencrypt/live/address/».
Далее в терминале:
В конец файла chain.pem добавляем промежуточный корневой сертификат Let`s Encrypt (представлен ниже):
Далее в терминале:
4. Перевыпуск сертификата Let`s Encrypt
Добавляем в конец файла
Сохраняем, закрываем и обратно в командную строку
Убеждаемся, что все запущено, радуемся ))
5. Перенос учетных записей
На старом сервере зимбры:
создаем список пользователей в файл users.txt
После выполнения получаем скрипт restore_pass.sh, в котором содержатся команды смены пароля пользователям на новом сервере.
На новом сервере:
Средства и миграция -> Перенос учетной записи. Кликаем на шестеренку в правом верхнем углу и запускаем мастер. Тип почтового сервера "Zimbra Collaboration Suite". Импортировать только учетки или вместе с почтой выбираем по необходимости. Далее. Выбираем "Импортировать из другого каталога Zimbra LDAP". Далее. На следующей снимаем галку с пункта "Требовать смены пароля при первом входе в систему". Далее. URL LDAP - Указываем IP старого сервера.
Пароль привязки мы можем получить со старого сервера командой:
Поисковая база dc=ru. Остальные настройки по вкусу.
Тащим на новый сервер restore_pass.sh, полученный ранее. Кладем куда-нибудь. При необходимости даем права на него. Далее:
Дожидаемся окончания. Теперь у нас на новом сервере созданы учетки (и содержимое почтовых ящиков если выбрали при миграции) и у всех пользователей старые пароли.
6. Быстрая настройка Fail2ban
Создаем Zimbra jail.conf
Редактируем /etc/fail2ban/action.d/sendmail.conf и заменяем в нем строку
Запускаем и добавляем в автозагрузку Fail2ban
7. Включаем zmauditswatch
Надеюсь, что у вас всё получилось.
Если же нет, то добро пожаловать в раздел КОНТАКТЫ
Чтобы использовать это руководство, вам следует:
Рекомендуемые системные требования для сервера Zimbra, который поддерживает до 50 пользователей:
- 4 виртуальных ЦП или более в зависимости от доступных ресурсов
- 8 ГБ ОЗУ или больше
- 50 ГБ свободного места на диске
- DNS сервер
Выполните следующие действия, чтобы установить и настроить сервер Zimbra Collaboration на вашем сервере Ubuntu 18.04.
Шаг 1. Установите и настройте Dnsmasq
В этом руководстве мы будем использовать dnsmasq в качестве DNS-сервера. Следуйте этому руководству, Как установить и настроить Dnsmasq в Ubuntu 18.04 LTS .
Установите домен Zimbra, сервер пересылки DNS-сервера и записи MX.
Задайте имя хоста сервера:
Добавьте в /etc/hosts файл имя сервера и IP-адрес .
Перезапустите dnsmasq службу и проверьте.
Найдите A-запись Zimbra Server.
Кроме того, запросите запись MX вашего домена. Должен возвращать IP-адрес сервера Zimbra.
Теперь, когда у нас есть запись A и MX, приступим к установке.
Шаг 2. Загрузите Zimbra Collaboration Open Source Edition
Перейдите в каталог zcs- * ,
Шаг 3. Установите Zimbra Collaboration на Ubuntu 18.04 LTS
Мы готовы начать установку Zimbra Collaboration Open Source Edition на Ubuntu 18.04 LTS.
1. Введите « Y », чтобы принять условия лицензии и начать установку.
2. Согласитесь использовать репозиторий пакетов Zimbra.
3. Выберите пакеты для установки
4. Согласитесь на модификацию системы.
Начнется загрузка и установка пакетов Zimbra.
Завершите настройку и примените.
Сценарий установщика начнет настройку сервера Zimbra. По завершении вы должны получить результат, как показано ниже.
Подтвердите статус сервисов Zimbra.
Доступ к панели администратора Zimbra
Если у вас есть активный брандмауэр, настройте его для Zimbra с помощью Zimbra Firewall Configuration с ufw для Ubuntu и firewalld для CentOS.
Войдите, используя имя пользователя admin и пароль, настроенные ранее.
Сам процесс установки Zimbra довольно прост. Нужно установить зависимые пакеты, скачать архив, запустить скрипт и правильно ответить на вопросы установщика. Но, как и везде, есть свои маленькие сложности.
1) Zimbra чувствительна к hostname. Первое, что нужно сделать перед установкой – привести файл /etc/hosts к виду:
2) Без доступа к internet чуда не произойдет. Если доступа в internet не будет, то скрипт будет подвисать на 20-40 минут, и в итоге, естественно, завершится с ошибкой. Казалось бы, зачем нужен почтовый сервер без доступа в интернет, но «чего только не бывает в подлунном мире».
3. Непосредственно установка
1) Установка зависимостей:
3) Разархивировать скачанный архив, перейти в каталог и запустить установку:
4) Согласиться с лицензионным соглашением и использованием репозитория Zimbra:
5) Выбрать необходимые компоненты и подтвердить изменение:
6) Далее нужно ввести пароль администратора для Zimbra:
Остальное в этом меню нас особо не интересует. Но. По умолчанию Zimbra создаст свой внутренний домен по образу и подобию своего zmhostname (читай hostname), то есть это будет домен zimbramail.home.local. Меня такой вариант устраивает, если вас – нет, и имя домена должно строго соответствовать [home.local], то рекомендую сразу изменить адреса получения Version update notification и Version update source на [email protected]
7) Тут нужно нажать кнопку [a], чтобы применить изменения, затем согласиться с сохранением конфигурации в файл и еще раз нажать [Enter], чтобы продолжить установку.
Система не зависла после слова “done”, она ждет нажатия клавиши.
Далее происходит работа скрипта установки, после окончании которой он предлагает нажать любую клавишу для продолжения
8) После завершения установки необходимо открыть нужные порты в фаэрволле. Список портов можно найти в Wiki разработчика по ссылке
9) Настоятельно так же рекомендую убедиться, что Zimbra поняла все правильно, и ее zmhostname совпадает с hostname сервера:
Если имя не совпадает, делаем следующее:
а) первым делом проверяем, есть ли в DNS записи A и MX для нашего нового zmhostname, если нет – создаем их
б)
в) чистим zmloggerhostmap:
Эта команда выводит список всех Hostname Map.
где localhost и localhost.localdomain нужно заменить на строку из списка Hostname Map
после чего перезапустить Zimbra
10) Запускаем сервер:
12) Для тех, у кого нет доступа к интернет, или если сервер живет за NAT’ом, нужно будет еще прописать команду:
zmprov это утилита для управления настройками сервера, она нам еще понадобится, когда нужно будет настроить автоматическое создание ящиков, их резервное копирование и восстановление, а так же автоматическое создание и обновление списков рассылки. Но об этом чуть позже.
13) Проблема с самоподписанным сертификатом решается импортом сертификата на сервер из Вашего удостоверяющего центра.
Или же экспортом сертификата с сервера Zimbra:
с последующим экспортом его клиентским машинам, руками, или групповыми политиками домена, установив сертификат в «Доверенные корневые центры сертификации» клиентских машин.
На этом установка и первичная настройка завершена.
4. Настройка авторизации через LDAP
Прежде всего нужно создать в AD пользователя для доступа к каталогу. У меня это ZimbraLDAP, после чего зайти в консоль администратора через web и настроить авторизацию в домене zimbramail.home.local.
1) Заходим в «настройка» – «домены», ПКМ по названию домена – «настроить проверку подлинности»:
2) Выбрать “Внешний Active Directory”, нажать далее:
3) В поле «Имя домена AD» вводим имя домена, в поле «ldap://» пишем имя домена или имя контроллера домена, или IP контроллера домена. У меня контроллеров несколько, поэтому я пишу имя домена. Порт оставляем без изменений. Жмем далее:
4) Привязка LDAP оставляем без изменений.
5) Сводка по конфигурации проверки подлинности. Имя пользователя ZimbraLDAP, пароль qwe123. Жмем кнопку «тест»:
Настройка внешней группы отвечает за то, где именно в AD Zimbra будет искать пользователей и какие фильтры будет применять. Можно применить фильтр:
в этом случае будут отобраны только объекты AD «пользователи» и «персоны». А параметр External Group LDAP Search Base использоваться не будет, он будет заменен на «zimbraAutoProvLdapSearchBase» в ходе настройки EAGER-режима.
Теперь пользователи будут авторизовываться по своим паролям из AD. И даже при создании нового почтового ящика пароль задать будет нельзя.
5. Настройка автоматического создания почтовых ящиков
Немного теории:
Zimbra умеет в 3 варианта создания ящиков:
EAGER – полностью автоматический, который через определенные промежутки времени просматривает AD и создает ящики для новых пользователей.
LAZY – полуавтоматический, который создает почтовый ящик при первом входе пользователя на почтовый сервер под учетными данными домена.
MANUAL – ручной поиск и отбор учетных записей, для которых нужно создать почтовые ящики.
По понятным причинам режим MANUAL пригоден только для маленьких компаний с вялой текучкой кадров. LAZY-режим подходит для использования почты с web-интерфейсом, без подключения почтового клиента. Меня не устраивали оба варианта, так как стояла задача автоматизировать по-максимуму (автоматическая установка клиентского приложения Zimbra Desktop, чтобы пользователю нужно было просто ввести логин-пароль и получить доступ к почте). Поэтому только EAGER. Да он и удобнее, если честно.
Для удобства правки и применения параметров проще и удобнее создать файл. Пусть будет /tmp/prov
Наполнение файла следующее:
Еще немного теории:
В данном файле содержатся команды для присвоения переменных. Так, например, параметр zimbraAutoProvAttrMap cn=cn означает, что Zimbra будет формировать свои ящики таким образом, что «выводимое имя» (CN в AD) будет подставляться в поле «выводимое имя» в Zimbra.
Параметр zimbraAutoProvLdapAdminBindDn отвечает за учетную запись, которую будет использовать Zimbra для доступа к каталогу AD. В Данном случае «CN=ZimbraLDAP,OU=HOME_Users,DC=home,DC=local», что значит следующее: будет использоваться учетная запись с отображаемым именем ZimbraLDAP, хранящаяся в OU HOME_Users, который расположен в корне домена home.local
zimbraAutoProvLdapAdminBindPassword хранит пароль от учетной записи ZimbraLDAP
zimbraAutoProvLdapBindDn хранит в себе учетную запись администратора сервера Zimbra для домена zimbramail.home.local
zimbraAutoProvLdapSearchBase отвечает за OU, в котором Zimbra будет искать доменные учетные записи для создания почтовых ящиков. В моем случае это тот же контейнер, в котором лежит и пользователь ZimbraLDAP
zimbraAutoProvPollingInterval это период обращения к AD на предмет поиска появления новых учетных записей.
С остальными параметрами все и так понятно.
На сайте разработчика написано, что если вы используете версию Zimbra до 8.0.8, то для работы EAGER-режима нужно будет еще устанавливать параметр zimbraAutoProvLastPolledTimestamp в пустое значение «», иначе больше одного раза он не отработает.
Далее выполняем команду:
Для просмотра всех значений zmprov можно ввести команду:
На сайте разработчика есть небольшая табличка траблшутинга LDAP-ошибок. Логи автопровижна пишутся в /opt/zimbra/log/mailbox.log
И еще немного оговорюсь. Получил фидбэк от LevZ, настраивавшего сервер с нуля. Версия 8.8.12_GA_3794.RHEL7_64_20190329045002 RHEL7_64 FOSS edition, Patch 8.8.12_P1 proxy.
Дело вот в чем: после чистой установки параметр «zimbraAutoProvScheduledDomains» нужно проинициализировать — выполнить команду «ms zimbraAutoProvScheduledDomains» без знака "+". Если сразу писать "+zimbraAutoProvScheduledDomains", то он не записывается и процесс не стартует.
Спасибо человеку за информацию!
6. Установка клиентских приложений
Скачиваем с официального сайта msi-пакет свежей версии. Копируем его в расшаренную сетевую папку, доступную всем для чтения. Можно скопировать и в Netlogon, но пакет весит более 100 Мб, поэтому я решил использовать шару.
Zimbra Desktop использует java, а значит, надо скачать еще и её, и положить в ту же папку.
Далее по вкусу – KIX, GPO, руками. Я использую GPO.
В той же шаре создаем файл installZimbra.cmd следующего содержания:
Добавляем в раздел «конфигурации компьютера»-«конфигурация Windows»-«Сценарии (запуск\завершение)»-«Автозагрузка» сценарий установки, созданный ранее. Сценарий установит java и Zimbra Desktop в silent режиме и не будет требовать перезагрузуку. Далее — разгул фантазии администратору.
Но. Для того, чтобы Zimbra Desktop настроить на наш сервер – надо руками вбить параметры.
Поэтому для пользователей нужно создать некую памятку-инструкцию, в какие поля что нужно вбивать, и на какую кнопочку нажать, чтобы получить доступ к почте. В целом – не сложно.
Заключение
Таким образом мы весьма несложно и достаточно быстро внедрили совершенно бесплатную систему корпоративного взаимодействия на базе Zimbra Collaboration Suite, настроили ее взаимодействие с доменом, упростив создание почтовых ящиков и избавившись от проблем с кучей лишних учетных записей.
На мой взгляд Zimbra – достаточно мощный инструмент для корпоративного сегмента. Но по этому поводу статей было написано уже огромное множество, не буду распыляться.
Разберем как развернуть мощный и в тоже время бесплатный почтовый сервер Zimbra Collaboration 8.6. Zimbra может соперничать с Microsoft Exchange своим функционалом, в который входит необходимый набор инструментов для работы в корпоративной среде. Zimbra имеет удобный и понятный Web интерфейс, поддерживающий работу мобильных устройств, что не мало важно для сотрудников находящихся вне офиса.
Исходные данные для развертывания Zimbra:
Настройка DNS зоны на домен контроллере DC1
Выбираем пункт To all DNS servers running on domain controller in this domain: jakonda.local. Нажимаем Next.
Отмечаем пункт Allow both nonsecure and secure dynamic updates. Нажимаем Next.
Нажимаем Finish.
Добавляем MX-запись:
В итоге должно получится вот так:
Предварительная настройка системы Ubuntu 14.04 Trusty Tahr
Перед тем как начать установку почтового сервера Zimbra на Ubuntu 14.04 Trusty Tahr, систему необходимо настроить и установить необходимые для установки зависимости.
Укажем правильное имя в hostname:
Приведем файл hosts к правильному виду:
Задаем в ручную настройки сети:
Для проверки правильности настроек выполним команду:
Установка Zimbra Collaboration 8.6
Обновляем систему до актуального состояния:
Устанавливаем необходимые для установки и работы Zimbra зависимости:
sudo apt - get install libgmp10 libperl5 . 18 libaio1 unzip pax sysstat sqlite3Скачиваем дистрибутив Zimbra Collaboration 8.6:
tar zxf zcs - 8.6.0_GA_1153.UBUNTU14_64.20141215151116.tgzПереходим в каталог с дистрибутивом:
Запускаем установку Zimbra:
Принимаем условия лицензионного соглашения Do you agree with the terms of the software license agreement? [N] Y , установщик проверит наличие всех необходимых зависимостей, а так же сообщит какие компоненты доступны для установки. Если напротив каждого пункта видим FOUND, значит все в порядке можно продолжать установку, в противном случае, нужно отменить установку и до установить необходимые зависимости. Для продолжения установки отвечаем Y в Do you wish to continue? [N].
Далее установщик спросит какие компоненты устанавливать, мы будем устанавливать все компоненты, поэтому на каждый вопрос отвечаем Y. После выбора устанавливаемых компонентов, соглашаемся с внесением изменений: The system will be modified. Continue? [N] Y.
Установка выбранных пакетов, по окончании если ошибок DNS не обнаружено, то двигаемся дальше.
В основном меню необходимо задать пароль администратора (учетная запись admin). Для этого нажимаем 7(zimbra-store):
Нажимаем 4 (Admin Password):
Вводим желаемый пароль и нажимаем Enter. Выходим в предыдущее меню r, затем нажимаем a, для применения конфигурации и продолжения установки.
По окончании установки на вопрос Notify Zimbra of your installation? [Yes] (уведомить Zimbra об установке) нажимаем N и Enter для выхода из установщика.
Читайте также: