Wer bereits ein Mail-System für den Versand und Empfang von E-Mails aufgesetzt hat, weiß, dass das je nach Funktionsumfang viel Arbeit sein kann. Wenn nicht nur ein Host E-Mails verschicken soll, sondern mehrere, kann es sich lohnen, einen zentralen Mailserver als “Mail-Gateway” zu nutzen. Das bedeutet: Für den Versand von E-Mails in das Internet und den Empfang aus dem Internet ist nur dieser eine Mailserver zuständig. Alle weiteren Hosts (“externe Hosts”) benötigen keine aufwendige Mailserver-Konfiguration, sondern kommen mit einer Minimalkonfiguration aus, welche es ihnen erlaubt, beim Versand auf das Gateway zurückzugreifen. DKIM, SPF und weitere Versand-spezifische Merkmale müssen dann nur auf dem Gateway eingerichtet und gewartet werden.

▸ Weiterlesen

In meinem letzten Beitrag habe ich mein PeerVPN-Setup zur Realisierung meines Wartungsnetzes vorgestellt. Wenige Stunden später musste ich feststellen, dass ich bei meinem Setup etwas wichtiges nicht bedacht hatte: Bei einem Server-Neustart versuchen die Dienste, die nur über das Wartungsnetze 10.8.1.0/24 erreichbar sein sollen, sich an das srvnet0-Interface zu binden. Das schlägt allerdings fehl, denn der Docker-Container mit dem PeerVPN-Node startet erst wesentlich später, und die srvnet0-Schnittstelle existiert bis zu diesem Zeitpunkt noch nicht. Das wird mit Fehlermeldungen und nicht verfügbaren Diensten bestraft. Die Lösung ist, diese Dienste warten zu lassen, bis srvnet0 verfügbar ist.

▸ Weiterlesen

In meinem Beitrag “Dezentrales HA Servercluster-VPN mit PeerVPN” habe ich euch PeerVPN vorgestellt - einen kleinen Peer-to-Peer VPN-Server, der sich wunderbar eignet, um seine Hosts miteinander zu vernetzen. Ich betreibe selbst mehrere Server an verschiedenen Standorten, die direkt miteinander Daten austauschen. So kommuniziert beispielsweise jeder Host mit einem zentralen Munin-Server, um Statusupdates zu senden. Auch Icinga-Daemons laufen auf den Hosts und prüfen verschiedene lokale Dienste. Das Ergebnis wird an das Icinga-Backend geschickt.

All diese Kommunikation soll für die Öffentlichkeit nicht einsehbar sein, d.h.:

  • Die Existenz von Wartungs- und Verwaltungsdiensten soll verborgen werden
  • Die Verbindung soll verschlüsselt werden: Internet und Hoster kann im Zweifel nicht getraut werden
  • Nur autorisierte Personen oder Maschinen sollen Zugriff auf bestimmte Dienste haben (z.B. Admin, Munin-Frontend)

▸ Weiterlesen

Mit der Umstellung meines Homeservers auf Debian 9 Stretch war es auch an der Zeit, sich einmal um die daran angeschlossene Unterbrechungsfreie Stromversorgung (“UPS”: Uninterruptible Power Supply) zu kümmern. Mit dem Kauf der UPS hatte ich die Herstellersoftware zur Überwachung und zum Automatischen Herunterfahren des Servers auf selbigem installiert. Nach kurzer Zeit gefiel mir die aufgeblähte und schlecht gepflegte Java-Lösung allerdings nicht mehr und ich verzichtete auf eine UPS-Softwarekomponente auf dem Server. Das hatte zwar den Nachteil, dass der Server bei Stromausfall nicht automatisch heruntergefahren würde, aber eine Gewisse Überbrückungszeit war durch die UPS ja noch gegeben.

▸ Weiterlesen

Ziel dieser für Debian 9 “Stretch” aktualisierten Anleitung ist ein fertig installierter und konfigurierter Mailserver auf einem eigens dafür bereitgestellten Host. Der Beitrag basiert im wesentlichen auf dem zuvor für Ubuntu 16.04 vorgestellten Setup. In dieser aktualisierten Version wird statt eines Amavis-Spamassassin-Razor Stacks und OpenDKIM allerdings Rspamd genutzt, um die Komplexität und Fehleranfälligkeit des Setups zu reduzieren und gleichzeitig von der hervorragenden Funktion des Rspam Daemons zu profitieren. Außerdem wurden in diese Anleitung einige kleine Verbesserungen eingebracht, die mir von Lesern in den letzten Monaten vorgeschlagen wurden.

Wie auch in den letzten Versionen ist mir wichtig, die Funktionsweise und das Zusammenspiel der Mailserver-Komponenten so zu erklären, dass das Mailsystem als solches in den Grundzügen verstanden werden kann. Ich setze dabei grundlegende Kenntnisse im Bereich Linux-Server voraus; trotzdem ist dieser Guide auch für Anfänger geeignet, die Interesse und Zeit mitbringen.

▸ Weiterlesen