Utilizzare RRAS e NAT per ridurre il consumo di indirizzi IP delle macchine virtuali

Quando, per diletto o per esigenza, abbiamo necessità di creare un dominio di macchine virtuali sul nostro server 2008 R2 della nostra rete aziendale, possiamo incorrere in un problema se non configuriamo correttamente la parte di networking.

Infatti, se ogni macchina virtuale avesse una scheda di rete External, prenderebbe un indirizzo IP dalla Corpnet della nostra azienda. Moltiplicando questo numero per quello dei servers Hyper-V che noi e i nostri colleghi abbiamo in sala server, potremmo spesso incorrere in un esaurimento degli indirizzi IP disponibili da parte del Dhcp aziendale che serve la subnet dove c’è il nostro Hyper-v host.

La soluzione è utilizzare una macchina virtuale che funzioni da router e NAT. Tutto il traffico di rete che dalle nostre macchine virtuali necessiti di andare all’esterno, passerà tramite di essa.

image

Ad esempio consideriamo la nostra azienda, Contoso, il cui dominio è corp.contoso.com

Le nostre macchine virtuali sono tutte appartenenti al dominio interno blue.local

Tutte le schede di rete delle macchine virtuali devono essere di tipo Private e devono essere configurate ad avere come default gateway l’indirizzo IP del router relativo alla LAN interna opportuna, ad esempio:

 

image 

Per configurare una macchina virtuale come router, che chiameremo router.blue.local dobbiamo innanzitutto aggiungere una scheda di rete Private per ogni sottorete interna del nostro dominio virtuale, più una scheda External da collegare alla rete Corp.

In seguito, dobbiamo installare il ruolo di Routing and Remote Access (RRAS) che si trova sotto Network Policy and Access Services.

 

image

image

 

La configurazione del RRAS è molto intuitiva. Semplicemente, dalla MMC selezioniamo tasto destro e Configure and Enable Routing and Remote Access

 

image

 

Custom configuration

 

image

 

NAT e LAN Routing

 

image

 

Successivamente, dobbiamo configurare il NAT, aggiungendo tutte le interfacce di rete del nostro router. Selezioniamo quindi NAT / New interface

image

e aggiungiamo come schede Private quelle interne e come Public quella che si affaccia su Corp (senza dimenticare il flag Enable NAT).

image

Nel mio esempio,

  • LAN 10.0.0.1 – Private interface
  • LAN 192.168.0.1 – Private Interface
  • Corpnet adapter 64.22.x.x – Public Interface with NAT enabled

Nota bene: il concetto di Private del NAT è diverso da quello di scheda Private per Hyper-V. Ulteriori dettagli sulle tipologie di Network interfaces in Hyper-V sono disponibili a http://technet.microsoft.com/en-us/library/cc816585(WS.10).aspx

A questo punto, tutte le macchine virtuali sono connesse via router con la rete aziendale.

Il modo ottimale per trasferire files da qualsiasi macchina virtuale di blue.local al nostro client fisico su corp.contoso.com è utilizzare una fileshare sul router. Infatti, oltre che ovviamente dalle altre macchine virtuali, tale share è accessibile anche dalla rete corp, semplicemente digitando \\router\nomeshare   dal nostro client aziendale (cerchiamo di inventarci un nome macchina meno comune!) e inserendo le credenziali del dominio blue.local

Per far navigare in internet le macchine virtuali occorre che su Internet Explorer sia configurato il proxy della rete aziendale esterna, quello nel nostro caso di corp.contoso.com . Può essere comodo distribuire questo setting via GPO configurando

User Configuration / Policies / Windows Settings / Internet Explorer Maintenance / Connection / Proxy Settings

 

image

 

Infine, potrebbe non essere possibile, da una macchina virtuale del dominio blue.local, accedere a share di rete di macchine joinate al dominio corp.contoso.com se le impostazioni IPSEC di Corp sono impostate in modo troppo restrittivo, è invece possibile fare il contrario, cioè accedere a share di rete sul router collegandosi da macchine su Corp.

Grazie per l’attenzione e alla prossima!

Stefano Gagliardi
Support Engineer
Microsoft Enterprise Platform Support