Erneuern aller LetsEncrypt Zertifikate auf einer Synology

Kai Allgemein 2 Comments

Erneuern aller LetsEncrypt Zertifikate auf einer Synology geht mit einem Befehl.

Als erstes via SSH mittels des admin users auf die Synology verbinden.

Dann den Befehl:

sudo /usr/syno/sbin/syno-letsencrypt renew-all

Es muss hier nochmals dass Passwort des Benutzers admin eingegeben werden.

Um das ganze automatisch am 1. jedes Monats  um 1 Uhr morgens durchzuführen, passen wir die crontab an

sudo vi /etc/crontab

das Passwort des Admins eintippen.

Wir fahren mit den Pfeiltasten zur letzten Zeile, letztes Zeichen und drücken „I“. Nun noch einmal Pfeiltaste rechts und Enter.

Jetzt sollten wir in einer neuen Zeile sein.

Hier tippen bzw. fügen wir folgende Zeile ein

0 1 1 * * root /usr/syno/sbin/syno-letsencrypt renew-all

Danach mit Escape den „Insert Modus“ verlassen und :wq tippen und Enter drücken.(Damit wird die Datei gespeichert (write) und VI beendet (quit))

Der Befehl bedeutet (von Links nach rechts)

Bei Minute 0 (0) – bei Stunde 1 (1) – am 1 Tag des Monats (1) – jeden Monat (*) – egal welcher Wochentag (*) – als Benutzer root ausführen (root) – den Befehl ausführen (/usr/syno/sbin/syno-letsencrypt renew-all)

Erneuern aller LetsEncrypt Zertifikate auf einer Synology

Letsencrypt Zertifikat in Fritzbox importieren

Kai Allgemein 11 Comments

Letsencrypt Zertifikat in Fritzbox importieren

Letsencrypt liefert 3 Dateien.

  • cert.pem
  • chain.pem
  • privkey.pem

Leider frisst die Fritzbox keine der Dateien…

Wir müssen alle 3 Dateien in eine schreiben.

Am Mac oder Linux Rechnern lautet der Befehl:

cat cert.pem chain.pem privkey.pem > fritz.pem

Wobei der Name fritz.pem frei gewählt werden kann.

Diese lässt sich dann Problemlos in die FritzBox importieren.

Letsencrypt Zertifikat in Fritzbox importieren

Hyper-V Netzwerkkarten mit gleichem Namen umbenennen

Kai Allgemein 1 Comment

Hyper-V Netzwerkkarten mit gleichem Namen umbenennen

Sollten 2 HyperV Netzwerkkarten den gleichen Namen, z.B. „Network Adapter“ haben, gestaltet sich das umbenennen etwas schwierig.

Abhilfe schaft es Powershell Variablen zu nutzen.

Nehmen wir an, der Server „Server-1“ hat 2 Netzwerkkarten.

Mit folgendem Befehl können wir uns die Karten anzeigen lassen.

Get-VMNetworkAdapter -VMName "Server-1"

Um die Netzwerkkarten richtig zu benennen lassen wir die Karten in ein Array schreiben.

$VM=Get-VMNetworkAdapter -VMName "Server-1"

Jetzt können wir prüfen, was im Array steht mit

$VM[0]
$VM[1]

Es sollte jeweils eine Netzwerkkarte ausgegeben werden.

Nun können wir die entsprechende Netzwerkkarte umbenennen mit

Rename-VMNetworkAdapter -VMNetworkAdapter $VM[0] -NewName NeuerName1
Rename-VMNetworkAdapter -VMNetworkAdapter $VM[1] -NewName NeuerName2

 

Migration von Public Folders von Exchange 2010 auf 2016

Kai Exchange Leave a Comment

Die Migration von Public Folders, gestaltet sich nicht ganz so einfach wie der rest.

Als erstes benötigen wir die Microsoft Exchange 2013 Public Folder Migration Scripts

Ladet am besten alle herunter und legt Sie auf dem Exchange 2010 in ein Verzeichnis eurer Wahl. (Bei mir C:\PFMigration)

Nun müssen auf dem 2010 er folgende Befehle ausgeführt werden.

Get-PublicFolder -Recurse | Export-CliXML C:\PFMigration\Legacy_PFStructure.xml
Get-PublicFolderStatistics -ResultSize unlimited | Export-CliXML C:\PFMigration\Legacy_PFStatistics.xml
Get-PublicFolder -Recurse | Get-PublicFolderClientPermission | Select-Object Identity,User -ExpandProperty AccessRights | Export-CliXML C:\PFMigration\Legacy_PFPerms.xml

Jetzt exportieren wir die CSV Datei mit dem Befehl

