Hat euch der erste Beitrag Microsoft Exchange 2019: Core Installation gefallen und seid nun hier gelandet für die Fortsetzung? Gut so dann machen wir uns doch gleich ans Werk!
Ok, wir haben also den Exchange installiert. Ich installierte anschließend noch ein Office Paket auf einem Client.
Microsoft Exchange 2019: Vorarbeiten DNS
Danach musste ich bei meinem DNS-Provider (GoDaddy) noch die "mindest" DNS-Einträge erstellen:
- A-Record: mail.pampersjoe.de
- A-Record: autodiscover.pampersjoe.de
- MX-Record: mail.pampersjoe.de (Prio 10)
Microsoft Exchange 2019: Vorarbeiten Firewall
In eurem Router/Firewall müsst Ihr noch den Port 25 sowie 443 entsprechend weiterleiten auf den Exchange.
In meinem Fall benutze ich jedoch eine pfSense die zeitgleich die Zertifikate für mich erstellt UND Proxy spielt. Hierzu habe ich allerdings schon Beiträge erstellt siehe hier: pfSense: HA-Proxy und pfSense: LetsEncrypt Zertifikate
D.h. nachdem ich diese Vorbereitungen getroffen habe, kann man schon JETZT testen ob Outlook-Web-Access (kurz OWA) und Exchange Admin Center (kurz ECP) funktionieren. Auch noch ein Satz zum ECP, mir ist klar, dass man nicht zwingend extern ECP zur Verfügung stellen sollte, ich wollte damit jedoch beweisen, dass man das ohne Probleme mit der pfSense erledigen kann!
Tada... funktioniert!
Und auch mein Zertifikat funktioniert anscheinend einwandfrei.
Microsoft Exchange 2019: DNS intern
Da wir die Domäne jedoch nicht nur extern betreiben sondern auch intern, so muss ich hier auch was tun, denn ein Client würde sein DNS anfragen, was in meinem Fall der DC ist. Der hostet jedoch die Domäne selbst und würde somit in seiner Zone schauen, ob er dort "mail" bzw. "autodiscover" findet. Das tut er natürlich nicht.
Das könnte ich zwar nachpflegen ABER man sollte sich dann überlegen, wohin man zeigen möchte. Würde ich direkt auf den Exchange zeigen, dann müsste er selbst ein Zertifikat haben, welches auf mail.pampersjoe.de und autodiscover.pampersjoe.de ausgestellt wäre. Diesem Zertifikat würden aber natürlich auch nur diejenigen vertrauen, die der internen CA vertrauen. (sofern natürlich über eine interne CA ausgestellt). Ich könnte natürlich auch mit nslookup schauen, wohin mail.pampersjoe.de hin zeigt, aber das wäre die externe IP, d.h. meine Anfragen schicke ich nach extern und wieder rein was ja gar kein Sinn macht, daher zeige ich einfach auf mein Proxy, welcher schon ein echtes Zertifikat besitzt!
Würde nun mit einem NSLOOKUP so aussehen.
Microsoft Exchange 2019: Festplatte mit Diskpart Partitionieren
Da ich zwei Festplatten zur Verfügung stelle, aber die zweite bisher vernachlässigt habe, so muss ich das jetzt nachholen. Wenn wir schon auf der Konsole sind, dann machen wir das doch auch gleich mit Diskpart.
Wir tippen "diskpart" und lassen uns mit "list disk" die Platten aufzählen.
Mit "list partition" können wir sehen, dass wir noch keine Partition haben, das holen wir jetzt nach!
Hierzu müssen wir nur folgende Befehle ausführen:
create partition primary
active
format fs=ntfs quick
assign letter=m
Ich entschied mich für den Laufwerksbuchstaben M, da ich später die (M)ailbox-DBs hierhin umziehen möchte.
Microsoft Exchange 2019: Datenbank umbennen und umziehen
Wir bleiben auf dem Exchange und könnten mit "LaunchEMS" die Exchange Management Shell starten.
Warum wir die Datenbank umbennen ist schnell ersichtlich, denn der Name der erstellt wird ist so kryptisch, wie wenn Ihr einen Windows-Client erstellt.
Datenbanken auslesen könnt Ihr mit
Get-MailboxDatabase
und umbennen mit
Get-MailboxDatabase -Server <Servername> | Set-MailboxDatabase -Name <neuer-DB-Name>
Und nun bewegen wir die Datenbank auf die zweite Platte mit:
Move-DatabasePath <DB-Name> -EdbFilePath M:\<Ordner>\<DB>.edb -LogFolderPath M:\<Ordner>\
Microsoft Exchange 2019: Virtuelle Verzeichnisse
Wir müssen nun die URLs für die Clients erstellen, hierzu bediene ich mich einfach einem Script aus dem Netz.
$servername = "server2019ex"
$internalhostname = "mail.pampersjoe.de"
$externalhostname = "mail.pampersjoe.de.de"
$autodiscoverhostname = "autodiscover.pampersjoe.de"
$owainturl = "https://" + "$internalhostname" + "/owa"
$owaexturl = "https://" + "$externalhostname" + "/owa"
$ecpinturl = "https://" + "$internalhostname" + "/ecp"
$ecpexturl = "https://" + "$externalhostname" + "/ecp"
$ewsinturl = "https://" + "$internalhostname" + "/EWS/Exchange.asmx"
$ewsexturl = "https://" + "$externalhostname" + "/EWS/Exchange.asmx"
$easinturl = "https://" + "$internalhostname" + "/Microsoft-Server-ActiveSync"
$easexturl = "https://" + "$externalhostname" + "/Microsoft-Server-ActiveSync"
$oabinturl = "https://" + "$internalhostname" + "/OAB"
$oabexturl = "https://" + "$externalhostname" + "/OAB"
$mapiinturl = "https://" + "$internalhostname" + "/mapi"
$mapiexturl = "https://" + "$externalhostname" + "/mapi"
$aduri = "https://" + "$autodiscoverhostname" + "/Autodiscover/Autodiscover.xml"
Get-OwaVirtualDirectory -Server $servername | Set-OwaVirtualDirectory -internalurl $owainturl -externalurl $owaexturl -Confirm:$false
Get-EcpVirtualDirectory -server $servername | Set-EcpVirtualDirectory -internalurl $ecpinturl -externalurl $ecpexturl -Confirm:$false
Get-WebServicesVirtualDirectory -server $servername | Set-WebServicesVirtualDirectory -internalurl $ewsinturl -externalurl $ewsexturl -Confirm:$false
Get-ActiveSyncVirtualDirectory -Server $servername | Set-ActiveSyncVirtualDirectory -internalurl $easinturl -externalurl $easexturl -Confirm:$false
Get-OabVirtualDirectory -Server $servername | Set-OabVirtualDirectory -internalurl $oabinturl -externalurl $oabexturl -Confirm:$false
Get-MapiVirtualDirectory -Server $servername | Set-MapiVirtualDirectory -externalurl $mapiexturl -internalurl $mapiinturl -Confirm:$false
Get-OutlookAnywhere -Server $servername | Set-OutlookAnywhere -externalhostname $externalhostname -internalhostname $internalhostname -ExternalClientsRequireSsl:$true -InternalClientsRequireSsl:$true -ExternalClientAuthenticationMethod 'Negotiate' -Confirm:$false
Get-ClientAccessService $servername | Set-ClientAccessService -AutoDiscoverServiceInternalUri $aduri -Confirm:$false
Get-OwaVirtualDirectory -Server $servername | fl server,externalurl,internalurl
Get-EcpVirtualDirectory -server $servername | fl server,externalurl,internalurl
Get-WebServicesVirtualDirectory -server $servername | fl server,externalurl,internalurl
Get-ActiveSyncVirtualDirectory -Server $servername | fl server,externalurl,internalurl
Get-OabVirtualDirectory -Server $servername | fl server,externalurl,internalurl
Get-MapiVirtualDirectory -Server $servername | fl server,externalurl,internalurl
Get-OutlookAnywhere -Server $servername | fl servername,ExternalHostname,InternalHostname
Get-ClientAccessService $servername | fl name,AutoDiscoverServiceInternalUri
Kopiert das Script einfach in eine Datei mit ps1 Endung und führt diese auf der EMS-Konsole aus.
Microsoft Exchange 2019: Erste Anmeldung ECP
Nach der ersten Anmeldung mit dem User, mit welchem Ihr den Exchange installiert habt müsst Ihr noch die Zeitzone angeben.
Nach der Anmeldung landet Ihr hier.
Microsoft Exchange 2019: Akzeptierte Domänen
Wenn Ihr jetzt intern eine andere Domäne als extern habt oder Ihr noch weitere Domänen besitzt, dann könnt Ihr diese hier eintragen!
Nachrichtenfluss --> Akzeptierte Domänen
Da bei mir die interne Domäne der externen gleicht, kann ich das so belassen:
Microsoft Exchange 2019: Virtuelle Verzeichnise über ECP
Die oben angelegten Virtuellen Verzeichnisse könnt Ihr unter:
Server --> Virtuelle Verzeichnisse
einsehen. Im nachfolgenden Screen könnt Ihr z.B. OWA und die URL dazu anschauen.
Bei Authentifizierung könnt Ihr u.A. entscheiden, wie sich ein Benutzer anmelden kann/darf. Um es z.B. dem Benutzer einfacher zu machen, damit er nicht so viel tippen muss, könnte man es ihm ermöglichen sich nur mit seinem Benutzer anzumelden.
Nach dieser Änderung müsst Ihr den IIS starten.
Microsoft Exchange 2019: E-Mail-Adressrichtlinie
In diesem Abschnitt könnt Ihr entscheiden, wie eure E-Mail-Adressen aufgebaut werden z.B.
Sofern Ihr diese Richtlinie ändert, müsst Ihr diese auch anwenden, daher bekommt Ihr die nachfolgende Meldung und rechts daneben in blau Anwenden.
Microsoft Exchange 2019: Benutzer anlegen
Jetzt wird es langsam mal Zeit unsere Benutzer anzulegen. Hierzu bewegen wir uns nach "Empfänger --> Postfächer --> Pluszeichen --> Benutzerpostfach"
Da ich ja schon Benutzer habe, aus meinen anderen Beiträgen, so wähle ich "Vorhandener Benutzer". Ihr müsst noch einen Alias vergeben und wärt hier schon fertig, wenn Ihr nicht mehr angeben wollt wie z.B. in welcher Mailbox der Benutzer angelegt werden soll. Btw. Ihr könnt eine Adresse auch auf Basis des Alias anlegen sprich alias@euredomäne.de
Hier den vorhandenen Benutzer auswählen wobei hier auch nur welche angezeigt werden, die noch kein Postfach haben!
Microsoft Exchange 2019: Sendeconnector
Wir wollen Mails ja nicht nur intern nutzen sondern auch nach draußen schicken.
Unter: Nachrichtenfluss --> Sendeconnectors
Könnt Ihr einen Neuen anlegen. Hierzu wähle ich den Namen "Mail2Internet" und wähle auch den Punkt internet aus.
In diesem Schritt könnt Ihr auswählen, ob ihr die Mails direkt schicken wollt oder ob wir vllt. noch einen Provider vorgeschalten bzw. vllt. auch einen Spamfilter davor habt und leitet den Verkehr dort hin.
Da es darum geht Mails nach draußen zu schicken, müssen wir angeben wohin wir schicken wollen, d.h. alles was wir nicht selbst hosten (pampersjoe.de) müssen wir angeben, da wir aber nicht wissen, wo wer wohin welche Mail schickt, so müssen wir einen "Stern" hinterlegen für "alle".
Schaut dann so aus und einfach auf "weiter".
Anschließend noch den Exchange eintragen, der berechtigt ist den Connector zu verwenden. Da ich nur einen habe, dann trage ich diesen auch ein.
Nach dem "Fertig stellen" müssen wir in die Eigenschaften und tragen die Antwortadresse unten ein.
Microsoft Exchange 2019: Empfangsconnector
Ich habe zwar in meinem Tutorial keinen eingerichtet, allerdings ist ein Empfangsconnector spätestens dann sinnvoll, wenn Ihr Geräte habt, die Mails schicken müssen wie z.B. ein Multifunktionsgerät z.B. Scan 2 Mail. Somit würdet ihr einen Empfangsconnector erstellen der anonyme Anfragen akzeptiert jedoch die Einschränkung auf z.B. IP vorgenommen wird. So kann nur dieses Gerät eine Mail senden.
Microsoft Exchange 2019: Authentifizierung
Über Server --> Server --> <euer Exchange> könnt Ihr angeben ob Ihr z.B. über NTLM authenfizieren wollt.
Microsoft Exchange 2019: Datenbankgrenzen & Adressbuch
Wenn wir schon im Bereich Server sind können wir unsere umbenannte Datenbank einsehen und dort auch Grenzwerte ändern.
In den gleichen Eigenschaften --> Clienteinstellungen könnt Ihr auch das Offline-Adressbuch hinterlegen.
Microsoft Exchange 2019: Zertifikate
Unter Server --> Zertifikate hinterlegt Ihr eure Zertifikate, sofern Ihr es nicht auf dem Wege macht, wie ich es euch gezeigt habe via HA-Proxy bzw. natürlich dann, wenn eures ausläuft.
Microsoft Exchange 2019: Outlook-Web-Access (OWA)
Nachdem wir alles soweit konfiguriert haben, wird es Zeit die Clientseite zu betrachten. Der einfachste Weg ist erst einmal Outlook Web Access (OWA) zu nutzen. Hierzu einfach hinter unserer Adresse, in meinem Fall: mail.pampersjoe.de einfach owa hinten dran hängen. Da ich oben die Authentifizierung auf "Benutzer" gestellt habe, bekomme ich dies auch hier angeboten:
Perfekt, es funktioniert.
Testen wir doch einmal das Adressbuch... jap... sieht gut aus.
Dann schicken wir "intern" doch unsere erste Mail... jep sieht auch gut aus.
Microsoft Exchange 2019: Erst Outlook-Test
Nachdem ich ja eingangs schon beschrieben habe, dass ich ein Office auf dem Client installiert habe, so möchte ich jetzt noch testen ob Autodiscover funktioniert. D.h. Outlook sollte sich bei der Einrichtung alle Daten selbst ziehen können. Die Adresse hat er schon einmal selbst gefunden.
Sieht vielversprechend aus.
Jetzt noch authentifizieren und mit gut Glück funktioniert alles.
Perfekt!
Und hier sehen wir auch schon unsere Mail, die wir via OWA geschickt haben.
Jetzt noch eine Mail nach extern schicken (hierzu schicke ich mir einfach auf meine private Adresse eine Mail) und siehe da, kommt auch an.
Natürlich fehlt jetzt noch der Rückweg... aber auch das funktioniert einwandfrei.
Microsoft Exchange 2019: Troubleshooting
Solltet Ihr jetzt irgend ein Problem haben, dann empfehle ich euch die Seite:
https://testconnectivity.microsoft.com/tests/exchange
Hier könnt Ihr prüfen, wo es evlt. ein Thema geben kann.
Ich kanns euch nicht ganz genau sagen, was Ihn an meinem Zertifikat stört, da der Mailverkehr ja offensichtlich funktioniert, aber ja... der Rest ist wenigstens grün.
Noch eine letzte Prüfung (obwohl wir ja schon wissen, dass eingehende Mails funktionieren, auf SMTP-Mail.
Auch alles grün... Prima.
Die Basiskonfiguration ist nun abgeschlossen. Jetzt folgt definitiv noch einiges mehr. Journal z.B. für Archivierung, Regeln, weitere Benutzer, Verteilergruppen, Generische Postfächer und und und ... aber das denke ich bekommt Ihr schon hin.
Ich hoffe der Beitrag hat euch geholfen und wünsche viel Erfolg beim Nachbauen.