Как стать автором
Обновить

Комментарии 38

А где полноценные роли Ansible?
В чем смысл выкладывать набор шаблонов без самих переменных, а тем более без тасков?
Где набор шаблонов под FreeBSD?

И ещё один вопрос: содержимое в виде tar в гитхабе?

Не кашерно? Ну был бы сайт отдельный свой, выложил бы там. Почему бы и нет, законом не запрещено вроде )

Правильно!

"Зачем вообще этот Ваш Гитхаб. Есть же Яндекс диск!"

  1. Слишком простая задачка из одного Playbook, чтобы выделять роли. Для меня это избыточно в данной задаче

  2. Все в postfix.yml. Переменные + около 35 тасков.

  3. Для FreeBSD не делал и пока не планирую. Пакеты Postfix/Dovecot разрабы все еще собирают без LDAP. И если для Postfix в pkg есть пакетик с LDAP, то для Dovecot нет - явно придется пересобирать через ports. Ну в общем мне пока без надобности, да и теме статьи это не соответствует.

Слишком простая задачка из одного Playbook, чтобы выделять роли. Для меня это избыточно в данной задаче

Для плейбука свыше 5 тасков оформлять в роль.
К тому же у вас шаблоны мульти ОС, которые можно обьединить в одну роль.

Все в postfix.yml. Переменные + около 35 тасков.

Тем более в роль, ибо у вас помимо tasks есть и handlers.

Сказано - сделано - времени ушло прилично (делалось для FreeBSD), но зато много в чем получилось досконально разобраться.


Что именно делалось для FreeBSD ?

Теперь еще конвертить письмо в markdown разметку...

А просто открыть Google Chrome или его клонами ?

А если просто открыть его - можно получить кучу тегов и текста без его декодирования.

Примерно таких вот

<!-- TOC START --> <div id=3D"dw__toc" class=3D"dw__toc"> <h3 class=3D"toggle open" style=3D"cursor: pointer;"><strong><span>=E2=88= =92</span></strong>=D0=A1=D0=BE=D0=B4=D0=B5=D1=80=D0=B6=D0=B0=D0=BD=D0=B8= =D0=B5</h3> <div aria-expanded=3D"true" style=3D"">

Да, так открывается. Но многие ссылки ведут на 192.168.1.249.

Да, я в курсе ) Все нужные архивы на GitHub.

В статье вы упомянули проблемы с SSD на Astra Linux. Могли бы вы рассказать, как эти проблемы влияют на работу почтового сервера, какого вида эти проблемы и их решение?

В Astra Special Edition есть модуль Parsec и режимы целостности и конфиденциальности (режимы Смоленск и Воронеж). Есть режим Орел, в котором это отключено. В ходе портирования в Dovecot были ошибки, из-за которых не работало. Исправил установкой пакета astrase-fix-maildir.
Но несмотря на это, в режиме Орел все равно в журнале Dovecot через раз вот такие ошибки идут:

ноя 02 14:25:39 astramailserver dovecot[18658]: imap: Error: MAC not enabled, no action required
ноя 02 14:25:39 astramailserver dovecot[18658]: imap: Error: MAC not enabled, no action required
ноя 02 14:25:39 astramailserver dovecot[18658]: imap([email protected])<18669><9h7oICUJThIKCheq>: /usr/sbin/astrase-fix-maildir '/mbx/domain.alt/administrator/.Sent'
ноя 02 14:25:39 astramailserver dovecot[18658]: imap([email protected])<18681><xj79ICUJUBIKCheq>: /usr/sbin/astrase-fix-maildir '/mbx/domain.alt/administrator'
ноя 02 14:23:44 astramailserver dovecot[18658]: imap: Error: MAC not enabled, no action required
ноя 02 14:23:44 astramailserver dovecot[18658]: imap([email protected])<18669><9h7oICUJThIKCheq>: /usr/sbin/astrase-fix-maildir '/mbx/domain.alt/administrator/.Sent'
ноя 02 14:23:44 astramailserver dovecot[18658]: imap: Error: MAC not enabled, no action required
ноя 02 14:23:44 astramailserver dovecot[18658]: imap([email protected])<18681><xj79ICUJUBIKCheq>: /usr/sbin/astrase-fix-maildir '/mbx/domain.alt/administrator'
ноя 02 14:23:42 astramailserver dovecot[18658]: imap([email protected])<18669><9h7oICUJThIKCheq>: Send mail(level=0, category=0x0, uid=3)

Жить это не мешает, с почтой работать по IMAP4 возможно (Thunderbird/Roundcube), но осадочек остается.

Может кто подскажет, как от этого избавиться - буду рад.

