
Ich habe einen dedizierten Server mit nur einer öffentlichen IP-Adresse (z. B. 10.20.30.40) und einer ihm zugeordneten Domäne (example.com).
Auf diesem Server habe ich viele virtuelle Maschinen, die auf einem ESXi-Hypervisor gehostet werden, und jede VM erfüllt eine andere Aufgabe (Mailserver, Chatserver, Dateiserver usw.). Jede VM hat eine lokale IP von meinem DNS-VM-DHCP übernommen.
Wie kann ich jede lokale VM in eine Subdomäne auflösen?
Ich denke, dass das Platzieren einer VM als DNS-Server davor ALLE Anfragen an eine VM auflösen könnte, aber ich weiß nicht wie. Bitte sehen Sie sich die interne Netzwerktopologie meines Servers an:
Wenn beispielsweise jemand eine Anfrage an mail.example.com sendet, erreicht seine Anfrage zuerst DNS und DNS leitet den gesamten Datenverkehr (vorwärts und rückwärts) an eine bestimmte VM (192.168.1.10) weiter.
Antwort1
Wenn sie nicht alle heterogen wären, würde ich einen Load Balancer vorschlagen. Da Sie aber größtenteils HTTP-Server betreiben, würde ich eine einzelne NGINX-Box verwenden, um den Reverse-Proxy zum Dienst zurückzuleiten. Sie können dann Port 25 (oder was auch immer Ihr Mailserver verwendet) manuell weiterleiten
Bei Verwendung des Nginx-Webservers können Serverblöcke (ähnlich den virtuellen Hosts in Apache) verwendet werden, um Konfigurationsdetails zu kapseln und mehr als eine Domäne von einem einzigen Server aus zu hosten.
https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/