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 liegen die Rechner in einer unterschiedlichen Domäne; zum Beispiel, wenn Sie sich in foo.bar.edu befinden, und einen Rechner namens mumble in der bar.edu Domäne erreichen wollen, müssen Sie ihn mit dem voll ausgeschriebenen Domänennamen mumble.bar.edu kontaktieren, anstatt bloß mit mumble.

Traditionell wurde das von dem BSD BIND Resolver erlaubt. Wie auch immer, die aktuelle Version von BIND, die mit FreeBSD ausgeliefert wird, bietet keine Standardabkürzungen für nicht komplett angegebene Domänennamen außerhalb der Domäne, in der Sie sich befinden. Daher muss ein nicht-qualifizierter Rechner mumble entweder als mumble.foo.bar.edu gefunden werden, oder er wird in der root Domäne gesucht.

Damit unterscheidet es sich von vorherigem Verhalten, bei dem die Suche über mumble.bar.edu und mumble.edu lief. Schauen Sie sich RFC 1535 an, wenn Sie wissen möchten, warum das als schlecht und sogar als Sicherheitsloch angesehen wurde.

Um das zu umgehen, können Sie die Linie

search foo.bar.edu bar.edu

anstatt der vorherigen

domain foo.bar.edu

in Ihre /etc/resolv.conf einsetzen. Aber stellen Sie 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:

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 einen FreeBSD-Rechner in einem LAN an das Internet anbinden. Der FreeBSD-Rechner wird ein E-Mail Gateway für das LAN. Die PPP-Verbindung ist keine Standleitung.

Es gibt mindestens zwei Wege um dies zu tun. Einer davon ist UUCP zu verwenden.

Ein anderer Weg ist, von einem immer mit dem Internet verbundenen Server einen sekundären MX-Dienst für Ihre Domäne zur Verfügung gestellt zu bekommen. Wenn die Domäne Ihrer Firma example.com ist, und Ihr Internet-Dienstanbieter example.net so eingestellt hat, dass er Ihrer 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ügen Sie Cw example.com zu /etc/sendmail.cf auf example.com).

Wenn das sendmail des Versenders versucht, die E-Mail zuzustellen, wird es versuchen, Sie über die Modem-Verbindung (example.com) zu erreichen. Wahrscheinlich wird es keine Verbindung zustande bringen können, da Sie nicht eingewählt sind. sendmail wird die E-Mail automatisch zu der sekundären MX-Stelle geliefert, zu Ihrem Internet-Provider (example.net). Die sekundäre MX-Stelle wird periodisch versuchen versuchen eine Verbindung zu Ihnen aufzubauen, um die E-Mail zu der primären MX-Stelle (example.com zu liefern.

Eventuell wollen 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 wollen, könnten Sie stattdessen sendmail -qRexample.com in dem oben gezeigten Skript verwenden. Das erzwingt die sofortige Verarbeitung der E-Mails in Ihrer Warteschlange für example.com

Eine weitere Verfeinerung der Situation ist wie folgt:

Die Nachricht wurde der FreeBSD Internet service providers entnommen.

> 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 der Schule, von der Arbeit oder von anderen Orten ü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.

Es sind mehrere Wege möglich, dies zu umgehen. Die geradlinigste Lösung ist die Adresse Ihres Internet-Dienstanbieters in die Datei für die Weiterleitungs-Domänen zu platzieren. Das lässt sich schnell erreichen mit:

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

Nach Erstellen oder Editieren dieser Datei müssen Sie sendmail neu starten. Das funktioniert großartig wenn Sie ein Server-Administrator sind und E-Mails nicht lokal versenden, oder gerne ein Client/System mit grafischer Oberfläche auf einer anderen Maschine oder sogar über einen anderen Internet-Dienstanbieter verwenden wollen. Es ist auch sehr nützlich, wenn Sie nur ein oder zwei E-Mail Accounts eingerichtet haben. Soll eine größere Anzahl Adressen hinzugefügt werden, können Sie die Datei einfach in Ihrem favorisierten Editor öffnen und die Domänen anfügen, je eine pro Zeile:

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

Jetzt wird jede E-Mail, die durch Ihr System von einem der in diese Liste eingetragenen Rechner geschickt wurde, ihr Ziel erreichen (vorausgesetzt, der Benutzer hat einen Account auf Ihrem System). Dies ist ein sehr schöner Weg, um Benutzern das entfernte E-Mail Versenden von Ihrem System zu erlauben, 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>.