ansible_role_exim4

Ansible Роль: Exim4

Статус сборки

Роль Ansible для установки и настройки Exim4 на системах Debian или Ubuntu.

С помощью этой роли вы можете настроить установку Exim4, используя переменные.

Использование

Скачайте роль на ваш Ansible хост, используя команду ansible-galaxy, которая идет в комплекте с Ansible.

$ ansible-galaxy install adegtyarev.exim4

Определите роль в вашем плейбуке и настройте необходимые параметры. Например:

roles:
  - role: adegtyarev.exim4

По умолчанию устанавливается пакет exim4-daemon-light, и никаких дополнительных настроек не производится, кроме настроек по умолчанию для ОС. Эта роль следует концепции настройки Exim для пакета Debian. Смотрите ниже, как включать или отключать функции в вашей настройке.

Обратите внимание, что эта роль добавляет стандартного пользователя Exim Debian-exim в группу ssl-cert, чтобы дать демону доступ к SSL сертификатам и ключам.

Переменные роли

Переменная Значение по умолчанию Описание
exim4_package_name exim4-daemon-light Устанавливает имя пакета для установки
exim4_conf_keyvalue пусто Список словарей ключ-значение (см. ниже)
exim4_conf_values пусто Список словарей с одним значением на строку (см. ниже)

Для значения exim4_package_name хорошим выбором также будет exim4-daemon-heavy или любое другое доступное имя для вашей системы.

Использование списков словарей

exim4_conf_keyvalue используется для создания конфигурационных файлов с парами ключ-значение. Например, чтобы настроить список записей route_data, который можно использовать для переопределения или дополнения информации MX из DNS:

exim4_conf_keyvalue:
  - name: hubbed_hosts
    data:
      example.com: mail.example.com
      example.net: mail.example.net

В результате будет создан файл /etc/exim4/hubbed_hosts с парами ключ-значение, где ключи — это доменные шаблоны, а значения — данные маршрута.

exim4_conf_values используется для создания конфигурационных файлов с плоскими значениями списка. Например, чтобы настроить список получателей для проверки входящих сообщений:

exim4_conf_values:
  - name: local_rcpt_callout
    data:
      - "*@example.com"
      - "*@example.net"

В результате будет создан файл со списком адресов /etc/exim4/local_rcpt_callout.

Для получения дополнительной информации о файлах, используемых пакетом exim4 Debian, пожалуйста, ознакомьтесь с man exim4-config_files.

Поддержка update-exim4.conf.conf

Следующие переменные и их значения по умолчанию используются для содержания файла /etc/exim4/update-exim4.conf.conf:

Переменная Значение по умолчанию Описание
exim4_dc_eximconfig_configtype internet Тип конфигурации почтового сервера
exim4_dc_other_hostnames ansible_hostname Другие назначения, для которых принимается почта
exim4_dc_local_interfaces 127.0.0.1 ; ::1 IP-адреса для прослушивания
exim4_dc_minimaldns false Сохранить минимальное количество DNS-запросов
exim4_dc_localdelivery mail_spool Метод доставки для локальной почты
exim4_dc_use_split_config false Разделить конфигурацию на маленькие файлы?
exim4_dc_mailname_in_oh true Только для внутреннего использования
exim4_dc_relay_nets пусто Машины для ретрансляции почты
exim4_dc_relay_domains пусто Домены для ретрансляции почты
exim4_CFILEMODE 644 Режим файла в восьмеричном формате для созданного файла

Переменные, специфичные для смарт-узла:

Переменная Значение по умолчанию Описание
exim4_dc_smarthost пусто IP адрес или имя хоста исходящего смарт-узла
exim4_dc_hide_mailname пусто Скрыть локальное имя почты в исходящей почте?
exim4_dc_readhost пусто Видимое доменное имя для локальных пользователей

Для получения дополнительной информации о значении этих конфигурационных переменных, пожалуйста, ознакомьтесь с страницей man для update-exim4.conf.

