postfix

Тест молекулы

Требования

  1. Установлен Ansible:
sudo apt install python3
python3 -m ensurepip --upgrade
pip3 install ansible
  1. Установлена эта роль:
ansible-galaxy install pimvh.postfix

Обязательные переменные

Просмотрите переменные, указанные в настройках по умолчанию. Описание переменных находится в аргументах спецификации в файле meta/main.yaml. Переменные, передаваемые в эту роль, проверяются спецификацией аргументов во время выполнения.

Пример плейбука

Простой способ запустить эту роль на хосте:

- hosts:
  - foo

  vars:
    postfix_ipv4: << Укажите IPv4-адрес почтового сервера Postfix здесь >>
    postfix_ipv6: << Укажите IPv6-адрес почтового сервера Postfix здесь >>
    postfix_myhostname: "<< Укажите доменное имя Postfix здесь >>"
    postfix_mydomain: "<< Укажите домен Postfix здесь, по умолчанию совпадает с myhostname >>"
    postfix_mynetworks:
      - 127.0.0.0/8
      - "::1/128" # Вам не нужно заключать IPv6-адреса в скобки, это обрабатывается фильтрами
    # Добавьте дополнительные сети при необходимости
    postfix_virtual_alias_domains: [] # Добавьте виртуальные домены-алиасы при необходимости (см. meta/main.yaml для структуры)
    postfix_relay_domains: [] # Добавьте домены ретрансляции при необходимости (см. defaults/main.yaml для структуры)
    postfix_aliases: # Добавьте алиасы пользователей при необходимости
      - user: root
        alias: postmaster
    # также может быть списком пользователей
    # - users:
    #     - fred
    #     - foo
    #     - bar
    #   alias: что-то

    postfix_virtual_aliases: [] # Добавьте виртуальные алиасы при необходимости (см. meta/main.yaml для структуры)

    # Вероятно, вы можете пропустить остальные переменные
    # postfix_install: true
    # postfix_dir: /etc/postfix

    # postfix_dkim_enabled: true # DKIM по умолчанию включен
    # postfix_dkim_keys:
    #   default:
    #     mail: "*"

    # Размещение файлов DKIM в файловой системе
    # postfix_dkim_keytable: /etc/opendkim/keytable
    # postfix_dkim_signingtable: /etc/opendkim/signingtable
    # postfix_dkim_trustedhosts: "/etc/opendkim/trustedhosts"

    # Путь к сертификату основан на стандартном месте certbot (вы можете запустить роль pimvh.certbot для получения сертификатов)
    # postfix_smtpd_tls_cert_file: "/etc/letsencrypt/live/{{ postfix_mydomain }}/fullchain.pem"
    # postfix_smtpd_tls_key_file: "/etc/letsencrypt/live/{{ postfix_mydomain }}/privkey.pem"

  roles:
    - pimvh.postfix

Вы, вероятно, сэкономите время на рефакторинг, если не будете задавать переменные в строке, а сделаете это на основе хостов и/или групп. Однако это зависит от вашей конкретной ситуации. Ознакомьтесь с рекомендуемым набором плейбуков Ansible для этого.

Кратко - Что произойдет, если я запущу это

  • проверить, все ли переменные в порядке
  • установить Postfix
  • установить и настроить Amavis
  • установить и настроить OpenDKIM
  • установить и настроить OpenDMARC
  • установить и настроить Dovecot с системными пользователями и виртуальным почтовым каталогом
  • настроить mailutils (установлен этой ролью, от которой это зависит)

Что эта роль не делает

Настройка межсетевого экрана

Эта роль не выполняет настройку межсетевого экрана, поскольку у вас, вероятно, есть специфические требования для этого. Вы, скорее всего, не хотите открывать порт IMAP для всего интернета, если это можно избежать. Так что будьте осторожны!

Настройка базы данных

Я ещё не настроил использование базы данных в качестве резервного варианта для Postfix. Если вас интересует, не стесняйтесь внести свой вклад.

Устранение неполадок

Эта роль проверяет переданные переменные. Если вы:

  • видите проблемы с спецификацией аргумента, вероятно, вы допустили ошибку, передавая переменные в эту роль.
  • сталкиваетесь с проблемами при запуске этого плейбука, не стесняйтесь подробно описать вашу проблему и создать задачу.

Будущие улучшения

Все еще есть множество вещей, которые можно улучшить в этой роли. Вот что я подумываю добавить:

  • Добавить инструмент для парсинга DMARC
  • Добавить лучшую базу данных для сервера Postfix, например, вместо простой файловой системы.

Если у вас есть другие предложения по улучшению, не стесняйтесь создать задачу.

Источники

О проекте

role to configure postfix, with ClamAV, Amavis, DKIM, SPF and DMARC

Установить
ansible-galaxy install pimvh/postfix
Лицензия
gpl-3.0
Загрузки
63
Владелец