adegtyarev.ansible_role_exim4
Rola Ansible: Exim4
Rola Ansible do zainstalowania i skonfigurowania Exim4 na systemach Debian lub Ubuntu.
Dzięki tej roli możesz dostosować swoją instalację Exim4 za pomocą zmiennych.
Użycie
Pobierz rolę na swój host Ansible, używając komendy ansible-galaxy, która jest dostarczana razem z Ansible.
$ ansible-galaxy install adegtyarev.exim4
Zdefiniuj rolę w swoim pliku playbook i skonfiguruj pożądane opcje. Na przykład:
roles:
- role: adegtyarev.exim4
Domyślnie instalowany jest pakiet exim4-daemon-light
, a dodatkowa konfiguracja nie jest wprowadzana poza ustawieniami domyślnymi dla systemu operacyjnego. Ta rola podąża za koncepcją pakietów Debiana dotyczącą konfigurowania Exim. Zobacz poniżej, jak włączyć lub wyłączyć funkcje w swojej konfiguracji.
Należy zauważyć, że ta rola dodaje domyślnego użytkownika Exim Debian-exim
do grupy ssl-cert
, aby demon mógł uzyskać dostęp do certyfikatów i kluczy SSL.
Zmienna roli
Zmienna | Wartość domyślna | Opis |
---|---|---|
exim4_package_name | exim4-daemon-light | Ustala nazwę pakietu do zainstalowania |
exim4_conf_keyvalue | pusta | Lista słowników z parami klucz-wartość (zobacz poniżej) |
exim4_conf_values | pusta | Lista słowników z wartościami w jednej linii (zobacz poniżej) |
Dla wartości exim4_package_name dobrym wyborem jest również exim4-daemon-heavy
lub jakakolwiek inna dostępna nazwa dla Twojego systemu.
Używanie list słowników
exim4_conf_keyvalue służy do tworzenia plików konfiguracyjnych z parami klucz-wartość. Na przykład, aby skonfigurować listę rekordów route_data, które można użyć do nadpisania lub uzupełnienia informacji MX z DNS:
exim4_conf_keyvalue:
- name: hubbed_hosts
data:
example.com: mail.example.com
example.net: mail.example.net
W rezultacie plik /etc/exim4/hubbed_hosts
zostanie utworzony z parami klucz-wartość dla wzorca domeny i danych trasowania.
exim4_conf_values służy do tworzenia plików konfiguracyjnych z płaską listą wartości. Na przykład, aby skonfigurować listę adresatów dla których przychodzące wiadomości podlegają weryfikacji adresata:
exim4_conf_values:
- name: local_rcpt_callout
data:
- "*@example.com"
- "*@example.net"
W rezultacie plik z listą adresów /etc/exim4/local_rcpt_callout
zostanie utworzony.
Aby uzyskać więcej informacji na temat plików używanych przez pakiet exim4 w Debianie, sprawdź man exim4-config_files
.
Utrzymywanie update-exim4.conf.conf
Poniższe zmienne i ich wartości domyślne są używane do skonfigurowania zawartości pliku /etc/exim4/update-exim4.conf.conf
:
Zmienna | Wartość domyślna | Opis |
---|---|---|
exim4_dc_eximconfig_configtype | internet | Typ konfiguracji serwera poczty |
exim4_dc_other_hostnames | ansible_hostname | Inne lokalizacje, z których akceptowana jest poczta |
exim4_dc_local_interfaces | 127.0.0.1 ; ::1 | Adresy IP, na których nasłuchuje |
exim4_dc_minimaldns | false | Minimalna liczba zapytań DNS |
exim4_dc_localdelivery | mail_spool | Metoda dostarczania poczty lokalnej |
exim4_dc_use_split_config | false | Podzielić konfigurację na mniejsze pliki? |
exim4_dc_mailname_in_oh | true | Tylko do użytku wewnętrznego |
exim4_dc_relay_nets | puste | Maszyny, które będą relacjonować pocztę |
exim4_dc_relay_domains | puste | Domeny, dla których będzie relacjonowana poczta |
exim4_CFILEMODE | 644 | Ośmiowa wartość trybu pliku generowanego |
Zmienne specyficzne dla smarthosta:
Zmienna | Wartość domyślna | Opis |
---|---|---|
exim4_dc_smarthost | puste | Adres IP lub nazwa hosta smarthosta wychodzącego |
exim4_dc_hide_mailname | puste | Ukryj lokalną nazwę poczty w wychodzącej poczcie? |
exim4_dc_readhost | puste | Widoczna nazwa domeny dla użytkowników lokalnych |
Aby uzyskać więcej informacji na temat znaczenia tych zmiennych konfiguracji, sprawdź stronę man
dla update-exim4.conf
.
Poniższe zmienne są używane w domyślnym szablonie do konfigurowania Exim4:
- exim4_custom_options
- exim4_passwd_client: Dane konta i hasła do autoryzacji SMTP, gdy exim autoryzuje się jako klient na zdalnym serwerze w postaci listy.
Poniższe funkcje są wbudowane w tę rolę:
- 00_exim4-config_tls: Włącz TLS w Exim
- 02_exim4-custom_options: Opcje niestandardowe do dodania do konfiguracji ...
Konfiguracja DKIM w Exim4
Konfiguracja Exim do podpisywania wychodzących wiadomości za pomocą DKIM jest tak prosta jak:
exim4_dkim_enable: true
exim4_features_enable:
- name: 30_exim4-config_dkim
group: main
Aby ponownie skonfigurować istniejącą instalację Exim, dodaj te zmienne do odpowiednich zmiennych grupowych lub hostowych, a następnie uruchom Ansible z tagami exim4-dkim,exim4-reconfigure
:
ansible-playbook -t exim4-dkim,exim4-reconfigure playbook.yml
To wygeneruje klucz publiczny/prywatny, który będzie używany do podpisywania i weryfikacji. Będziesz musiał opublikować wygenerowany klucz publiczny jako rekord TXT:
dkim._domainkey.example.com IN TXT "k=rsa; p={{PUBLIC_KEY}}"
Gdzie {{PUBLIC_KEY}}
to treść /etc/exim4/dkim.public
z usuniętymi pierwszą i ostatnią linią, oraz bez łamań linii.
Poniższe zmienne i ich wartości domyślne są używane:
Zmienna | Wartość domyślna | Opis |
---|---|---|
exim4_dkim_keysize | 2048 | Rozmiar klucza |
exim4_dkim_canon | relaxed | Metoda kanonizacji używana przy podpisywaniu wiadomości |
exim4_dkim_selector | dkim | Ciąg selektora klucza |
Możesz chcieć dopasować je do najlepszego dopasowania do swojej konfiguracji.
Utrzymywanie rotacji dzienników Exim4
Domyślnie ta rola utrzymuje ustawienia rotacji dzienników, takie jakie są ustalone w pakiecie Debiana. Aby dostosować te ustawienia, używane są następujące zmienne:
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
Ten przykład konfiguruje rotację mainlog i rejectlog na miesięcznej podstawie:
exim4_logrotate_base:
- name: exim4-base
path: /var/log/exim4/mainlog /var/log/exim4/rejectlog
type: monthly
Włączanie lub wyłączanie funkcji w Exim4
Włącz lub wyłącz funkcje Exim4 w swojej konfiguracji. Na przykład:
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"
To włączy wbudowane funkcje:
02_exim4-custom_options
w grupie konfiguracyjnejmain
30_exim4-config_dovecot_lmtp
w grupie konfiguracyjnejtransport
I wyłączy funkcję 30_exim4-config_examples
, jeśli istnieje w /etc/exim/conf.d/auth
.
Funkcja 02_exim4-custom_options
dodaje niestandardowe opcje podane w exim4_custom_options
do konfiguracji Exim4.
Poniższe tagi mogą być używane do ponownej konfiguracji Exim4:
- exim4: uruchamia wszystkie zadania w roli, chyba że wyraźnie wyłączone
- exim4-reconfigure: uruchamia ponowną konfigurację, aby zastosować zaktualizowane parametry (jeśli są)
- exim4-reconfigure-logrotate: ponownie konfiguruje rotację dzienników
Licencja
BSD
Informacje o autorze
- Alexey Degtyarev alexey@renatasystems.org
ansible-galaxy install adegtyarev.ansible_role_exim4