Hyper-V mit mehreren Webservern über einen Netzwerkadapter

  • Hallo,


    Ich hab vor mir einen Leistungstärkeren dedizierten Server im Netz anzumieten (Netcup) und stehe nun vor einer/mehreren klein/großen Fragen.


    Vorab erstmal kurz der Aufbau:
    Dedizierten Server


    - Windows 2012R2 Server
    - Hyper-V installiert
    - eine feste IP-Adresse vom Hoster


    Ziel ist es über das Hyper-V drei Webserver laufen zu lassen.
    Zum einen ergibt sich mir hier die Frage: Wie kann ich über die eine IP-Adresse die Anfragen von drei Domains verteilen?


    Desweiteren ist mir aufgefallen, dass die Maschinen in Hyper-V keine IP-Adressen vom Hoster erhalten. Hier habe ich mir überlegt einen DHCP-Server auf das Host-System zu installieren um die virtuellen Maschinen damit zu bedienen.
    Ist das eine schlaue Lösung? Gibt es eine bessere Alternative?


    Einen Kleineren Dedizierten Server zum testen ist vorhanden.


    [Blockierte Grafik: http://www.administrator.de/images/content/5ca8c3194def680c16e0f36d60f143e3.jpg]


    Danke für jede Antwort.
    Mit freundlichen Grüßen
    Sangandi

  • Also du bist recht Kreativ was ich gut finde :D


    Um welchen Server handelt es sich genau die KVM-Serie oder richtig Dediziert eigene Hardware? Den Hyper-V unter KVM ohne nested-Flag wird nicht funktionieren. Nu kommen wir zur meiner Hauptfrage, warum möchtest du den drei dedizierte Webserver betreiben? Du kannst mit einem Webserver locker mehrere Domains bedienen was auch einfacher in der Administration ist sogar wesentlich einfacher. Wenn deine Maschinen Out of Box nach drausen gehen sollen müsstest du dir drei IPs noch dazu buchen was noch mehr kosten bedeutet. Ein interner DHCP würde dir das vielleicht ersparen dann sind die Maschinen dan aber nur genattet online was ich persönlich doof finde.


    Miete dir halt drei KVM-Server wenn es so sein muss!

  • Eine Möglichkeit o.g. Projekt durchzuführen ist, auf einem der drei oder einer weiteren VM einen Reverse-Proxy zu betreiben der unter der öffentlichen IP des Servers erreichbar ist (Portforwarding o.Ä.), für alle drei Domains und den HTTP Traffic dann auf die drei VMs im internen Netz aufspaltet. Ich mache Ähnliches mit Docker Containern und das funktioniert recht gut.


    Eine Alternative wäre noch, reine IPv6 VHosts zu betreiben, beeinträchtigt aber die Menge der potentiellen Besucher (.i.e die müssen IPv6 haben).


    Was Skulduggerys Frage nach dem Warum angeht, kann ich zwar nur vermuten aber mir fällt ein:


    * Security; wenn ein Webhost bricht, brechen nicht alle
    * Performance; Sowohl was shaping als auch mesaurement angeht lassen sich VM wesentlich besser beeinflussen als Webserver-Prozesse
    * Maintenance; Deployment und Updates werden einfacher, weil man die VM einfach wegtun und eine neue starten kann und das tatsächlich nur diese eine VM/Website betrifft, Backups lassen sich einfach als VM-Snapshots durchführen. Portabilität ist auch leichter, weil man nicht erst Konfiguration und Daten aus dem Webserver rauspulen muss.


    Wichtig ist aber auf jeden Fall Skulduggerys Komemntar zum Typ deines Servers - AFAIk unterstützen die standard-VMs von Netcup keine Nested Virtualisierung. Möglicherweise gibt es eine Containerlösung von Kleinweich die da Alternativ verwendet werden kann?


    Viele Grüße,

  • Hallo Rebus, hallo Skulduggerys,


    Der der Server wird ein richtig Dedizierter Server sein. Warum ich drei Webserver von einander trennen will ist ganz einfach, einer wird unter Linux laufen und zwei unter Windows. Außerdem kommen noch 2-3 weitere vm hinzu für AD und SQL. Die VMs werden zusätzlich untereinander über ein privates Netzwerk verbunden dass nur intern erreicht werden kann.


    Das mit dem Reverse-Proxy hört sich super an, nur hab ich noch keine Erfahrung mit Proxy Servern.


    Rebus könntest du mir vielleicht ein paar Tipps geben wie ich einen Reverse-Proxy aufsetze und konfiguriere?


    Mit freundlichen Grüßen
    Sangandi

  • Hallo Sagandi,


    Reverseproxies kenne ich leider nur aus der Linuxwelt, meine Erfahrungen mit Windows basieren da auf Hoerensagen. Softwareloesungen die mir einfallen und wohl ganz gut funktionieren sind:


    - Apache mit mod-proxy (Using Apache HTTP Server on Microsoft Windows - Apache HTTP Server Version 2.4 mod_proxy - Apache HTTP Server Version 2.4)
    - Squid (SquidFaq/ReverseProxy - Squid Web Proxy Wiki Configuring a Basic Reverse Proxy in Squid on Windows (Website Accelerator) | Accumulative Effect)
    - IIS mit ARR (Scott Forsyth's Blog - Creating a Reverse Proxy with URL Rewrite for IIS)


    Meine bevorzugte Loesung fuer Linux ist NGINX, aber der ist leider unter Windows weder performant noch stabil.


    Die Grundidee ist dabei aber immer Dieselbe; Ein Webserver der alle Zugriffe auf die auf den VMs gehosteten Domains annimmt, diese nach Domain filtert (z.B. indem er einen VHost pro Domain betreibt) und dann als http-proxy an den Webserver im internen Netzwerk (d.h. auf die IP deiner VMs) durchleitet.


    Ich hoffe das hilft dir weiter, im Zweifel probiere mal ein wenig herum.


    Viele Gruesse,