adegtyarev.ansible_role_exim4
Rol de Ansible: Exim4
Rol de Ansible para instalar y configurar Exim4 en sistemas Debian o Ubuntu.
Con esta rol, puedes ajustar tu instalación de Exim4 utilizando variables.
Uso
Descarga una rol en tu anfitrión Ansible usando el comando ansible-galaxy que viene incluido con Ansible.
$ ansible-galaxy install adegtyarev.exim4
Define una rol en tu playbook y configura las opciones deseadas. Por ejemplo:
roles:
- role: adegtyarev.exim4
Las configuraciones predeterminadas instalan el paquete exim4-daemon-light
y no se realiza ninguna configuración adicional excepto la predeterminada para el sistema operativo. Esta rol sigue el concepto del paquete Debian para configurar Exim. A continuación, se muestra cómo habilitar o deshabilitar funciones en tu configuración.
Ten en cuenta que esta rol agrega el usuario Exim por defecto Debian-exim
al grupo ssl-cert
para permitir que el daemon acceda a los certificados y claves SSL.
Variables de Rol
Variable | Valor predeterminado | Descripción |
---|---|---|
exim4_package_name | exim4-daemon-light | Establece el nombre del paquete a instalar |
exim4_conf_keyvalue | vacío | Una lista de diccionarios de pares clave-valor (ver más abajo) |
exim4_conf_values | vacío | Una lista de diccionarios con valores por línea (ver más abajo) |
Para el valor de exim4_package_name una buena opción también es exim4-daemon-heavy
o cualquier otro nombre disponible para tu sistema.
Uso de listas de diccionarios
exim4_conf_keyvalue se usa para crear archivos de configuración con pares clave-valor. Por ejemplo, para configurar una lista de registros de route_data que se pueden usar para anular o complementar la información del MX desde el DNS:
exim4_conf_keyvalue:
- name: hubbed_hosts
data:
example.com: mail.example.com
example.net: mail.example.net
Como resultado, se creará el archivo /etc/exim4/hubbed_hosts
con pares clave-valor de patrones de dominio y datos de ruta.
exim4_conf_values se usa para crear archivos de configuración con valores de lista plana. Por ejemplo, para configurar una lista de destinatarios de sobres para los cuales los mensajes entrantes están sujetos a verificación del destinatario con una llamada:
exim4_conf_values:
- name: local_rcpt_callout
data:
- "*@example.com"
- "*@example.net"
Como resultado, se creará un archivo con la lista de direcciones /etc/exim4/local_rcpt_callout
.
Para más información sobre los archivos utilizados por el paquete Debian exim4, consulta man exim4-config_files
.
Manteniendo update-exim4.conf.conf
Las siguientes variables y sus valores predeterminados se utilizan para el contenido del archivo /etc/exim4/update-exim4.conf.conf
:
Variable | Valor predeterminado | Descripción |
---|---|---|
exim4_dc_eximconfig_configtype | internet | Tipo de configuración del servidor de correo |
exim4_dc_other_hostnames | ansible_hostname | Otros destinos para los que se acepta correo |
exim4_dc_local_interfaces | 127.0.0.1 ; ::1 | Direcciones IP para escuchar |
exim4_dc_minimaldns | false | Mantener el número de consultas DNS mínimo |
exim4_dc_localdelivery | mail_spool | Método de entrega para correo local |
exim4_dc_use_split_config | false | ¿Dividir la configuración en archivos pequeños? |
exim4_dc_mailname_in_oh | true | Solo uso interno |
exim4_dc_relay_nets | vacío | Máquinas para las que se relaya correo |
exim4_dc_relay_domains | vacío | Dominios para los que se relaya correo |
exim4_CFILEMODE | 644 | El modo de archivo octal del archivo generado |
Variables específicas para el Smarthost:
Variable | Valor predeterminado | Descripción |
---|---|---|
exim4_dc_smarthost | vacío | Dirección IP o nombre de host del smarthost saliente |
exim4_dc_hide_mailname | vacío | ¿Ocultar el nombre de correo local en el correo saliente? |
exim4_dc_readhost | vacío | Nombre de dominio visible para los usuarios locales |
Para más información sobre el significado de estas variables de configuración, consulta la página de manual de update-exim4.conf
.
Las siguientes variables se utilizan en la plantilla predeterminada para configurar Exim4:
- exim4_custom_options
- exim4_passwd_client: Datos de cuenta y contraseña para la autenticación SMTP cuando Exim se autentica como cliente ante algún servidor remoto como lista.
Las siguientes características están integradas en esta rol:
- 00_exim4-config_tls: Habilitar TLS en Exim
- 02_exim4-custom_options: Opciones personalizadas para agregar a la configuración ...
Configurar DKIM en Exim4
Configurar Exim para firmar los mensajes salientes con DKIM es tan fácil como:
exim4_dkim_enable: true
exim4_features_enable:
- name: 30_exim4-config_dkim
group: main
Para reconfigurar una instalación existente de Exim, agrega estas variables a las variables de grupo o de host correspondientes y luego ejecuta Ansible con las etiquetas exim4-dkim,exim4-reconfigure
:
ansible-playbook -t exim4-dkim,exim4-reconfigure playbook.yml
Esto generará una clave pública/privada que se utilizará para la firma y validación. Necesitarás publicar la clave pública resultante utilizando un registro TXT:
dkim._domainkey.example.com IN TXT "k=rsa; p={{PUBLIC_KEY}}"
Donde {{PUBLIC_KEY}}
es el contenido de /etc/exim4/dkim.public
con la primera y última línea eliminadas, y también sin saltos de línea.
Las siguientes variables y sus valores predeterminados se utilizan:
Variable | Valor predeterminado | Descripción |
---|---|---|
exim4_dkim_keysize | 2048 | Tamaño de la clave |
exim4_dkim_canon | relaxed | Método de canonización utilizado al firmar un mensaje |
exim4_dkim_selector | dkim | Cadena del selector de clave |
Puedes ajustarlas para que se adapten mejor a tu configuración.
Manteniendo la rotación de logs de Exim4
Por defecto, esta rol mantiene la configuración de rotación de logs como está configurada en el paquete de Debian. Para ajustar esta configuración se utilizan las siguientes variables:
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
Este ejemplo configura la rotación de mainlog y rejectlog de manera mensual:
exim4_logrotate_base:
- name: exim4-base
path: /var/log/exim4/mainlog /var/log/exim4/rejectlog
type: monthly
Habilitar o deshabilitar funciones en Exim4
Habilita o deshabilita funciones de Exim4 para tu configuración. Por ejemplo:
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: "Servidor ESMTP listo $tod_full"
Esto habilitará las características integradas:
02_exim4-custom_options
en el grupo de configuraciónmain
30_exim4-config_dovecot_lmtp
en el grupo de configuracióntransport
Y deshabilitará la función 30_exim4-config_examples
si existe en /etc/exim/conf.d/auth
.
La función 02_exim4-custom_options
agrega las opciones personalizadas proporcionadas en exim4_custom_options
a la configuración de Exim4.
Las siguientes etiquetas se pueden usar para reconfigurar Exim4:
- exim4: ejecuta todas las tareas en la rol a menos que se desactive explícitamente
- exim4-reconfigure: ejecuta la reconfiguración para aplicar parámetros actualizados (si los hay)
- exim4-reconfigure-logrotate: reconfigura la rotación de logs
Licencia
BSD
Información del autor
- Alexey Degtyarev alexey@renatasystems.org
ansible-galaxy install adegtyarev.ansible_role_exim4