it-swarm.com.de

Warum kann der Nagios-Benutzer keine E-Mails mit "sendmail" senden?

Ich habe nagios zum Überwachen und sendmail zum Senden von Mails installiert. Beim Testen vom Konto root erhalte ich E-Mails, aber ich erhalte keine E-Mails, wenn ich sie vom Konto nagios sende. Ich habe gegoogelt und festgestellt, dass nur root Benutzer E-Mails mit sendmail MTA senden können. Wie kann ich sendmail aktivieren, um E-Mails von nagios Konto zu senden?

Beachten Sie, dass ich keine Nachrichten direkt vom lokalen Computer sende, sondern stattdessen mein ISP/Provider-Relay verwende. In den folgenden Protokollen wird der Fehler vom Relais angezeigt, wenn die Nachricht von [email protected] stammt, nicht jedoch, wenn sie von [email protected] stammt.

Ausgabe von Nagios-Benutzer:

  1. cat/var/log/maillog

    Sep 19 15:52:32 ubuntubackup-chennai sendmail[6088]: q8JAMWXZ006088: from=nagios, size=237, class=0, nrcpts=1, msgid=<[email protected]>, [email protected]
    Sep 19 15:52:32 ubuntubackup-chennai sendmail[6089]: q8JAMWCn006089: from=<[email protected]>, size=517, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
    Sep 19 15:52:32 ubuntubackup-chennai sendmail[6088]: q8JAMWXZ006088: [email protected]****.com, ctladdr=nagios (496/492), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30237, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (q8JAMWCn006089 Message accepted for delivery)
    Sep 19 15:52:32 ubuntubackup-chennai sendmail[6091]: q8JAMWCn006089: to=<[email protected]****.com>, ctladdr=<[email protected]> (496/492), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=120517, relay=smtp10.netcore.co.in. [202.162.229.32], dsn=4.7.1, stat=Deferred: 450 4.7.1 <[email protected]****.com>: Sender address rejected: Please checked sender domain
    

Ausgabe vom Root-Benutzer:

  1. cat/var/log/maillog

    Sep 19 15:43:29 ubuntubackup-chennai sendmail[5158]: q8JADTt2005158: from=root, size=237, class=0, nrcpts=1, msgid=<[email protected]>, [email protected]
    Sep 19 15:43:29 ubuntubackup-chennai sendmail[5159]: q8JADTFO005159: from=<[email protected]>, size=511, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
    Sep 19 15:43:29 ubuntubackup-chennai sendmail[5158]: q8JADTt2005158: [email protected]****.com, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30237, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (q8JADTFO005159 Message accepted for delivery)
    Sep 19 15:43:30 ubuntubackup-chennai sendmail[5161]: q8JADTFO005159: to=<[email protected]****.com>, ctladdr=<[email protected]> (0/0), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=120511, relay=smtp10.netcore.co.in. [202.162.229.32], dsn=2.0.0, stat=Sent (_SMR_smtp9.netcore.co.in Ok: queued as 29CE7F6D4C)
    

Update 1:

sendmail.mc Konfigurationsdatei ist hier.

5
karthick87

Bearbeiten: Nach einer umfangreichen manuellen Abfrage Ihres SMTP-Relays kann das Problem darin bestehen, dass das Relay [email protected] als Absender blockiert:

 [izx.I5]? telnet smtp10.netcore.co.in 25 
 220 ESMTP 
 EHLO ********. com 
 ... 
 MAIL FROM: nagios @ ********. com 
 250 2.1.0 Ok 
 RCPT TO: karthick @ ********. com 
 450 4.7.1: Absenderadresse abgelehnt: Bitte überprüfen Sie, ob die Absenderdomäne 
 Beendet wurde 
 221 2.0.0 Bye 
 Verbindung durch fremden Host geschlossen 

Ist das Postfach [email protected]****.com vorhanden? Können Sie einfach versuchen, nagios umzuschreiben, um z. nagios1?