.\Export-PublicFolderStatistics.ps1 FolderToSizeMap.csv ex2016.kaiherzig.eu

Als nächstes mappen wir die Öffentlichen Ordner zur Öffentlichen Ordner Mailbox (Postfach für Öffentliche Ordner hat 20GB (21474836480)

.\PublicFolderToMailboxMapGenerator.ps1 21474836480 .\FolderToSizeMap.csv FolderToMailBoxMap.csv

Jetzt wird auf dem Exchange 2016 eine Public Folder Mailbox erzeugt (der name Mailbox1 sollte behalten werden)

New-Mailbox -PublicFolder Mailbox1 -HoldForMigration:$true

Bei DAGs, kann es sein, dass die Replikation abgewartet werden muss.

Jetzt Starten wir die Synchronisierung am EX2016

New-MigrationBatch -Name PFMigration -SourcePublicFolderDatabase (Get-PublicFolderDatabase -Server EX2010) -CSVData (Get-Content \\ex2010\c$\PFMigration\FolderToMailBoxMap.csv -Encoding Byte) -NotificationEmails admin@kaiherzig.eu
Start-MigrationBatch PFMigration

Über Get-MigrationBatch können wir alles verfolgen. Alternativ in der GUI unter Empfänger – Migration.

Sobald der Job auf „Synchronisiert“ steht, können wir die Umstellung durchführen.

Achtung, ab jetzt sind die Public Folders nicht mehr erreichbar.

Auf dem Exchange 2010 Sperren wir die Public Folders

Set-OrganizationConfig -PublicFoldersLockedForMigration:$true

Ich musste nach diesem Schritt fast 15min warten, bis ich weiter machen konnte (Replikation…)

Danach kann der Batch auf dem Exchange 2016 abgeschlossen werden

Set-OrganizationConfig -PublicFoldersEnabled Remote
Complete-MigrationBatch PFMigration

Nach Abschluss der Migration von Public Folders kann die PublicFolder Mailbox einem User zugewiesen werden.

Set-Mailbox Kai -DefaultPublicFolderMailbox Mailbox1

Sollte alles funktionieren, können wir dem Rest die Öffentlichen Ordner zuweisen

Get-Mailbox -PublicFolder | Set-Mailbox -PublicFolder -IsExcludedFromServingHierarchy $false

 

Nun wird die Migration auf dem Exchange 2010 beendet

Set-OrganizationConfig -PublicFolderMigrationComplete:$true

Als letztes Beenden wir die Migration auf dem Exchange 2016

Set-OrganizationConfig -PublicFoldersEnabled Local

Und wir sind durch…

Exchange Move-Request CSV Format

Kai Exchange Leave a Comment

Das Exchange Move-Request CSV Format muss folgende Werte beinhalten.

EmailAddress,TargetDatabase,TargetArchiveDatabase

Als Beispiel könnte die CSV Kai.csv so aussehen.

EmailAddress,TargetDatabase,TargetArchiveDatabase
empf1@kaiherzig.eu,Kai-DB,Kai-Archiv-DB
empf2@kaiherzig.eu,Kai-DB,Kai-Archiv-DB
empf3@kaiherzig.eu,Kai2-DB,Kai2-Archiv-DB

Die CSV muss dann an einem für den Exchange zugänglichen Ort gespeichert werden.

Der Import läuft dann via Exchange Power Shell Befehl:

New-MigrationBatch –Local –Name Kai CSVData ([System.IO.File]::ReadAllBytes(“\\exchange\Share\Kai.csv”)) -AutoStart -AutoComplete

Wenn der Exchange euch Benachrichtigen soll, sobald der Batch abgeschlossen ist, hängt einfach „-NotificationEmails empf@kaiherzig.eu“ an

New-MigrationBatch –Local –Name Kai CSVData ([System.IO.File]::ReadAllBytes(“\\exchange\Share\Kai.csv”)) -AutoStart -AutoComplete -NotificationEmails empf@kaiherzig.eu

 

Größtes Exchange Postfach / Datenbank

Kai Exchange Leave a Comment

Um herauszufinden, welche Postfach das Größtes Exchange Postfach ist, bzw. sich die Top10 anzeigen zu lassen, lautet der Befehl:

Get-Mailbox -ResultSize unlimited | Get-MailboxStatistics | Sort-Object TotalItemSize -Descending | Select-Object DisplayName,ItemCount,TotalItemSize -first 10

Um die größten Mailbox Datenbanken zu bekommen, lautet der Befehl:

Get-MailboxDatabase -Status | select ServerName,Name,DatabaseSize,AvailableNewMailboxSpace | Sort-Object DatabaseSize

 

Exchange DAG automatisch auf den bevorzugten Server zurück

Kai Exchange Leave a Comment

Um eine Exchange DAG automatisch auf den bevorzugten Server zurück schieben, Exchange 2016 checkt automatisch alle 60 min ob der bevorzugte Mailbox Server erreichbar ist und die Datenbankkopie sauer läuft.

Um das Intervall anzupassen, lautet der Befehl: (In diesem beispiel 15min)

Set-DatabaseAvailabilityGroup <DAG-NAME> -PreferenceMoveFrequency 00:15:00

Um das automatische verschieben zu deaktivieren lautet der Befehl:

Set-DatabaseAvailabilityGroup <DAG-NAME> -PreferenceMoveFrequency ([System.Threading.Timeout]::InfiniteTimeSpan)

 

Exchange Postfachmigration beschleunigen

Kai Exchange Leave a Comment

Wie kann ich die Exchange Postfachmigration beschleunigen? – Es gibt hier mehrere Möglichkeiten:

  • Den Export Buffer erhöhen
  • Die Indexierung der Datenbank deaktivieren
  • Die Resourcenzuordnung erhöhen
  • New-MoveRequest mit Prio emergency

oder einfach

  • Die Resourcenzuordnung deaktivieren 😉

Das geht wie folgt:

Erstmal ACHTUNG! Es gibt einen Grund warum die Zuordnung standardmäßig an ist… Durch die Migration mit deaktivierter Res. Kontrolle kann es den Mailverkehr,etc. beeinflussen!

Nach Abschluss der Migration sollte der MRS auch wieder aktiviert werden!

Man passt den Registry Wert MRS unter

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchange ResourceHealth

an. Und zwar auf 0. Danach muss der „Microsoft Exchange Mailbox Replication“ Dienst neugestartet werden. Eh voila… Speedy GonExchange 😉

Der Registry Wert existiert leider nur bis zum Exchange 2016 RTM, ab den ersten CU wurde er standardmäßig nicht angelegt. Kann aber im Nachgang angelegt werden.

Hier der Inhalt der REG Datei. Der Knackpunkt ist der Wert MRS (hier bereits deaktiviert!)

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchange ResourceHealth]
"Assistants"=dword:00000001
"DOMT"=dword:00000000
"EAS"=dword:00000000
"EWS"=dword:00000000
"IMAP"=dword:00000000
"MRS"=dword:00000000
"OWA"=dword:00000000
"POP"=dword:00000000
"RCA"=dword:00000000
"Transport"=dword:00000001
"Provisioning"=dword:00000000
"Search"=dword:00000001
"ServiceHost"=dword:00000001
"AutoDiscover"=dword:00000000