Если у Вас [email protected], значит и домен domain.alt
Подготовка почтового сервера:
Задаем правильное имя сервера(для примера mail):
hostnamectl set-hostname mail.domain.alt
Имя сервера должно быть в формате FQDN
Заданное имя сервера должно разрешаться в IP-адрес через DNS. Если на момент установки это невозможно, создадим запись в файле hosts:
nano /etc/hosts
127.0.0.1 mail.domain.alt mail
очень важно, чтобы имя FQDN было первым.

Спасибо - в WiKi это есть мелким шрифтом. Но народу будет полезно конечно.

Не увидел в голосовании mailcow. Жаль, вещь хорошая! Единственный до недавнего времени серьёзный минус в нем - отсутствие из коробки поддержки ldap. Но сподвижки есть, как и костыли ))

Интересная штука, спасибо - раньше не попадалась. Так то много всяких Docker контейнеров с почтовыми серверами на просторах. Но тут народ похоже настроен весьма серьезно )
Протестирую в ближайшее время, любопытно стало.

A company with 15 phones (EAS enabled) and about 50 concurrent IMAP connections should plan 16 GiB RAM.

6 GiB RAM + 1 GiB swap are fine for most private installations while 8 GiB RAM are recommended for ~5 to 10 users.

We can help to correctly plan your setup as part of our support.

Понимаю, что это более комплексное решение...но по ОЗУ оно очень требовательно ((((

Чисто для сравнения - в марте смигрировал одну конторку с бесплатного Yandex Mail на мое решение (Debian). Плюс еще в качестве антиспама rSpamD стоит.
90 пользователей - 4 ядра, 4 Гб ОЗУ (Active ОЗУ не более 2 Гб в рабочее время).
Для мелких фирм дешево и сердито (клиенты WEB, Thunderbird, Outlook).

Перевел больше десятка контор с яши на mailcow - полет более чем нормальный.

Причем есть такие, у к-ых ящиков не одна сотня и почты под терабайт.

В том, что работа с такими ящиками возможна, вероятно заслуга проработанности службы Dovecot, которая индексирует почту в формате Maildir.

Позиционируется как groupware. А вообще есть 2 конторы по 120 примерно пользователей. Работает внутри виртуалки с 3 Гб ОЗУ и 4 ядрами на hdd, даже не ssd. Модифицировано для поддержки ldap и roundcube вместо штатного sogo. Ну, ещё прикручена моя просматривалка логов. Пару лет полёт нормальный без тормозов.

Понял - тогда точно стоит глянуть!

поставил, минимально настроил - блин, а мне нравится )
Спасибо!

Спасибо за MTA Log Parser !

Выложил на GitHub свежий вариант под Debian 12 - исправил регрессию с Roundcube и разбил большой YML PlayBook на мелкие, через include_tasks: ссылка

Учитывая особенности Астры в контексте безопасности, использование LDAPS и других мер безопасности, возможно, особенно важно. Спасибо за статью!

Пожалуйста!

Если кому-то пригодится, уже будет все не зря)

Вас уже спрашивали выше, зачем в гите размещать архивы вместо непосредственно файлов и каталогов ansible?

Насколько стабильно работает почтовый сервер на Astra Linux? Есть ли преимущества в использовании этой ОС для почтовых сервисов?
Какова производительность сервера на Astra Linux по сравнению с Debian или ALT?

Конкретно под Astra я почтовый сервер пока поднимал только факультативно, но мое личное мнение - если настроил и работает - то будет стабильно, как в другом Linux. Не думаю, что есть принципиальная разница - везде один и те же компоненты, разница в цифрах (версиях). Мы внедряли Astra под документооборот и СУБД, за 2 года особых нареканий не было от Заказчика.

Насчет преимуществ - выполнение требований импортозамещения. Если будут прикапываться не к ОС, а к компонентам (Postfix/Dovecot), есть два пути - аппелировать к RuPost (там тоже самое внутри), либо поставить Tegu (есть бесплатная редакция и она тоже есть в реестре отечественного ПО). Я ставил, тестировал - работает.

Производительность не мерял - но опять таки - внутри Linux, файловые системы у всех одинаковые, glibc и т.д. Не будет никакой принципиальной разницы в несколько раз, все на уровне погрешности. Смысла сравнивать производительность нет никакого (ИМХО конечно).

Вы решили не использовать текущие UID/GID из файлов /etc/passwd и /etc/group для упрощения Playbook. Влияло ли это как-то на Астру, ее стабильность и безопасность?

Никак не повлияло. Я не то чтобы их не использую - я их подставляю руками в Playbook )))

Код для автоматического определения UID/GID:

    - name: Get UID on Postfix USer
      shell: grep -i "postfix" /etc/passwd | cut -d":" -f3
      register: postfix_uid
      delegate_to: 127.0.0.1
      run_once: true

    - set_fact:
        postfix_uid={{ postfix_uid.stdout }}

    - debug: var=postfix_uid
      run_once: true

getent уже не в моде? Обязательно башсибл нужно лепить?

Спасибо за труд )

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Публикации

Истории