Следующие переменные используются в шаблоне по умолчанию для настройки Exim4:

  • exim4_custom_options
  • exim4_passwd_client: Данные учетной записи и пароля для SMTP аутентификации, когда Exim аутентифицируется как клиент на каком-либо удаленном сервере в виде списка.

Следующие функции встроены в эту роль:

  • 00_exim4-config_tls: Включает TLS в Exim
  • 02_exim4-custom_options: Пользовательские параметры, которые добавляются в конфигурацию ...

Настройка DKIM в Exim4

Настроить Exim для подписи исходящих сообщений с помощью DKIM так же легко, как:

exim4_dkim_enable: true

exim4_features_enable:
    - name: 30_exim4-config_dkim
      group: main

Чтобы перенастроить существующую установку Exim, добавьте эти переменные в соответствующие переменные группы или хоста, а затем запустите Ansible с метками exim4-dkim,exim4-reconfigure:

ansible-playbook -t exim4-dkim,exim4-reconfigure playbook.yml

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

dkim._domainkey.example.com IN TXT "k=rsa; p={{PUBLIC_KEY}}"

Где {{PUBLIC_KEY}} – это содержимое /etc/exim4/dkim.public с удаленными первой и последней строками, а также удаленными разрывами строк.

Следующие переменные и их значения по умолчанию используются:

Переменная Значение по умолчанию Описание
exim4_dkim_keysize 2048 Размер ключа
exim4_dkim_canon расслабленный Метод канонизации, используемый при подписании сообщения
exim4_dkim_selector dkim Строка селектора ключа

Вы можете настроить их в зависимости от ваших нужд.

Поддержка ротации логов Exim4

По умолчанию эта роль удерживает настройки ротации логов, как они указаны в пакете Debian. Чтобы настроить эти параметры, используются следующие переменные:

exim4_logrotate_base:
  - name: exim4-base
    path: /var/log/exim4/mainlog /var/log/exim4/rejectlog
    type: daily
    rotate: 10
    create: 640 Debian-exim adm

exim4_logrotate_paniclog:
  - name: exim4-paniclog
    path: /var/log/exim4/paniclog
    type: size 10M
    rotate: 10
    create: 640 Debian-exim adm

Этот пример настраивает ротацию mainlog и rejectlog на ежемесячной основе:

exim4_logrotate_base:
  - name: exim4-base
    path: /var/log/exim4/mainlog /var/log/exim4/rejectlog
    type: monthly

Включение или отключение функций в Exim4

Включите или отключите функции Exim4 для вашей настройки. Например:

exim4_features_enable:
  - name: 02_exim4-custom_options
    group: main

  - name: 30_exim4-config_dovecot_lmtp
    group: transport

exim4_features_disable:
  - name: 30_exim4-config_examples
    group: auth

exim4_custom_options:
  - daemon_smtp_ports: "25 : 465 : 587"
  - rfc1413_query_timeout: 0s
  - smtp_banner: "ESMTP server ready $tod_full"

Это включает встроенные функции:

  • 02_exim4-custom_options в конфигурационной группе main
  • 30_exim4-config_dovecot_lmtp в конфигурационной группе transport

И отключает функцию 30_exim4-config_examples, если она есть в /etc/exim/conf.d/auth.

Функция 02_exim4-custom_options добавляет пользовательские параметры, указанные в exim4_custom_options, в конфигурацию Exim4.

Следующие теги могут быть использованы для перенастройки Exim4:

  • exim4: выполняет все задачи в роли, если они не отключены явно
  • exim4-reconfigure: выполняет перенастройку для применения обновленных параметров (если таковые имеются)
  • exim4-reconfigure-logrotate: перенастройка ротации логов

Лицензия

BSD

Информация об авторе

О проекте

An Ansible role that installs and configures Exim4

Установить
ansible-galaxy install adegtyarev/ansible-role-exim4
Лицензия
Unknown
Загрузки
322
Владелец