Daniel's Tech Blog

Cloud Computing, Cloud Native & Kubernetes

Windows Server 2012 R2 NVGRE Gateway mit NAT in SC2012 R2 VMM

Mit Windows Server 2012 R2 führt Microsoft ein built-in NVGRE Gateway ein. Dieses NVGRE Gateway ermöglicht verschiedene Zugriffsszenarien der VMs beziehungsweise auf die VMs. Man hat die Möglichkeit zwischen S2S VPN, NAT oder Direct Routing zu wählen.

Die zentrale Komponente im Zusammenhang mit der Network Virtualization stellt der SC2012 R2 VMM dar. Dieser übernimmt das ganze Management, sei es das Policy Management für die Customer Routes, die Lookup Records, die Customer Addresses, die Provider Adresses oder die Einrichtung der VM Networks und Einbindung der NVGRE Gateways.

In diesem Blogartikel werde ich mich mit der Einrichtung und Konfiguration eines Windows Server 2012 R2 NVGRE Gateways mit NAT im SC2012 R2 VMM befassen. Welche Komponenten werden von Windows Server 2012 R2 und SC2012 R2 VMM für das hier dargestellte Szenario benötigt?

  • Ein Logical Network welches das Erstellen von VM Networks über die Network Virtualization erlaubt. Dazu zählt dann auch ein IP Addresspool für den Provider Address Space.
  • Ein VM Network welches auf dem Logical Network basiert. Dazu zählt dann auch ein IP Addresspool für den Customer Address Space.
  • Einen dedizierten Hyper-V Host, der das NVGRE Gateway hostet.
  • Einen Standalone Hyper-V Host oder einen Hyper-V Cluster, der die VMs hostet.
  • Eine Windows Server 2012 R2 VM, die als NVGRE Gateway dient. Am besten als Service Template in der VMM Library.

Im ersten Schritt wechselt man in der VMM Konsole in den Bereich Fabric und legt dort ein neues Logical Network an.

NVGREU_1

In meinem Beispiel habe ich das Logical Network mit dem Namen Tenant_Datacenter versehen. Die Network Site wurde ebenfalls als Tenant_Datacenter bezeichnet und mit VLAN 0 sowie dem Subnet 192.168.0.0/16 angelegt. Die Network Site Zuweisung bezieht sich dabei auf All Hosts. Danach wird der Tenant_Datacenter IP Addresspool angelegt. Hier muss nur der IP-Adressbereich angegeben werden. Mehr wird nicht benötigt.

NVGREU_2NVGREU_3

Entsprechend muss dieses Logical Network dann auf den NICs der Server, ob dedizierter Hyper-V Host für das NVGRE Gateway oder der Hyper-V Cluster für die VMs, aktiviert werden. Verwendet man den Logical Switch im VMM für die Hyper-V Hosts, so braucht man nur die entsprechenden Uplink Port Profiles anzupassen.

NVGREU_4

Nun wird in den Bereich VMs and Services gewechselt und ein neues VM Network Tenant angelegt, welches auf dem Logical Network Tenant_Datacenter basiert. Als Isolation wählt man Hyper-V Network Virtualization IPv4 aus und als VM Subnet habe ich 172.16.0.0/24 mit dem Namen Tenant gewählt. In diesem Schritt wird noch nicht das NVGRE Gateway mit dem VM Network verbunden. Stattdessen erfolgt das Anlegen des Tenant IP Addresspool. Hier wird der IP-Adressbereich von 172.16.0.2-172.16.0.254 festgelegt, ebenso das Gateway mit 172.16.0.1. Jetzt folgt die Besonderheit die DNS Server mit den IP-Adressen 10.0.0.1 und 10.0.0.2 stehen in meinem Datacenter und sind ohne NVGRE Gateway also nicht aus dem VM Network zu erreichen.

Nachdem die Infrastruktur und grundlegende Komponenten konfiguriert sind, erfolgt nun das Erstellen und Konfigurieren des NVGRE Gateway. Hierbei habe ich mich für ein Service Template mit Windows Server 2012 R2 Datacenter als OS entschieden.

NVGREU_5

Dieses beinhaltet die allgemeinen Hardwareeinstellungen sowie die Einstellungen für das Betriebssystem wie z.B. Zugangsdaten für den Beitritt in die Domain, Product Key, etc.. Wie in der Grafik zusehen ist, hat das NVGRE Gateway zwei Verbindungen zum Logical Network Datacenter. Normalerweise wird NIC 1 mit dem Management Netzwerk und NIC 2 mit dem externen Netzwerk verbunden. Da beides bei mir aber ein Netzwerk ist, sind die beiden NICs mit demselben Logical Network verbunden. NIC3 wird nicht verbunden, dazu dann später mehr.

NVGREU_6

Wieso ich mich für ein Service Template und kein VM Template entschieden habe ist schnell erklärt. Mit den Service Templates können direkt Rollen und Features beim Deployment mit installiert werden, so dass hier die benötigten Komponenten wie DirectAccess and VPN (RAS) und Routing ausgewählt sind.

Bevor man jetzt das Deployment des NVGRE Gateway startet, muss noch der dedizierte Hyper-V Host als dedizierter NVGRE Gateway Server deklariert werden. Dies wird über einen einfachen PowerShell Befehl aus dem VMM PowerShell Module erledigt.

Set-SCVMHost -VMHost gwhv-1.neumanndaniel.local -IsDedicatedToWNVGateway $true