So sollte Ihr die Exchange Postfachmigration beschleunigen können.

Exchange Zertifikat von Let’s Encrypt

Kai Exchange 1 Comment

Um ein Exchange Zertifikat von Let’s encrypt zu bekommen, gehen wir wie folgt vor.

  • Kurz vorweg, habe ich ein Linux System (Debian) benutzt um das Zertifikat zu beantragen. Wesentlich einfacher als die Powershell Version, etc.

Als erstes installieren wir GIT

apt-get install git

danach laden wir das Repo von Let’s Encrypt herunter.

git clone https://github.com/letsencrypt/letsencrypt

leex1

Wir wechseln mit cd letsencrypt in das erstellte Verzeichnis und starten das Programm mit dem Parameter –help um alle Abhängigkeiten zu bekommen.

./letsencrypt-auto --help

leex2

Als nächstes müssen die Domains und Port (443), für die die Zertifikate ausgestellt werden auf den Linux PC umstellt werden, auf dem wir die Zertifikate anfordern.

(Portforwarding, etc…)

Jetzt können wir die Zertifikate anfordern.

./letsencrypt-auto certonly --standalone -d outlook.kaiherzig.eu -d autodiscover.kaiherzig.eu

Wir können das Zertifikat für weitere Subdomains anfordern indem wir einfach weitere -d Parameter anhängen.

Wir werden nach einer E-Mail Adresse für Zertifikats Hinweise gefragt.

leex3

Und ob wir den Terms of Use zustimmen.

leex4

Jetzt werden die Zertifikate beantragt und heruntergeladen.

leex5

Sollte alles geklappt haben, liegt das Zertifikat jetzt unter 

/etc/letsencrypt/live/<DOMAINNAME>

Kleiner Tipp, die meisten Fehlschläge kommen daher, dass die Portforwardings, etc. nicht stimmen.

Da wir das Zertifikat als P12 haben wollen, wandeln wir es noch um.

openssl pkcs12 -export -in cert.pem -inkey privkey.pem -out Zertifikat.p12

Es wird noch ein neues Passwort für das Zertifikat benötigt.

Jetzt können wir es z.B. via WinSCP herunterladen und nutzen.