pimvh.postfix
Requisitos
- Ansible instalado:
sudo apt install python3
python3 -m ensurepip --upgrade
pip3 install ansible
- Este rol instalado:
ansible-galaxy install pimvh.postfix
Variables requeridas
Revisa las variables como se muestra en los valores predeterminados. Se proporciona una descripción de lo que implican las variables en el archivo de especificaciones de argumentos, en meta/main.yaml. Las variables pasadas a este rol son validadas por la especificación de argumentos en tiempo de ejecución.
Ejemplo de playbook
Una forma sencilla de ejecutar este rol en un host es la siguiente:
- hosts:
- foo
vars:
postfix_ipv4: << Ingresa aquí la dirección IPv4 del servidor de correo postfix >>
postfix_ipv6: << Ingresa aquí la dirección IPv6 del servidor de correo Postfix >>
postfix_myhostname: "<< Ingresa aquí el nombre de dominio de postfix >>"
postfix_mydomain: "<< Ingresa aquí el dominio de postfix, por defecto es myhostname >>"
postfix_mynetworks:
- 127.0.0.0/8
- "::1/128" # No es necesario entre corchetes las direcciones IPv6, esto se maneja con filtros
# Agrega redes adicionales si es necesario
postfix_virtual_alias_domains: [] # Agrega dominios de alias virtuales si es necesario (ver meta/main.yaml para estructura)
postfix_relay_domains: [] # Agrega dominios de reenvío si es necesario (ver defaults/main.yaml para estructura)
postfix_aliases: # Agrega alias de usuario si es necesario
- user: root
alias: postmaster
# también puede ser una lista de usuarios
# - users:
# - fred
# - foo
# - bar
# alias: algo
postfix_virtual_aliases: [] # Agrega alias virtuales si es necesario (ver meta/main.yaml para estructura)
# Probablemente puedes omitir el resto de las variables
# postfix_install: true
# postfix_dir: /etc/postfix
# postfix_dkim_enabled: true # DKIM está habilitado por defecto
# postfix_dkim_keys:
# default:
# mail: "*"
# Colocación de archivos DKIM en el sistema de archivos
# postfix_dkim_keytable: /etc/opendkim/keytable
# postfix_dkim_signingtable: /etc/opendkim/signingtable
# postfix_dkim_trustedhosts: "/etc/opendkim/trustedhosts"
# La ubicación del certificado se basa en el lugar predeterminado de certbots (puedes ejecutar el rol pimvh.certbot para obtener certificados)
# postfix_smtpd_tls_cert_file: "/etc/letsencrypt/live/{{ postfix_mydomain }}/fullchain.pem"
# postfix_smtpd_tls_key_file: "/etc/letsencrypt/live/{{ postfix_mydomain }}/privkey.pem"
roles:
- pimvh.postfix
Probablemente te ahorres algunos cambios si no configuras las variables en línea, sino basándote en hosts y/o grupos. Sin embargo, esto depende de tu caso de uso específico. Echa un vistazo a la configuración recomendada de playbook de Ansible para esto.
Resumen - ¿Qué ocurrirá si ejecuto esto?
- Validará si las variables están correctas
- Instalará postfix
- Instalará y configurará amavis
- Instalará y configurará opendkim
- Instalará y configurará opendmarc
- Instalará y configurará dovecot con usuarios del sistema y directorio de correo virtual
- Configurará mailutils (instalado por el rol del que depende esto)
Lo que este rol no hace
Cortafuegos
Este rol no gestiona ningún cortafuegos, ya que probablemente tengas requisitos específicos para eso. Probablemente no quieras abrir tu puerto IMAP a toda la internet, si puedes evitarlo. ¡Así que ten cuidado!
Configuración de un backend de base de datos
No he tenido tiempo de configurar la instalación de una base de datos como backend para postfix. Si estás interesado, siéntete libre de contribuir.
Solución de problemas
Este rol valida las variables pasadas. Si:
- ves problemas con la especificación de argumentos, probablemente cometiste un error al pasar variables a este rol.
- encuentras problemas al ejecutar este playbook, no dudes en describir tu problema con detalle y abrir un incidente.
Mejoras futuras
Todavía hay muchas cosas que se pueden mejorar para este rol. Las siguientes son algunas cosas que estoy considerando agregar:
- Agregar una herramienta de análisis de dmarc
- Agregar un mejor backend al servidor postfix, como una base de datos en lugar del sistema de archivos simple.
Si tienes otras mejoras, no dudes en abrir un incidente.
Fuentes
role to configure postfix, with ClamAV, Amavis, DKIM, SPF and DMARC
ansible-galaxy install pimvh.postfix