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
Информация об авторе
- Алексей Дегтярев alexey@renatasystems.org
ansible-galaxy install adegtyarev/ansible-role-exim4