[postfix-users] IPv6 bei localhost

Alexander Palm via postfix-users postfix-users at de.postfix.org
Sa Dez 28 16:06:14 CET 2013


Hallo liebe Postfix-User,

zum Hintergrund: ich habe meinen vServer die Tage auf DualStack Betrieb IPv4/IPv6 eingerichtet. Soweit läuft auch alles wunderbar - bist auf eine Kleinigkeit:

Im mail.log steht immer, wenn mailman eine mail intern zustellt folgend Warnung:

Dec 28 15:35:01 hxxxxxxx postfix/smtpd[16687]: warning: hostname localhost does not resolve to address ::1: No address associated with hostname
Dec 28 15:35:01 hxxxxxxx postfix/smtpd[16687]: connect from unknown[::1]

Die /etc/hosts ist meiner Meinung nach Richtig:

127.0.0.1	localhost
::1		localhost ip6-localhost ip6-loopback
fe00::0		ip6-localnet
ff00::0		ip6-mcastprefix
ff02::1		ip6-allnodes
ff02::2		ip6-allrouters

Die Mail wird auch zugestellt - aber die Warnung ist einfach verwunderlich.

Nach meiner bisherigen Analyse bin ich der Meinung, dass postfix evtl. nicht mit 2 localhost Einträgen in der hosts klar kommt oder er sie gar nicht verwendet. Wenn man allerdings die Mail über 127.0.0.1 einlieft geht alles:

Dec 28 15:35:09 hxxxxxxx postfix/smtpd[16687]: connect from localhost[127.0.0.1]

Und es gibt keine Warnung.

löse ich die Adressen via getent hosts auf:

# getent hosts 127.0.0.1
127.0.0.1       localhost
# getent hosts ::1
::1             localhost ip6-localhost ip6-loopback

Sieht es auch gut aus.

Ich bin am Ende meines Latein und wollte fragen ob hier schon jemand sowas beobachtet hat.

Mein derzeitiger Workaround ist:

# grep SMTP /etc/mailman/mm_cfg.py 
# Soll SMTP via IPv4 nutzen damit es keine Meldung in Postfix gibt:
SMTPHOST='127.0.0.1'

Damit „zwinge“ ich mailman die Mail auch local an die IPv4-Adresse zuzustellen und dann gibt es keine Meldung im log.

Wenn ich mit strace zugucke was da so passiert kann man auch sehen, dass er nach der Adresse sucht und die hosts versucht zu lesen:

accept(7, {sa_family=AF_INET6, sin6_port=htons(58349), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [28]) = 10

open("/etc/hosts", O_RDONLY|O_CLOEXEC)  = 12
fstat64(12, {st_mode=S_IFREG|0644, st_size=341, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb774b000
read(12, "127.0.0.1\tlocalhost\n::1\t\tlocalho"..., 4096) = 341
close(12)                               = 0

Und wie man sieht steht da auch was von ::1 localhost.

Wieso macht er damit nichts?

Sorry - ich weiß nicht mehr weiter - auch im Internet konnte ich nur Einträge zu Abgelehnten Mails finden aufgrund der nicht erfolgten Namensauflösung - das Problem habe ich ja nicht.

Achja das OS ist: Ubuntu 12.04.3 LTS

Danke, Gruß und guten Rutsch, Alex



Mehr Informationen über die Mailingliste postfix-users