Hi,

Postfix fails to start up due to inability to deal with inet_interface =
$myhostname resolving to (also) IPv6 link-local address(es):

postfix/postfix-script[1200]: starting the Postfix mail system
postfix/master[1202]: fatal: bind fe80::20c:29ff:fec7:e39f port 25: Invalid 
argument
postfix/master[1201]: fatal: daemon initialization failure -- see logs for 
details
postfix/postfix-script[1203]: fatal: mail system startup failed

Background story:

Back in October 2024, Fedora Linux changed the /etc/nsswitch.conf
setting for hosts to:

hosts:      files myhostname resolve [!UNAVAIL=return] dns

This change moved the "myhostname" plugin before the "dns" lookup
plugin in order to avoid doing actual DNS lookups for the machine's
own hostname/FQDN: https://bugzilla.redhat.com/show_bug.cgi?id=2257197#c3

Unlike DNS, the nss-myhostname module returns all system addresses, also
link-local:

[dr@naboo ~]$ postconf inet_interfaces
inet_interfaces = $myhostname
[dr@naboo ~]$ postconf myhostname
myhostname = naboo.cluenet.de
[dr@naboo ~]$ getent ahosts naboo.cluenet.de
fe80::20c:29ff:fec7:e39f%2 STREAM naboo.cluenet.de
fe80::20c:29ff:fec7:e39f%2 DGRAM
fe80::20c:29ff:fec7:e39f%2 RAW
2001:1440:201:3200::17 STREAM
2001:1440:201:3200::17 DGRAM
2001:1440:201:3200::17 RAW
195.20.121.17   STREAM
195.20.121.17   DGRAM
195.20.121.17   RAW

When investigating, I found some discussion with nss-myhostname's
author (L. Poettering) that seems to indicate that this behaviour
is intentional. Debian ran into a similar problem around 2013 with
their ping6, and Lennart (author of NSS myhostname) confirmed returning
LL addresses is intentional:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=705900#128
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=705900#178

Postfix cannot deal with link-local according to the code in
src/global/own_inet_addr.c I looked at. It doesn't expect link-local
addresses get returned, has no provisions for dealing with address
scopes so subsequent binding to those addresses fails due to missing
address scope I guess.


Best regards,
Daniel

_______________________________________________
Postfix-users mailing list -- postfix-users@postfix.org
To unsubscribe send an email to postfix-users-le...@postfix.org

Reply via email to