Postfix no lee el fichero /etc/hosts

Si alguna vez habéis intentado forzar un determinado Host SMTP a través del fichero /etc/hosts probablemente os hayáis encontrado con el problema de que Postfix hace caso omiso y no lo lee.

El «culpable» de este comportamiento es el valor especificado en el parámetro smtp_host_lookup. Este parámetro tiene tres valores posibles:

  • DNS: buscar hosts únicamente por DNS
  • NATIVE: buscar hosts utilizando el sistema nativo (nsswitch.conf)
  • DNS, NATIVE: usar el servicio nativo únicamente si no se encuentra el host por DNS.

El valor establecido por defecto es «dns» así que si queréis que lea el fichero /etc/hosts lo tendréis que cambiar a «native».

Con el comando «postconf» podemos consultar el valor actual:

# postconf | grep smtp_host_lookup
smtp_host_lookup = dns

Lo podéis cambiar también con «postconf -e» o directamente añadirlo/modificarlo en el fichero de configuración main.cf (/etc/postfix/main.cf)

smtp_host_lookup = native