adegtyarev.ansible_role_exim4
Rôle Ansible : Exim4
Rôle Ansible pour installer et configurer Exim4 sur un système Debian ou Ubuntu.
Avec ce rôle, vous pouvez ajuster votre installation d'Exim4 en utilisant des variables.
Utilisation
Téléchargez un rôle sur votre hôte Ansible en utilisant la commande ansible-galaxy qui est fournie avec Ansible.
$ ansible-galaxy install adegtyarev.exim4
Définissez un rôle dans votre playbook et configurez les options souhaitées. Par exemple :
roles:
- role: adegtyarev.exim4
Les paramètres par défaut installent le package exim4-daemon-light
et aucune configuration supplémentaire n'est effectuée à part les valeurs par défaut pour le système d'exploitation. Ce rôle suit le concept de configuration du package Debian pour Exim. Voir ci-dessous comment activer ou désactiver des fonctionnalités dans votre configuration.
Notez que ce rôle ajoute l'utilisateur Exim par défaut Debian-exim
au groupe ssl-cert
pour permettre au démon d'accéder aux certificats et clés SSL.
Variables de rôle
Variable | Valeur par défaut | Description |
---|---|---|
exim4_package_name | exim4-daemon-light | Définit le nom du package à installer |
exim4_conf_keyvalue | vide | Une liste de dictionnaires de paires clé-valeur (voir ci-dessous) |
exim4_conf_values | vide | Une liste de dictionnaires avec des valeurs sur une ligne (voir ci-dessous) |
Pour exim4_package_name, un bon choix est également exim4-daemon-heavy
ou tout autre nom disponible pour votre système.
Utilisation de listes de dictionnaires
exim4_conf_keyvalue est utilisé pour créer des fichiers de configuration avec des paires clé-valeur. Par exemple, pour configurer une liste d'enregistrements route_data qui peuvent être utilisés pour remplacer ou compléter les informations MX provenant du DNS :
exim4_conf_keyvalue:
- name: hubbed_hosts
data:
example.com: mail.example.com
example.net: mail.example.net
En conséquence, le fichier /etc/exim4/hubbed_hosts
sera créé avec des paires clé-valeur de modèle de domaine et de données de route.
exim4_conf_values est utilisé pour créer des fichiers de configuration avec des valeurs de liste plate. Par exemple, pour configurer une liste de destinataires d'enveloppe pour lesquels les messages entrants sont soumis à une vérification de destinataires avec un appel :
exim4_conf_values:
- name: local_rcpt_callout
data:
- "*@example.com"
- "*@example.net"
En conséquence, un fichier avec la liste d'adresses /etc/exim4/local_rcpt_callout
sera créé.
Pour plus d'informations sur les fichiers utilisés par le package Debian exim4, veuillez consulter man exim4-config_files
.
Maintenir update-exim4.conf.conf
Les variables suivantes et leurs valeurs par défaut sont utilisées pour le contenu du fichier /etc/exim4/update-exim4.conf.conf
:
Variable | Valeur par défaut | Description |
---|---|---|
exim4_dc_eximconfig_configtype | internet | Type de configuration du serveur de messagerie |
exim4_dc_other_hostnames | ansible_hostname | Autres destinations pour lesquelles le courrier est accepté |
exim4_dc_local_interfaces | 127.0.0.1 ; ::1 | Adresses IP à écouter |
exim4_dc_minimaldns | false | Garder le nombre de requêtes DNS au minimum |
exim4_dc_localdelivery | mail_spool | Méthode de livraison pour le courrier local |
exim4_dc_use_split_config | false | Séparer la configuration en petits fichiers ? |
exim4_dc_mailname_in_oh | true | Utilisation interne uniquement |
exim4_dc_relay_nets | vide | Machines pour lesquelles relayer le courrier |
exim4_dc_relay_domains | vide | Domaines pour lesquels relayer le courrier |
exim4_CFILEMODE | 644 | Le mode de fichier octal du fichier généré |
Variables spécifiques au Smarthost :
Variable | Valeur par défaut | Description |
---|---|---|
exim4_dc_smarthost | vide | Adresse IP ou nom d'hôte du smarthost sortant |
exim4_dc_hide_mailname | vide | Masquer le nom de messagerie local dans le courrier sortant ? |
exim4_dc_readhost | vide | Nom de domaine visible pour les utilisateurs locaux |
Pour plus d'informations sur la signification de ces variables de configuration, veuillez consulter la page de manuel de update-exim4.conf
.
Les variables suivantes sont utilisées dans le modèle par défaut pour configurer Exim4 :
- exim4_custom_options
- exim4_passwd_client: Données de compte et de mot de passe pour l'authentification SMTP lorsque exim s'authentifie en tant que client auprès d'un serveur distant sous forme de liste.
Les fonctionnalités suivantes sont intégrées à ce rôle :
- 00_exim4-config_tls: Activer TLS dans Exim
- 02_exim4-custom_options: Options personnalisées à ajouter dans la config ...
Configurer DKIM dans Exim4
Configurer Exim pour signer les messages sortants avec DKIM est aussi simple que :
exim4_dkim_enable: true
exim4_features_enable:
- name: 30_exim4-config_dkim
group: main
Pour reconfigurer une installation Exim existante, ajoutez ces variables aux variables appropriées de groupe ou d'hôte, puis exécutez Ansible avec les balises exim4-dkim,exim4-reconfigure
:
ansible-playbook -t exim4-dkim,exim4-reconfigure playbook.yml
Cela générera une clé publique/privée qui sera utilisée pour la signature et la validation. Vous devrez publier la clé publique résultante à l'aide d'un enregistrement TXT :
dkim._domainkey.example.com IN TXT "k=rsa; p={{PUBLIC_KEY}}"
Où {{PUBLIC_KEY}}
est le contenu de /etc/exim4/dkim.public
avec les première et dernière lignes supprimées, et les retours à la ligne également supprimés.
Les variables suivantes et leurs valeurs par défaut sont utilisées :
Variable | Valeur par défaut | Description |
---|---|---|
exim4_dkim_keysize | 2048 | Taille de la clé |
exim4_dkim_canon | relaxed | Méthode de canonisation utilisée lors de la signature d'un message |
exim4_dkim_selector | dkim | Chaîne de sélection de clé |
Vous pouvez vouloir les ajuster pour mieux convenir à votre configuration.
Maintenir la rotation des logs d'Exim4
Par défaut, ce rôle maintient les paramètres de rotation des logs tels qu'ils sont définis dans le package Debian. Pour ajuster ces paramètres, les variables suivantes sont utilisées :
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
Cet exemple configure la rotation de mainlog et rejectlog sur une base mensuelle :
exim4_logrotate_base:
- name: exim4-base
path: /var/log/exim4/mainlog /var/log/exim4/rejectlog
type: monthly
Activer ou désactiver des fonctionnalités dans Exim4
Activez ou désactivez les fonctionnalités d'Exim4 pour votre configuration. Par exemple :
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: "Serveur ESMTP prêt $tod_full"
Cela activera les fonctionnalités intégrées :
02_exim4-custom_options
dans le groupe de configurationmain
30_exim4-config_dovecot_lmtp
dans le groupe de configurationtransport
Et désactivera la fonctionnalité 30_exim4-config_examples
si elle existe dans /etc/exim/conf.d/auth
.
La fonctionnalité 02_exim4-custom_options
ajoute les options personnalisées fournies dans
exim4_custom_options
à la configuration d'Exim4.
Les balises suivantes peuvent être utilisées pour reconfigurer Exim4 :
- exim4: exécute toutes les tâches dans le rôle, sauf si explicitement désactivé
- exim4-reconfigure: exécute la reconfiguration pour appliquer les paramètres mis à jour (le cas échéant)
- exim4-reconfigure-logrotate: reconfigurer la rotation des logs
Licence
BSD
Informations sur l'auteur
- Alexey Degtyarev alexey@renatasystems.org
ansible-galaxy install adegtyarev.ansible_role_exim4