Categories: Linux

Postfix mit kleinem DNS Problem

In letzter Zeit haben sich im Postfix Logfile folgende Meldungen gehäuft:

Dec 4 13:40:53 rom postfix/smtp[1474]: 4431B08: to=,
relay=none, delay=0, status=bounced (Host or domain name not found. Name service error for name=example.com type=A: Host found but no data record of requested type)

Betroffen hat es nur ein paar Domains, aber der Sache muss doch nachgegangen werden, die Mails kommen ja nicht an! 🙂

Rein vom Inhalt der Fehlermeldung tippt man natürlich gleich mal auf ein DNS Problem, aber DNS funktioniert auf dem Server ohne Probleme – jeder einzelne in der /etc/resolv.conf Datei eingetragene DNS Server liefert die passenden Antworten (dig @nameserver-ip example.com mx) bei der Frage nach dem Mailserver bzw. MX Record.

Auch Postfix hat in der Datei /var/spool/postfix/etc/resolv.conf eine korrekte Kopie der /etc/resolv.conf und verwendet diese auch. Das löschen des DNS Cache mit „rndc flush“ hat leider auch keine Linderung gebracht.

Meine vorläufige Lösung für dieses Problem ist wie folgt:

Da der Server ein Root-Server ist und der vorhandene DNS Server alle Anfragen nach fremden Domains von aussen blockt und nur die gehosteten Domains beantwortet, muss erst mal eine View her die vom lokal laufenden Postfix genutzt werden kann.

/etc/bind/named.conf.local:

acl „trusted“ {

localhost;

};

view „internal-in“ in {
match-clients { trusted; };
recursion yes;
additional-from-auth yes;
additional-from-cache yes;

zone „.“ in {
// Link in the root server hint file.
type hint;
file „/etc/bind/db.root“;
};

};

Durch diesen Eintrag kann nur von der IP-Adresse 127.0.0.1 eine Anfrage abseits der gehosteten Domains an den DNS Server gestellt werden, die Datei /etc/bind/db.root enthält eine Liste der aktuellen Root-DNS-Server und kann mit „dig ns . @a.root-servers.net > /etc/bind/db.root“ aktualisiert werden (sollte sie auch von Zeit zu Zeit, sonst ändern sich zu viele Root-DNS-Server-Adressen und der DNS Server findet keine mehr).

In der Datei /etc/resolv.conf füge ich in der ersten Zeile jetzt noch „nameserver 127.0.0.1“ ein und schon gehen alle DNS Anfragen vom lokalen Rechner nicht mehr über die DNS Server des Providers sonder über den lokalen DNS Server.

Nach dem Starten von Postfix verwendet auch der Mailserver die entsprechende resolv.conf und somit den lokalen DNS Server.

Und ab dem Moment funktionierte auch das Zustellen an die vorher fehlerhaften Domains wieder!
Etwas schade bei der Lösung ist, dass mir nach wie vor nicht wirklich klar ist warum es vorher teilweise nicht funktioniert hat – da ja der „dig“ immer korrekte antworten geliefert hat.

Ein passendes Sprichwort dazu: Der Zweck heiligt die Mittel!

Manfred

Recent Posts

VM – ZFS Partition online vergrößern

Man macht es nicht jeden Tag, darum schadet es nicht sich's kurz zu notieren... Hier…

1 Jahr ago

Samba Password History für einen User löschen

Meine Suche bei Google hatte mal wieder keinen vernünftigen Treffer gelandet, das Problem - ich…

1 Jahr ago

HP Eine Firma von der ich nicht mal geschenkte Drucker nehmen würde!!!

Ich muss mal eben etwas Druck ablassen, ein Kunde von mir setzt einen Drucker von…

2 Jahren ago

IRMC Console Redirection ohne Lizenz

Wer beim Server bestellen vergessen hat die erweiterte IRMC Lizenz zu ordern, der steht vor…

2 Jahren ago

WOL im BIOS aktivieren reicht nicht immer

Ich nutze seit langer Zeit ein System für meine Backups welches in der Nacht von…

2 Jahren ago

Apache Guacamole mit TOPT – funktioniert nicht

Es scheint wohl eine noch nicht so häufig genutzte Kombination zu sein - Apache Guacamole…

2 Jahren ago