adegtyarev.ansible_role_exim4

Ansible Rolle: Exim4

Build-Status

Ansible-Rolle zum Installieren und Konfigurieren von Exim4 auf Debian- oder Ubuntu-Systemen.

Mit dieser Rolle können Sie Ihre Exim4-Installation mithilfe von Variablen anpassen.

Verwendung

Laden Sie eine Rolle auf Ihren Ansible-Host mit dem Befehl ansible-galaxy herunter, der mit Ansible geliefert wird.

$ ansible-galaxy install adegtyarev.exim4

Definieren Sie eine Rolle in Ihrem Playbook und richten Sie die gewünschten Optionen ein. Zum Beispiel:

roles:
  - role: adegtyarev.exim4

Die Standardinstallation installiert das Paket exim4-daemon-light und es wird keine weitere Konfiguration vorgenommen, außer den Standard für das Betriebssystem. Diese Rolle folgt dem Debian-Paketkonzept zur Konfiguration von Exim. Siehe unten, wie man Funktionen in Ihrer Einrichtung aktivieren oder deaktivieren kann.

Beachten Sie, dass diese Rolle den Standard-Exim-Benutzer Debian-exim zur Gruppe ssl-cert hinzufügt, damit der Daemon auf SSL-Zertifikate und -schlüssel zugreifen kann.

Rollenvariablen

Variable Standardwert Beschreibung
exim4_package_name exim4-daemon-light Legt den zu installierenden Paketnamen fest
exim4_conf_keyvalue leer Eine Liste von Dictionaries mit Schlüssel-Werten (siehe unten)
exim4_conf_values leer Eine Liste von Dictionaries mit Werten pro Zeile (siehe unten)

Für den Wert exim4_package_name ist eine gute Wahl auch exim4-daemon-heavy oder ein anderer Name, der für Ihr System verfügbar ist.

Verwendung von Listen von Dictionaries

exim4_conf_keyvalue wird verwendet, um Konfigurationsdateien mit Schlüssel-Wert-Paaren zu erstellen. Zum Beispiel, um eine Liste von Route_Daten-Aufzeichnungen zu konfigurieren, die verwendet werden können, um MX-Informationen aus dem DNS zu überschreiben oder zu ergänzen:

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

In der Folge wird die Datei /etc/exim4/hubbed_hosts mit Schlüssel-Wert-Paaren von Domänenmustern und Routeninformationen erstellt.

exim4_conf_values wird verwendet, um Konfigurationsdateien mit flachen Listenwerten zu erstellen. Zum Beispiel, um eine Liste von Empfängern zu konfigurieren, für die eingehende Nachrichten einer Empfängerüberprüfung unterzogen werden, mit einem Callout:

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

Das Ergebnis ist eine Datei mit der Adressliste /etc/exim4/local_rcpt_callout.

Für weitere Informationen über die Dateien, die vom Debian Exim4-Paket verwendet werden, konsultieren Sie man exim4-config_files.

Pflege von update-exim4.conf.conf

Die folgenden Variablen und deren Standardwerte werden für den Inhalt der Datei /etc/exim4/update-exim4.conf.conf verwendet:

Variable Standardwert Beschreibung
exim4_dc_eximconfig_configtype internet Konfigurationstyp des Mailservers
exim4_dc_other_hostnames ansible_hostname Andere Ziele, für die Mail akzeptiert wird
exim4_dc_local_interfaces 127.0.0.1 ; ::1 IP-Adressen, auf denen zugehört wird
exim4_dc_minimaldns false Halten Sie die Anzahl der DNS-Abfragen minimal
exim4_dc_localdelivery mail_spool Liefermethode für lokale Mails
exim4_dc_use_split_config false Konfiguration in kleine Dateien aufteilen?
exim4_dc_mailname_in_oh true Nur interne Verwendung
exim4_dc_relay_nets leer Maschinen, für die Mails weitergeleitet werden
exim4_dc_relay_domains leer Domains, für die Mails weitergeleitet werden
exim4_CFILEMODE 644 Der octale Dateimodus der generierten Datei

