DNS und Mail Server auf einem 2c 2gb RAM Proxmox Server.

TSKNF

Lieutenant
Registriert
Dez. 2013
Beiträge
787
Ich habe wieder ein bisschen an meinem Homeserver herumgebastelt. Ziel war ein Umbau der genutzten Software. Nextcloud sollte durch separate Dienste ersetzt werden. Immich als Beispiel für die Verwaltung der Bilder.

Dabei bin ich auch über Stalwart gestolpert. Ein Mail Server ohne jegliche Hardware Anforderungen. Quasi. Da ich auch gerne einen meiner zwei DNS Server außerhalb hosten wollte, habe ich nach einem Passenden Angebot gesucht und bin am Ende zu Netcup gekommen. 2 Kerne und 2gb RAM mit IP4. Ich musste noch einen zweiten ip64 Bereich dazu buchen aber das ist hier jetzt nicht so wichtig.

Also AdGuardHome als DNS Server bezieht seine SSL Zertifikate über port 80 eine DNS Challenge und einen Cloudflare token. Beim Setup kann man außerdem Port 443 auf einen anderen Port legen. Dann öffnet sich die Seite eben auf Domain: Port im Browser aber die DNS Abfragen laufen sauber über die Domain. Über Port 853 als TLS oder 53 falls man das wollen würde.

Stalwart bezieht seine Zertifikate über Port 443 und arbeitet ansonsten mit den üblichenen (ich nutze 465) verschlüsselten Mail Ports. Alle Mail Apps, die ich bis jetzt benutzt habe, erkennen auch sofort die richtige konfiguration. Das habe ich auch schon anders erlebt.

Auch etwas, worüber ich bei dem ganzen gestoplert bin, ist Netbird. Beide Proxmox Host´s sind als Cluster gelinkt. Die Kommunikation geht komplett über Netbird intern und somit per Wireguard verschlüsselt. Netbird kann auch domains hosten und die Zugriffskontrolle dafür übernehmen. Die Android Apps runden das ganze ab. Auch ein wirklich bemerkenswertes Projekt.

Edit: Über Netbird kann der Proxmox Backup Server auf pve1 einfach Backups von pve2 erstellen und einspielen weil die lokalen IP's bekannt und untereinander erreichbar sind.

Auf pve2 könnte ich meine lokale 192.168.178.1 anpingen und er findet sie sofort.

Der Resourcenverbrauch ist absolut Minimal:
1783521872125.png

Durch den Massiven Swap, an Daten die er nicht braucht, hat er sogar noch Reserven im RAM und der CPU verbrauch wird Hauptsächlich vom zweiten backup Metrics Container verantwortet.

Weitere tolle Projekte sind noch Dockhand (Verwaltung von Docker Containern), Patchmon (Verwaltung von Updates) und Davis ( Kallender und Kontakte)

Man hätte sogar noch ein paar Reserven um noch ein paar Dienste auf dem System laufen zu lassen. Stalwart zeigt einen RAM Verbrauch von 36MB an. Adguard kommt schon auf 98MB und der Metrics Server der alles nur aufzeichnen soll beansprucht 197MB

1783523128042.png

Die versendeten Emails kommen ohne Probleme bei allen Anbietern innerhalb von Sekunden an. Er ist also auch noch echt schnell dabei.
Ich wollte einfach nur mal teilen, mit wie wenig Ressourcen man das funktionierend auf die Beine stellen kann. Das Problem mit Nextcloud war, das sie sich zu weit von meinen Wünschen weg bewegt haben und ich mag es nicht, mit Fehlermeldungen konfrontiert zu werden, die man nicht mehr weg bekommt. Weil ich kein Backend für mehr als 7 Telefontateilnehmer anmieten möchte. Bei 2 Usern.

Vielleich kann das jemand als Anregung gebrauchen :)

mfg
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Triple5soul, dideldei, TorenAltair und 5 andere
TSKNF schrieb:
Also AdGuardHome als DNS Server bezieht seine SSL Zertifikate über port 80.

Ich habe für meinen AdGuardHome Certbot mit DNS-Challenge konfiguriert, so braucht es keinen Port 80 für das Renewal:

Code:
# Options used in the renewal process
[renewalparams]
account = XXXX
authenticator = dns-desec
dns_desec_credentials = /etc/letsencrypt/secrets/dns.XXXX.de.ini
server = https://acme-v02.api.letsencrypt.org/directory
key_type = ecdsa
reuse_key = true

