29.6. Fehlerbehebung

Hier finden sich ein paar häufig gestellte Fragen und ihre Antworten, die von der FAQ übernommen wurden.

29.6.1. Warum muss ich einen FQDN (fully-qualified domain name / voll ausgeschriebenen Domänennamen) für meine Rechner verwenden?
29.6.2. Warum meldet Sendmail mail loops back to myself?
29.6.3. Wie kann ich einen E-Mail-Server auf einem Anwahl-PPP Rechner betreiben?
29.6.4. Warum bekomme ich die Fehlermeldung Relaying Denied, wenn ich E-Mails von anderen Rechnern verschicke?

29.6.1.

Warum muss ich einen FQDN (fully-qualified domain name / voll ausgeschriebenen Domänennamen) für meine Rechner verwenden?

Vielleicht befindet sich der Rechner in einer anderen Domäne. Um beispielsweise von einem Rechner in foo.bar.edu einen Rechner namens mumble in der Domäne foo.bar.edu zu erreichen, geben Sie seinen voll ausgeschriebenen Domänennamen (FQDN) mumble.bar.edu, anstelle von mumble an.

Das liegt daran, dass die aktuelle Version von BIND, die mit FreeBSD ausgeliefert wird, keine Standardabkürzungen für nicht komplett angegebene Domänennamen außerhalb der lokalen Domäne unterstützt. Daher muss ein nicht-qualifizierter Rechner, wie mumble, entweder als mumble.foo.bar.edu gefunden werden, oder er wird in der root Domäne gesucht.

In älteren Versionen von BIND lief die Suche über mumble.bar.edu und mumble.edu. RFC 1535 erklärt, warum dieses Verhalten als schlechte Praxis oder sogar als Sicherheitsloch angesehen wird.

Um das zu umgehen, setzen Sie die Zeile:

search foo.bar.edu bar.edu

anstatt der vorherigen

domain foo.bar.edu

in /etc/resolv.conf ein. Stellen Sie jedoch sicher, dass die Suchordnung nicht die Begrenzung von lokaler und öffentlicher Administration, wie RFC 1535 sie nennt, überschreitet.

29.6.2.

Warum meldet Sendmail mail loops back to myself?

Dies wird in der Sendmail FAQ wie folgt beantwortet. Es wird empfohlen, diese FAQ zu lesen, wenn an der Feinabstimmung des Mail-Setups gearbeitet wird.

Ich erhalte folgende Fehlermeldungen:

553 MX list for domain.net points back to relay.domain.net
554 <user@domain.net>... Local configuration error

Wie kann ich dieses Problem lösen?

        Sie haben durch die Benutzung eines MX-Eintrags eingestellt, dass
        Mail für die Domäne (z.B. domain.net) an einen speziellen
        Host (in diesem Fall relay.domain.net) weitergeleitet wird,
        aber der Relay-Host erkennt sich selbst nicht als
        domain.net.  Fügen Sie domain.net in /etc/mail/local-host-names
        [die Datei hieß vor der Version 8.10 /etc/sendmail.cw]
        (falls Sie FEATURE(use_cw_file) benutzen) oder "Cw domain.net"
        in /etc/mail/sendmail.cf ein.

Die aktuelle Version der Sendmail-FAQ wird nicht mehr mit dem Sendmail-Release verwaltet. Sie wird jedoch regelmäßig nach comp.mail.sendmail, comp.mail.misc, comp.mail.smail, comp.answers und news.answers gepostet. Sie können auch eine Kopie per E-Mail bekommen, indem Sie eine Mail mit dem Inhalt send usenet/news.answers/mail/sendmail-faq an mail-server@rtfm.mit.edu schicken.

29.6.3.

Wie kann ich einen E-Mail-Server auf einem Anwahl-PPP Rechner betreiben?

Sie wollen sich mit einem FreeBSD E-Mail Gateway im LAN verbinden. Die PPP-Verbindung ist keine Standleitung.

Ein Weg dies zu tun ist, von einem immer mit dem Internet verbundenen Server einen sekundären MX-Dienst für die Domäne zur Verfügung gestellt zu bekommen. In diesem Beispiel heißt die Domäne example.com, und der Internet-Dienstanbieter hat example.net so eingestellt, dass er für die Domäne einen sekundären MX-Dienst zur Verfügung stellt:

example.com.            MX        10      bigco.com.
                      MX        20      example.net.

Nur ein Rechner sollte als Endempfänger angegeben sein. Für Sendmail fügen Sie Cw example.com zu /etc/sendmail.cf auf example.com hinzu.