Smarthost-spezifische Variablen:

Variable Standardwert Beschreibung
exim4_dc_smarthost leer IP-Adresse oder Hostname des ausgehenden Smarthost
exim4_dc_hide_mailname leer Lokalen Mailnamen in ausgehenden Mails verbergen?
exim4_dc_readhost leer Sichtbarer Domainname für lokale Benutzer

Für mehr Informationen über die Bedeutung dieser Konfigurationsvariablen konsultieren Sie die Man-Seite für update-exim4.conf.

Die folgenden Variablen werden in der Standardvorlage zur Konfiguration von Exim4 verwendet:

  • exim4_custom_options
  • exim4_passwd_client: Konten- und Passwortdaten für die SMTP-Authentifizierung, wenn Exim als Client zu einem Remote-Server authentifiziert.

Die folgenden Funktionen sind in diese Rolle eingebaut:

  • 00_exim4-config_tls: Aktiviert TLS in Exim
  • 02_exim4-custom_options: Benutzerdefinierte Optionen hinzufügen

...

DKIM in Exim4 konfigurieren

Exim so zu konfigurieren, dass ausgehende Nachrichten mit DKIM signiert werden, ist einfach:

exim4_dkim_enable: true

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

Um eine vorhandene Exim-Installation neu zu konfigurieren, fügen Sie diese Variablen zu den entsprechenden Gruppen- oder Host-Variablen hinzu und führen Sie dann Ansible mit den exim4-dkim,exim4-reconfigure Tags aus:

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

Dies generiert ein öffentliches/privates Schlüssel, das zur Signierung und Validierung verwendet wird. Sie müssen den resultierenden öffentlichen Schlüssel über einen TXT-Eintrag veröffentlichen:

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

Wobei {{PUBLIC_KEY}} der Inhalt von /etc/exim4/dkim.public ohne die ersten und letzten Zeilen und ohne Zeilenumbrüche ist.

Die folgenden Variablen und deren Standardwerte werden verwendet:

Variable Standardwert Beschreibung
exim4_dkim_keysize 2048 Schlüssellänge
exim4_dkim_canon relaxed Kanonalisierungsmethode, die beim Signieren einer Nachricht verwendet wird
exim4_dkim_selector dkim Schlüsselbezeichner-String

Sie möchten diese möglicherweise an Ihre Einrichtung anpassen.

Pflege der Exim4-Logrotation

Standardmäßig hält diese Rolle die Logrotiereinstellungen so, wie sie im Debian-Paket festgelegt sind. Um diese Einstellungen anzupassen, werden die folgenden Variablen verwendet:

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

Dieses Beispiel richtet die Rotation von mainlog und rejectlog monatlich ein:

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

Aktivieren oder Deaktivieren von Funktionen in Exim4

Aktivieren oder Deaktivieren Sie Exim4-Funktionen für Ihre Einrichtung. Zum Beispiel:

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"

Dies wird die integrierten Funktionen aktivieren:

  • 02_exim4-custom_options in der Konfigurationsgruppe main
  • 30_exim4-config_dovecot_lmtp in der Konfigurationsgruppe transport

Und die Funktion 30_exim4-config_examples deaktivieren, falls sie in /etc/exim/conf.d/auth existiert.

Die Funktion 02_exim4-custom_options fügt benutzerdefinierte Optionen, die in exim4_custom_options bereitgestellt werden, zur Exim4-Konfiguration hinzu.

Die folgenden Tags können verwendet werden, um Exim4 neu zu konfigurieren:

  • exim4: führt alle Aufgaben in der Rolle aus, es sei denn, sie sind ausdrücklich deaktiviert
  • exim4-reconfigure: führt eine Neukonfiguration aus, um aktualisierte Parameter anzuwenden (falls vorhanden)
  • exim4-reconfigure-logrotate: konfiguriert die Logrotation neu

Lizenz

BSD

Autorinformationen

Über das Projekt

An Ansible role that installs and configures Exim4

Installieren
ansible-galaxy install adegtyarev.ansible_role_exim4
GitHub Repository
Lizenz
Unknown
Downloads
347