reuse_key = true habe ich gesetzt, damit immer derselbe Private Key verwendet wird. So müssen die TLSA-Records im DNS nicht nach jedem Renewal neu gesetzt werden.
Ergänzung ()

Wenn du es schön sauber haben willst, kannst du auch gleich noch HTTPS und SVCB Records setzen und HTTP/3 aktivieren. Also etwa so:

alpn=h2,h3 ipv4hint=123.000.000.000 ipv6hint=2a03:0000:0000:0000::0000
alpn=doq port=853 ipv4hint=123.000.000.000 ipv6hint=2a03:0000:0000:0000::0000
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: grünerbert und dideldei
@CoMo AdGuard holt sich seine Zertifikate tatsächlich per DNS über Cloudflare + Token. Ich bin jetzt nicht so der Profi in dem ganzen. Mir macht das nur unheimlich Spaß. Wenn es läuft... Dachte einfach er braucht Port 80 aber nein. Es wird wohl so sein wie du sagst.

Das andere verstehe ich nicht so auf Anhieb... O.o
 
Stalwart sieht echt interessant aus, aber ich nehme an man braucht zum Betrieb des Mailservers eine feste Public IP, da man sonst ziemlich schnell auf allen BlackLists landet?
 
@TSKNF
Was @CoMo meint nennt sich DNS-01. Das passt zu deinem Projekt und verfeinert dein Vorhaben mit dem ersparten Port 80 für die Ausstellung des Zertifikats.
 
@donativo Du kannst sicher das auch als ip6 only betreiben. Ich habe aber die Erfahrung gemacht, das es mit zum Beispiel Gmail perfekt funktioniert aber sich Protonmail einfach weigert Emails von einer ip6 entgegenzunehmen.

Also ja. Eine öffentliche ip4 ist fast der Hauptgrund für den Server. Und das wären 3€ +1€ für die extra ip6 range damit man Ruhe hat.

Ein letzter Edit zu Netbird:

Netbird bietet die Möglichkeit eine Proxy Domain zu verwalten und für diese Subdomains zu erstellen, diese und den Zugriff darauf zu verwalten.

Wenn man Netbird jetzt netbird.domain.com gibt und domain.com als Netbird Proxy betreibt. Dann kann man dann zum Beispiel fritz.domain.com für die Fritzbox einrichten. Diese so einrichten, das man nur mit einer aktiven Netbird Verbindung oder einer lokalen Adresse Zugang hat. Oder eine der anderen zig Auswahlmöglichkeiten.
 
Zuletzt bearbeitet:
Mit einem VPS von netcup oder anderen Anbietern hat man idR eine feste öffentliche IP,das sollte also langfristig eigentlich keine Probleme machen.
Cooles Projekt, bringt mich auch mal wieder auf Ideen.
 
TSKNF schrieb:
Das andere verstehe ich nicht so auf Anhieb... O.o

Das sind spezielle DNS-Records, mit denen Clients direkt sehen, was der Server kann und welche Dienste angeboten werden.


CoMo schrieb:
alpn=doq port=853 ipv4hint=123.000.000.000 ipv6hint=2a03:0000:0000:0000::0000

Das zeigt kompatiblen Clients, dass DNS-Over-QUIC auf Port 853 verfügbar ist und liefert gleich die IP-Adressen mit, so dass der Client die A und AAAA Records gar nicht abfragen muss.


CoMo schrieb:
alpn=h2,h3 ipv4hint=123.000.000.000 ipv6hint=2a03:0000:0000:0000::0000

Dasselbe für HTTPS. h3 signalisiert, dass HTTP/3 unterstützt wird, also QUIC UDP Verbindungen für HTTPS. Dafür muss dann auch 443/UDP in der Firewall geöffnet sein.

https://de.wikipedia.org/wiki/HTTPS_Resource_Record

Und TLSA-Records sind dafür da, deine SSL-Zertifikate im DNS zu hinterlegen.

https://de.wikipedia.org/wiki/DNS-based_Authentication_of_Named_Entities

Mein AdGuard hängt direkt im Internet und wird auch von Freunden und Familie genutzt. Damit er nicht von dritten genutzt wird, müssen sich alle Clients mit eigener Client-ID verbinden.

https://adguard-dns.io/kb/adguard-home/clients/
 
  • Gefällt mir
Reaktionen: TSKNF
Zurück
Oben