Wo beginnt man mit der Einrichtung von Hostname-NAT hinter einer externen IP-Adresse?

Wo beginnt man mit der Einrichtung von Hostname-NAT hinter einer externen IP-Adresse?

Ich bin nicht sicher, ob ich hier die richtigen Begriffe verwende, was im Grunde der Grund meiner Frage ist (mit den richtigen Begriffen könnte ich es sicher googeln).

Ich habe "einen großen Server" mit Windows 2008, auf dem sich mehrere virtuelle Maschinen (Linux, Win7, Win2k8) befinden. Der Server ist über eine öffentliche IP-Adresse erreichbar. Ich möchte Folgendes aktivieren und weiß einfach nicht, wo ich anfangen soll:

  • Platzieren Sie Websites auf unterschiedlichen virtuellen Maschinen (d. h. VM1 hostet a.com und VM2 hostet b.com).
  • Websites sollten mit den Protokollen http und https (SSL) funktionieren
  • Remotedesktop oder ähnliches RDP auf jeder VM zulassen
  • andere Protokolle wie WebDAV, SCP oder FTP für jeden Rechner zulassen

Ich gehe davon aus, dass ich für den Remote-Desktop-Zugriff ein VPN und eine Art hostbasiertes oder hostbasiertes + protokollbasiertes NAT (falls es das ist) benötige.

Das scheint etwas zu sein, was schon millionenfach gemacht wurde. Ich weiß einfach nicht, wo ich anfangen soll, welche Software ich verwenden oder wonach ich einfach googeln soll. Außerdem befürchte ich, dass SSL auf diese Weise nicht funktionieren würde, da der Hostname vor dem Handshake nicht sichtbar ist.

Antwort1

Ihre Frage enthält wirklich viel, ich werde mich jedoch auf den Teil zur SSL-Website konzentrieren, da es hier echte Einschränkungen gibt, die über das erforderliche Können/Wissen hinausgehen. Wenn Sie spezielle Hilfe zur VPN-Konfiguration, zu WebDAV, FTP usw. benötigen, wäre es sinnvoll, den Rest der Frage in kleinere Abschnitte aufzuteilen.

Wenn Sie nur ein paar SSL-Websites hosten möchten oder es sich um Wildcard-Websites (z. B. *.example.com) handelt und Sie einen Reverse-Proxy-Server davor haben, können Sie bei der einen öffentlichen IP-Adresse bleiben. Wenn Sie mehrere Domänen benötigen (example.com, example.net, foo.com, bar.com usw.), können Sie möglicherweise ein auf dem Reverse-Proxy installiertes Subject Alternative Name (SAN)- oder UCC-Zertifikat verwenden. Es gibt einepraktisches Diagrammauf Wikipedia, wo eine Liste beliebter Zertifikatsanbieter angezeigt wird und wie viele Domänen Sie mit ihrem Angebot erhalten; Global Sign bietet bis zu 40 mit seinem Zertifikat an.

https://vm1:443Sie könnten auch alternative Ports ( usw. https://vm2:444) und die entsprechenden NAT-Regeln (in einer Firewall vor Ihren VMs) verwenden, aber das ist für öffentliche Sites normalerweise nicht wünschenswert.

Der Grund, warum Sie die verschiedenen Websites nicht einfach von den Servern mit SSL verwalten lassen können, liegt in der Funktionsweise von SSL: Die SSL-Konversation (Handshake) erfolgtVorDer Host-Header ("Hostname") wird vom Client gesendet und vom Server interpretiert, der die SSL-Verbindung beendet, beispielsweise ein Webserver wie Apache oder IIS oder ein Reverse-Proxy/Webserver wienginx. Dies liegt daran, dass der Server zu diesem Zeitpunkt nicht „weiß“, welches Zertifikat er vorlegen soll, und (normalerweise) nur das in der Konfiguration definierte Standardzertifikat (oder das erste Zertifikat) vorlegt. Dieses „Standard“-SSL-ZertifikatdürfenEs kann sich um ein Subject Alternative Name (SAN)-Zertifikat oder ein Platzhalterzertifikat handeln. Dies kann für Ihre Anforderungen ausreichend sein.

