adegtyarev.ansible_role_exim4
Ansible Rolle: Exim4
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 Konfigurationsgruppemain
30_exim4-config_dovecot_lmtp
in der Konfigurationsgruppetransport
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
- Alexey Degtyarev alexey@renatasystems.org
ansible-galaxy install adegtyarev.ansible_role_exim4