Wenn der MTA des Versenders versucht die E-Mail zuzustellen, wird es versuchen das System example.com über die PPP-Verbindung zu erreichen. Es kommt zu einer Zeitüberschreitung, wenn das Zielsystem offline ist. Der MTA wird die E-Mail automatisch der sekundären MX-Seite des Internet-Providers example.net) zustellen. Die sekundäre MX-Seite wird periodisch versuchen, eine Verbindung zur primären MX-Seite example.com aufzubauen.

Verwenden Sie etwas wie dies als Login-Skript:

#!/bin/sh
# Put me in /usr/local/bin/pppmyisp
( sleep 60 ; /usr/sbin/sendmail -q ) &
/usr/sbin/ppp -direct pppmyisp

Wenn Sie ein separates Login-Skript für einen Benutzer erstellen, benutzen Sie stattdessen sendmail -qRexample.com in dem oben gezeigten Skript. Das erzwingt die sofortige Verarbeitung der E-Mails in der Warteschlange für example.com

Eine weitere Verfeinerung der Situation kann an diesem Beispiel von FreeBSD Internet service providers entnommen werden:

> wir stellen einem Kunden den sekundären MX zur Verfügung.
> Der Kunde verbindet sich mit unseren Diensten mehrmals am Tag
> automatisch um die E-Mails zu seinem primären MX zu holen
> (wir wählen uns nicht bei ihm ein, wenn E-Mails für seine
> Domäne eintreffen).  Unser sendmail sendet den Inhalt der
> E-Mail-Warteschlange alle 30 Minuten.  Momentan muss er 30 Minuten
> eingewählt bleiben um sicher zu sein, dass alle seine E-Mails
> beim primären MX eingetroffen sind.
>
> Gibt es einen Befehl, der sendmail dazu bringt, alle E-Mails sofort
> zu senden? Der Benutzer hat natürlich keine root-Rechte auf
> unserer Maschine.

In der privacy flags Sektion von sendmail.cf befindet sich die
Definition Opgoaway,restrictqrun

Entferne restrictqrun um nicht-root Benutzern zu erlauben, die Verarbeitung
der Nachrichten-Warteschlangen zu starten.  Möglicherweise willst du
auch die MX neu sortieren.  Wir sind der primäre MX für unsere
Kunden mit diesen Wünschen und haben definiert:

# Wenn wir der beste MX für einen Rechner sind, versuche es direkt
# anstatt einen lokalen Konfigurationsfehler zu generieren.
OwTrue

Auf diesem Weg liefern Gegenstellen direkt zu dir, ohne die Kundenverbindung
zu versuchen.  Dann sendest du zu deinem Kunden.  Das funktioniert nur
für Rechner, du musst also deinen Kunden dazu bringen,
ihre E-Mail Maschine customer.com zu nennen, sowie
hostname.customer.com im DNS.  Setze einfach einen A-Eintrag
in den DNS für customer.com.

29.6.4.

Warum bekomme ich die Fehlermeldung Relaying Denied, wenn ich E-Mails von anderen Rechnern verschicke?

In der standardmäßigen FreeBSD-Installation wird Sendmail nur dazu konfiguriert, E-Mails von dem Rechner, auf dem es läuft, zu senden. Wenn zum Beispiel ein POP-Server installiert ist, können Benutzer ihre E-Mails von entfernten Standorten überprüfen. Sie werden jedoch keine E-Mails von außen verschicken können. Typischerweise wird ein paar Sekunden nach dem Versuch eine E-Mail von MAILER-DAEMON mit einer 5.7 Relaying Denied Fehlermeldung versendet werden.

Die einfachste Lösung ist, wie im folgenden Beispiel gezeigt, den FQDN des Internet-Dienstanbieters in /etc/mail/relay-domains einzutragen:

# echo "your.isp.example.com" > /etc/mail/relay-domains

Nachdem diese Datei erstellt oder editiert wurde, muss Sendmail neu gestartet werden. Das funktioniert großartig wenn der Server-Administrator E-Mails nicht lokal versenden möchte, oder einen MUA auf einer anderen Maschine oder sogar über einen anderen ISP verwendet. Es ist auch nützlich, wenn nur ein oder zwei E-Mail Accounts eingerichtet sind. Soll eine größere Anzahl Adressen hinzugefügt werden, fügen Sie je eine Adresse pro Zeile hinzu:

your.isp.example.com
other.isp.example.net
users-isp.example.org
www.example.org

Ab jetzt wird jede E-Mail, die von einem in der Liste eingetragenen Rechner durch das System geschickt wird, ihr Ziel erreichen, vorausgesetzt der Benutzer hat einen Account auf dem System. Dies erlaubt es Benutzern aus der Ferne, E-Mails über das System zu versenden, ohne dem Massenversand (SPAM) die Tür zu öffnen.

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.

Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.