Fügen Sie dazu in /etc/sendmail.mc Folgendes hinzu:

 FEATURE (`genericstable ') dnl 
 GENERICS_DOMAIN_FILE (`/etc/mail/generics-domains') dnl 

Erstellen Sie die Datei /etc/mail/genericstable und fügen Sie die folgende Zeile hinzu:

 Nagios Nagiosk 

und /etc/mail/generics-domains und füge Zeilen hinzu:

 localhost 
 localhost.localdomain 

Führen Sie dann Sudo sendmailconfig aus und versuchen Sie es erneut.


Das Problem scheint Ihr SMTP-Relay bei netcore.co.in zu sein. Hosting-/ISP-SMTP-Relays sind niemals "offen" und werden normalerweise so eingestellt, dass sie nur E-Mails von einer "ihrer" Domänen und von einer "ihrer" IP-Adressen weiterleiten. Mails von [email protected] kommen wahrscheinlich nur durch, weil einige Mailserver-Daemons root erkennen und eine Ausnahme machen, manchmal sogar den Teil @localhost durch irgendetwas ersetzen Die umgekehrte DNS (oder IP) des Absenders ist (zum Beispiel, meine Nachrichten wurden einmal in Form von [email protected] durchlaufen). Dem Benutzer "nagios @ localhost" wird keine solche Höflichkeit gewährt.

Zwei Lösungen:

Am einfachsten ist es, Ihre sendmail FQDN auf das zu setzen (oder zu fälschen), was auch immer von Netcore erkannt/autorisiert wird.

Öffnen Sie dazu /etc/mail/sendmail.mc und fügen Sie diese Zeilen am Ende vor den Zeilen MAILER ein.

 MASQUERADE_AS ('karthick.com') 
 FEATURE (`masquerade_envelope ') 

Führen Sie dann Sudo sendmailconfig aus, und beantworten Sie alle Fragen mit "Ja". Stellen Sie sicher, dass sendmail neu gestartet wird. In hier finden Sie einige grundlegende Informationen zu Sendmail-Masquerading für die Weiterleitung.


Der Vollständigkeit halber können Sie auch nagios @ localhost verwenden. Deaktivieren Sie entweder die Weiterleitung in sendmail und verwenden Sie sie direkt (wenn Sie eine haben) statischer IP/PTR-Datensatz oder RDNS), OR Sie können sendmail so einrichten, dass eine SMTP-Authentifizierung mit dem Netcore-Relay durchgeführt wird.

Diese Netcore-Artikel können helfen. Sie können auch versuchen, sie zu fragen, wenn möglich:

6
ish

Zuallererst: Wenn Sie das Web überprüfen und Ihre Protokolle einsehen, scheint dies kein Problem für den Benutzer nagios zu sein. Es scheint ein Problem mit der Konfiguration von sendmail zu sein .

Um genauer zu sein, ein Benutzer in diesem Forum schlägt vor, dass er einen ähnlichen 450 error code erhält (er verwendete Postfix, aber ich gehe davon aus, dass es eine Art Protokoll gibt), der, wie in Ihrer Situation bezeichnet ebenfalls ein Problem mit domain not found. So zitieren Sie einen anderen Benutzer aus demselben Forum:

Dies liegt normalerweise an einer Fehlkonfiguration Ihres E-Mail-Clients, wenn die Absenderadresse für eine nicht vorhandene Domain bestimmt ist. Wenn es sich bei Ihrer Domain um eine neue Domain handelt, hat der Mailserver des Empfängers möglicherweise noch nicht mit der DNS-Weitergabe Schritt gehalten.

Während Sie localhost als Absenderdomain verwenden, glaube ich immer noch, dass noch mehr erledigt werden kann.

In der Tat scheint ein anderer Benutzer aus einem anderen Forum, auf das ich gestoßen bin ein ähnliches Problem zu haben wie der Benutzer im ersten Forum, zu dem ich einen Link erstellt habe, und er bekommt es auch der gleiche Fehlercode: 450. In diesem Forum wird ein anderer Benutzer zitiert, der angibt, dass es sich ebenfalls um ein DNS-Problem handelt.

Wichtig: Mir ist bekannt, dass Sie localhost und keine bestimmte Domain verwenden. Mir scheint es jedoch, dass es sich um ein Fehlkonfigurationsproblem des Programms sendmail handelt, anstatt dass Benutzer-Nagios keine Rechte haben oder irgendetwas.

Ich habe auch einige andere Quellen gefunden, die ich gerade recherchiere. Ich werde diese Antwort weiterhin aktualisieren, sobald ich mehr und mehr Informationen dazu bekomme.

[EDIT # 1]: Ein anderer Benutzer in einem anderen Forum wird zitiert und sagt :

Es sieht so aus, als würden Sie von [email protected] aus senden. Wenn der empfangende Server eine umgekehrte Suche nach dieser Adresse durchführt, schlägt dies fehl, da diese ungültig ist. Daher wird die E-Mail mit dem von Ihnen angegebenen Fehler korrekt zurückgewiesen. Stellen Sie sicher, dass Sie einen gültigen Servernamen/eine gültige Domäne für Ihren Server haben und dass dieser in DNS vorwärts und rückwärts nachgeschlagen werden kann.

Der Benutzer, der die Frage dort stellt, scheint jedoch nicht mit einem 450 error code konfrontiert zu sein. Allerdings bekommt er eine ähnliche Antwort auf das, was ich bisher im Interwebz gesehen habe.

[EDIT # 2]: Je mehr ich über Ihr Problem lese, desto mehr verstehe ich: Es scheint wie [email protected], das Sie als Domäne ausgewählt haben, die die E-Mails sendet, wird nicht an eine gültige IP-Adresse aufgelöst, und dies veranlasst den smtp10.netcore.co.in Server, mit einer 450 domain not found Antwort darauf zu antworten glaubt, dass Ihre Mail Spam ist:

Ja, "reject_unknown_sender_domain" kann viele Fehlalarme verursachen, aber es verringert den Spam.

Die wahrscheinlichste Lösung besteht darin, sicherzustellen, dass Sie eine Domain verwenden, die aufgelöst werden kann.

4
NlightNFotis

In meiner Nagios-Konfiguration ist der Befehl zum Versenden von E-Mails

/usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$

Probieren Sie aus, ob Sie E-Mails als Benutzer-Nagios über die Befehlszeile senden können:

su nagios
echo "test sendmail" | /usr/bin/mail -s "test" [email protected]

Dies kann entweder an einem fehlerhaften Pfad, an Zugriffsrechten oder daran liegen, dass der Mailserver die Zieladresse nicht akzeptiert. Bitte halten Sie uns über Ihre Testergebnisse auf dem Laufenden.

1
Floyd

Sendmail ist ein bisschen uralt. Während einige Leute es als den besten Mailserver betrachten, der jemals geschrieben wurde, gefällt es mir persönlich nicht im geringsten.

Meine Kombination zum Senden von E-Mails von lokalen Benutzerkonten an "externe" E-Mail-Adressen lautet postfix und bsd-mailx

Wenn Sie es versuchen möchten: Sudo apt-get install postfix bsd-mailx.

Wenn Sie auf diesem Host keine E-Mails erhalten möchten, können Sie Postfix ein wenig sicherer machen, indem Sie es an localhost binden. Führen Sie Sudo postconf -e 'inet_interfaces = localhost' && Sudo service postfix restart aus.

0
pgschk