Servernamenanzeige(SNI) ist eine neuere Alternative (und eigentlich eine Erweiterung des SSL/TLS-Protokolls, die es dem Client ermöglicht, den Host-Header als Teil der SSL-Konversation anzugeben) zum Problem der Multi-SSL-Sites, wird aber durch die alternde Browserpopulation behindert und ist nur in IE7+ (auch nur in Vista+), Firefox 2+ usw. verfügbar. Es ist also möglicherweise nicht für Ihre Anforderungen geeignet, wenn Sie erwarten, dass die breite Masse Ihre SSL-Sites besucht.

Da es sich anhört, als ob Sie versuchen würden, eine Art Hosting-Anbieter zu werden (was ein ganz anderes Problem ist), würde ich einen möglichst großen IP-Block von meinem ISP/Colo-Anbieter erhalten und entweder ARP-Proxy verwenden oder der VM im Rahmen des Bereitstellungsprozesses physisch eine öffentliche IP-Adresse zuweisen und sie ihre eigenen Zertifikate usw. erhalten lassen. Ohne NAT funktioniert es einfach besser und der Verwaltungsaufwand ist geringer. Wenn jede VM mehrere Mandanten hat (d. h. Standard-„Shared Hosting“ mit so vielen Sites wie möglich, die Sie auf einer VM unterbringen können), können Sie wahrscheinlich eine Kombination aus SAN-Zertifikat/IP-Adresse erreichen, aber bedenken Sie, dass Sie nicht einfach nach Belieben Domänen zum Zertifikat hinzufügen/entfernen können: Sie müssen den Zertifikatsanforderungs-/Signierungsprozess erneut durchlaufen und es kann sein, dass Ihnen dafür erneut Gebühren berechnet werden.

Ich würde auch sehr darauf achten, den Host (den „einen großen Server“) zu schützen und vorausgesetzt, Sie verwenden Hyper-V, eine physische Netzwerkkarte (d. h. schließen Sie sie nicht als virtuelles Netzwerk in Ihre Hyper-V-Konfiguration ein) für die Remoteverwaltung der Box zu reservieren, die durch eine echte (Hardware-)Firewall geschützt ist, und eine Art sichere Verbindung (wie einen ständig aktiven IPSec-Tunnel) einzurichten, vorzugsweise über eine separate/garantierte Internetverbindung* oder zumindest eine öffentliche IP in einem anderen Block außerhalb Ihres „Client“-Blocks für Firewall-ACL-Zwecke und fürDienstgüte. Ich möchte auch sehen, ob Ihr Server unterstütztIPMI(DRAC im Dell-Jargon) und verwenden Sie es zusammen mit Ihrer dedizierten physischen Netzwerkkarte als Teil Ihres Verwaltungsnetzwerks, das nicht über das öffentliche Internet zugänglich ist. Dadurch erhalten Sie Bare-Metal-Zugriff auf die Box, sodass Sie sie neu starten, Firmware-Upgrades durchführen usw. können.

*Diese Anforderung einer dedizierten Verbindung stellt in einer verwalteten Einrichtung möglicherweise kein Problem dar, da dort wahrscheinlich eigene Schritte unternommen wurden, um (mit einem SLA) Betriebszeit/Bandbreite/Ausfallsicherheit sicherzustellen/zu garantieren.

Antwort2

Ich bin kein Windows-Benutzer, aber ich kann Ihnen die richtigen Begriffe nennen, die Sie googeln können, um herauszufinden, wie es unter Windows geht.

Was Sie suchen, ist ein „Reverse Proxy“, der Ihre Websites an lokale IP-Adressen von VMs weiterleitet. In meinem Fall habe ich nginx als Reverse Proxy verwendet. Ich hoffe, das hilft. Lassen Sie uns wissen, wenn Sie noch etwas brauchen.

verwandte Informationen