Oder alternativ dazu über die Eigenschaften des Hyper-V Hosts unter dem Reiter Host Access.

NVGREU_7

Danach kann das Deployment auf diesen Hyper-V Host beginnen. Ist dieses vollständig beendet und ohne Fehler verlaufen, erfolgt die Anmeldung auf dem NVGRE Gateway selber. Hier wechselt man in das Netzwerk- und Freigabecenter und wechselt in die Adaptereinstellungen.

NVGREU_8

Um später das entsprechende Front End und Back End Network leichter einstellen zu können, sollte man die beiden verbundenen NICs umbenennen und entsprechend ihren Aufgaben den passenden Namen vergeben. In diesem Beispiel External und Mgmt. Die bisher nicht verbundene NIC erhält den Namen Tenant. Danach Abmelden und wieder zurück in die VMM Konsole. Dort geht man in die Eigenschaften der NVGRE Gateway VM unter Hardware Configuration und wählt die nicht verbundene NIC aus.

NVGREU_9

Ein Klick auf Connected to a VM network und anschließend Browse. Dann unbedingt auf Clear Selection klicken und mit OK bestätigen. Damit ist die NIC mit dem vSwitch aber keinem konkreten VM Network verbunden. Dies erfolgt später in den Einstellungen des VM Network.

NVGREU_10NVGREU_11

Zum Schluss die NVGRE Gateway VM herunterfahren, der NIC eine statische MAC Adresse zuweisen und die VM wieder starten. Dann erfolgt der Wechsel zurück in den Bereich Fabric und unter Network Service fügt man dann das NVGRE Gateway dem VMM hinzu.

NVGREU_12NVGREU_13

Unter Credentials wird entweder ein RunAs Account mit Domain Admin Rechten oder lokalen Adminrechten auf der VM ausgewählt. Dann erfolgt die Eingabe des Connection String.

NVGREU_14

Ein Zertifikat wird in diesem Beispiel nicht benötigt und kann somit übersprungen werden. Unter dem Punkt Provider klickt man auf Test. Hier dürfen keine Fehler auftauchen.

NVGREU_15

Als Host Group habe ich Cluster ausgewählt. Hierunter befinden sich bei mir alle Hyper-V Cluster. Zum Abschluss den Wizard beenden und das NVGRE Gateway sollte unter Network Service auftauchen. Ist dies der Fall geht man in die Eigenschaften unter Connectivity.

NVGREU_16

Als Front End Network wird der Adapter External und die Network Site (Logical Network) Datacenter definiert. Für das Backend Network der Adapter Tenant und die Network Site (Logical Network) Tenant_Datacenter. Mit einem Klick auf OK werden die Einstellungen vorgenommen. Im nächsten Schritt wird wieder in den Bereich VMs and Services gewechselt und in die Eigenschaften des VM Network Tenant gegangen.

NVGREU_17

Unter Connectivity wird Connect directly to an additional logical network, Network address translation (NAT) und das so eben verbundene Gateway angegeben. Ist die Konnektivität hergestellt kann eine VM auf dem Hyper-V Cluster, die mit dem VM Network Tenant verbunden ist, bereitgestellt werden. Da die VM die Erste in diesem VM Network ist, erhält sie automatisch über den IP Address Pool Tenant die IP-Adresse 172.16.0.2 und alle weiteren IP-Konfigurationen. Somit habe ich während dem VM Deployment schon einmal zwei NAT Regeln eingerichtet.

NVGREU_18

Einmal Port 80 für einen Webserver Zugriff und Port 3389 für RDP. Wie man sehr schön sehen kann, sobald NAT unter Connectivity ausgewählt wird, bezieht das NVGRE Gateway eine IP-Adresse aus dem Netzwerkbereich des Front End Network, um die Konnektivität von Außen in das VM Network herstellen zu können.

Damit ist die Konfiguration des NVGRE Gateway abgeschlossen und nach dem Anmelden an der VM über die Konsole sollte das Netzwerksymbol in der Taskleiste anzeigen, dass man Internetzugriff hat.

NVGREU_19

Ich habe direkt noch einen Ping mittels FQDN auf einen der DCs im Datacenter abgegeben, um die Konnektivität nach Außen zu verdeutlichen. Des Weiteren habe ich auf der VM die Rolle des IIS installiert, um den Zugriff von Außen aus dem Datacenter zu demonstrieren.

NVGREU_20NVGREU_21

Wie man sieht funktionieren der Webserver und der RDP Zugriff über Port 80 respektive Port 3389.

NVGREU_22

Der Zugriff auf Server und Daten im Datacenter ist ebenfalls möglich, wie man aus es aus dem oberen Screenshot entnehmen kann. Es funktioniert sogar ein Beitritt in eine Domain, falls man dies vorhat.

NVGREU_23

Der Internetzugriff ist ebenfalls möglich.

Wer eine detailliertere Beschreibung sucht, dem sei das folgende Whitepaper ans Herz gelegt. Es basiert noch auf den Preview Versionen sollte aber in Kürze ein Update erfahren.

Whitepaper Hybrid Cloud with NVGRE (WSSC 2012 R2):
http://gallery.technet.microsoft.com/Hybrid-Cloud-with-NVGRE-aa6e1e9a

Whitepaper Hybrid Cloud with NVGRE (WSSC 2012 R2) – German version:
http://gallery.technet.microsoft.com/Hybrid-Cloud-with-NVGRE-e56011f4

WordPress Cookie Notice by Real Cookie Banner