Exchange 2019 SMTP external Relay einrichten

Anonyme Weiterleitung auf Exchange-Servern zulassen

Ein Open Relay ist eine sehr schlechte Sache für Messaging-Server im Internet. SMTP-Relays, die versehentlich oder absichtlich als offene Relays konfiguriert wurden, ermöglichen das transparente Weiterleiten von E-Mails von einer beliebigen Quelle über den offenen Relay-Server. Dieses Verhalten maskiert die ursprüngliche Quelle der Nachrichten und lässt sie so aussehen, als stamme die E-Mail vom offenen Relay-Server. Offene Relay-Server werden von Spammern eifrig gesucht und verwendet.

550 5.7.54 SMTP; Unable to relay recipient in non-accepted domain

Auf der anderen Seite sind anonymous relay eine häufige Anforderung für viele Unternehmen, die über interne Webserver, Datenbankserver, Montoring zur Überwachung oder andere Netzwerkgeräte verfügen, die E-Mail-Nachrichten generieren, diese Nachrichten jedoch nicht tatsächlich senden und zustellen können.

Exchange 2019 SMTP external Relay einrichten in der Powershell

Exchange Server können mit einem FrontEndTransport-Dienst auf einem Postfachserver einen dedizierten Empfangsconnector bereitstellen, der eine anonyme Weiterleitung von einer bestimmten Liste interner Netzwerkhosts ermöglicht.

Hierzu folgender Befehl in der Exchange-Verwaltungsshell ausführen, für den entsprechenden dedizierten Empfangsconnector:

In diesem Beispiel der Exchange 2019 Server EXCH19 mit dem Frontend Anonymous Relay als Empfangsconnector.

Mit folgendem Befehl überprüfen, ob das anonymous Relay erfolgreich konfiguriert ist:

Ping in der PowerShell

PowerShell ICMP Ping mit Test-Connection

Ping unter Windows 10 beschränkt sich nicht mehr nur zur Ausführung aus dem Command Prompt, dabei wartet Ping in der PowerShell mit zusätzlichen Möglichkeiten auf. Das Cmdlet Test-Connection in der PowerShell 7 enthält erweiterte Funktionen, wie Repeat und Traceroute oder als Ping Prozess im Hintergrund.

Test-Connection

Beispiele mit Test-Connection

Das Cmdlet Test-Connection sendet ICMP Echo-Anforderungspakete (Internet Control Message Protocol) an einen oder mehrere durch Komma getrennte Remote-Hosts und gibt die Echo Antworten zurück.

Mit der Option -Repeat wird wie dies von Ping bekannt ist, ICMP Anfragen an den angegebenen Host gesendet, bis zur Beendigung des Vorgangs, durch die Eingabe von CTRL+BREAK.

Dieses Beispiel zeigt, wie ein Test-Connection Befehl als PowerShell Hintergrund Job ausgeführt wird.

Routenverfolgung – Traceroute mit dem Test-Connection in der PowerShell.

Der in PowerShell 6.0 eingeführte Parameter Traceroute ordnet eine Routenverfolgung an, zwischen dem lokalen Computer und dem Remote-Ziel, das mit Parameter angegeben wird.

In einem weiteren Beispiel werden Parameter verwendet um den Befehl Test-Connection anzupassen. Der lokale Computer sendet einen Ping-Test an einen Remotecomputer.

Dieses Cmdlet ist ab PowerShell 6.0 und neuer verfügbar.

Test-Connection TCP Port Parameter

Der Parameter -TcpPort gibt die TCP-Portnummer zum Ziel an, die im TCP-Verbindungstest verwendet werden soll. Das Cmdlet versucht, eine TCP-Verbindung mit angegebenen Port zum Ziel herzustellen.

Wenn eine Verbindung hergestellt werden kann, wird $True zurückgegeben. Kann keine Verbindung hergestellt werden, wird $False zurückgegeben. Der Paramter -TcpPort ist ab PowerShell 7.0 und neuer verfügbar.

Test-Connection MTU Size Parameter

Der Parameter -MtuSize wird verwendet, um die Pfad MTU Größe zu ermitteln.

Das Cmdlet gibt ein PingReply#MTUSize Objekt zurück, das die Pfad MTU Größe zum Ziel enthält, es ist ab PowerShell 7.0 und neuer verfügbar.

Test-Connection Parameter Quiet

Der Parameter -Quiet gibt einen booleschen Wert zurück. Die Verwendung dieses Parameters unterdrückt alle Fehler.

Dieses Cmdlet ist ab PowerShell 7.0 und neuer verfügbar.

PowerShell Remoting Test-Connection

Im nächsten Beispiel wird eine Sitzung zum Server2 erstellt, wenn mindestens einer der an den Computer gesendeten Pings erfolgreich ist. Hierzu muss auf dem Remote Computer TrustedHosts konfiguriert werden.

Um HTTP für PowerShell-Remoting zu verwenden, führt man folgenden Befehl auf dem Remote-Host aus, von einem als Administrator geöffneten (cmd) Command Prompt.

Die TrustedHosts-Konfigurationseinstellung erfolgt durch ausführen von winrm.cmd mit der Option config/client auf dem Remote-Host.

Anfragen von 192.168.1.2 werden angenommen. Die Abfrage der Globale Konfiguration von WinRM ist wie folgt.