Windows Server 2016: Introduzione al Network Controller

Windows Server

In Windows Server 2016 sono molte le novità introdotte in ambito networking che ci consentono di realizzare una infrastruttura funzionale, denominata Software Defined Networking (SDN), che è alla base del Software Defined Datacenter (SDDC).

Le caratteristiche principali dell’architettura Software Defined Networking (SDN) sono l’adattabilità, la dinamicità e la facilità di gestione. Tutti questi aspetti possono essere contemplati al meglio grazie all’introduzione in Windows Server 2016 delle funzionalità che andremo ad approfondire in questo articolo.

Network Controller

Si tratta di un nuovo ruolo introdotto in Windows Server 2016 che può essere facilmente installato tramite Server Manager oppure utilizzando PowerShell e che consente di gestire, configurare e monitorare l’infrastruttura di rete virtuale e fisica del proprio datacenter. Grazie al Network Controller è anche possibile automatizzare la configurazione della propria infrastruttura di rete anziché dover configurare manualmente device e servizi. Questo ruolo può essere installato anche su macchine virtuali, prevede di essere messo in alta disponibilità e può scalare facilmente. Il deploy del Network Controller può essere fatto sia in ambiente di dominio, in questo caso l’autenticazione degli utenti e dei device di rete avviene tramite Kerberos, che in un ambiente non di dominio richiedendo l’autenticazione basata su certificati.

La comunicazione tra il Network Controller e i componenti di rete avviene utilizzando l’interfaccia Southbound API, figura 1, grazie alla quale viene fatto il discovery degli apparati di rete e rilevata la configurazione dei servizi. Inoltre tramite la stessa interfaccia vengono raccolte le informazioni di rete necessarie e trasmesse agli apparati le modifiche effettuate.

Tramite l’interfaccia Northbound API è possibile comunicare con il Network Controller per consultare le informazioni di rete ed utilizzarle per fare monitoring e troubleshooting. La stessa API viene utilizzata per apportare modifiche alla configurazione di rete e per fare il deploy di nuovi device.

2015_12_27_WS16NC_01
Figura 1 – Schema Comunicazione

La gestione e il monitor della rete tramite Network Controller, figura 2, può avvenire direttamente tramite PowerShell (Network Controller Cmdlets) oppure utilizzando applicazioni di management come ad esempio System Center Virtual Machine Manager (SCVMM) e System Center Operations Manager (SCOM).

2015_12_27_WS16NC_02

Figura 2 – Gestione Network Controller

Tramite il Network Controller è possibile gestire i seguenti componenti dell’infrastruttura di rete fisica e virtuale:

  • Hyper-V VMs e virtual switch
  • Switch
  • Router
  • Firewall software
  • VPN Gateway (compreso RRAS Multitenant Gateway)
  • Load Balancer

Funzioni Network Virtualizzate

La diffusione della virtualizzazione ha coinvolto anche il settore network e c’è sempre più interesse nelle appliance virtuali e nei servizi cloud che erogano servizi di rete con un mercato emergente in forte crescita. Nei software defined datacenter vediamo infatti sempre più frequentemente l’utilizzo di appliance virtuali per erogare funzionalità di rete che tipicamente venivano erogate esclusivamente da apparati fisici (come ad esempio bilanciatori, firewall, router, switch, etc.).

In Windows Server 2016 Technical Preview sono disponibili le seguenti virtual appliance:

Software Load Balancer

Si tratta di un bilanciatore software layer-4, con caratteristiche analoghe al load balancer già ampliamente utilizzato sulla piattaforma Azure. Per maggiori informazioni su Microsoft Azure Load Balancing Services vi invito a consultare Microsoft Azure Load Balancing Services.

Firewall Multi-Tenant

Il Datacenter Firewall, figura 3, è un nuovo servizio introdotto in Windows Server 2016. Questo firewall è in grado di proteggere il layer network delle reti virtuali ed è pensato per essere multitenant. Quando viene implementato può essere offerto come servizio dal service provider e l’amministratore del tenant può installare e configurare delle firewall policy per proteggere le proprie reti virtuali da potenziali attacchi che provengono da internet o dalle reti interne.

2015_12_27_WS16NC_03

Figura 3 – Firewall Policy

La gestione del Datacenter Firewall può essere fatta utilizzando il network controller. Il Datacenter Firewall offre i seguenti vantaggi per il cloud service provider:

  • Un servizio firewall software scalabile e gestibile che può essere offerto come servizio ai propri tenant
  • Offre protezione ai tenant indipendentemente dal sistema operativo in esecuzione sulla macchina virtuale
  • Libertà di spostare le macchine virtuali dei tenant su host della fabric differenti senza interrompere le funzionalità firewall erogate in quanto:
  • L’agente firewall viene deployato come porta vSwitch;
  • Le macchine virtuali del tenant prendono le policy assegnate al loro vSwitch;
  • Le regole del firewall vengono configurate in ogni porta del vSwitch, indipendentemente dall’host fisico che detiene la macchina virtuale

Per quanto riguarda i tenant invece il Datacenter Firewall offre i seguenti vantaggi:

  • Possibilità di definire regole sul firewall per aumentare la protezione dei workload esposti nelle virtual network verso Internet
  • Possibilità di creare delle regole sul firewall per la protezione tra macchine virtuali presenti sulla stessa subnet layer 2 oppure su subnet L2 differenti
  • Possibilità di definire delle regole firewall per aumentare la protezione e isolare il traffico di rete tra la rete tenant on premise e la propria virtual network presente presso il service provider

RAS Gateway

RAS Gateway viene utilizzato per fare routing del traffico di rete tra le reti virtuali e le reti fisiche. Diversi sono gli ambiti di utilizzo:

Site-to-Site Gateway

Soluzione gateway multi-tenant, figura 4, che consente ai tenant di accedere alle loro risorse e di gestirle utilizzando una connessione VPN site-to-site. Grazie a questo gateway è possibile mettere in comunicazione risorse virtuali nel cloud con la rete fisica del tenant.

2015_12_27_WS16NC_04

Figura 4 – S2S Gateway

Forwarding Gateway

Utilizzato per fare routing del traffico di rete tra le reti virtuali e la rete fisica del provider di hosting (nella stessa location geografica) – figura 5.

2015_12_27_WS16NC_05

Figura 5 – Forwarding Gateway

GRE Tunnel Gateway

I gateway sono in grado di creare tunnel basati sul protocollo GRE che forniscono connettività tra le virtual network dei tenant e le reti esterne. Il protocollo GRE è supportato in molti apparati di rete, pertanto è una scelta ideale quando non viene richiesta l’encryption del canale. Per maggiori dettagli sul tunnel GRE vi invito a consultare GRE Tunneling in Windows Server Technical Preview.

Hyper-V Network Virtualization

La Network Virtualization di Hyper-V (HNV) è un componente fondamentale della soluzione Software Defined Networking (SDN) di Microsoft e come tale sono molte le novità introdotte in Windows Server 2016 per renderlo sempre più funzionale e integrato nello stack SDN.

Un aspetto importante da tenere in considerazione quando si parla di SDN è che lo stesso stack è consistente con Microsoft Azure e ci consente quindi di portare le stesse potenzialità utilizzate nel public cloud di Azure presso la propria realtà.

Programmable Hyper-V Switch

Tramite il componente Network Controller è possibile fare la push delle policy HNV, figura 6, verso l’agent in esecuzione su ogni host che utilizza l’Open vSwitch Database Management Protocol (OVSDB – RFC 7047). L’Host Agent memorizza queste policy utilizzando una customizzazione dello schema VTEP ed è in grado di programmare regole anche complesse all’interno del performante motore dell’Hyper-V virtual switch.

2015_12_27_WS16NC_06

Figura 6 – Push Policies

Supporto a VXLAN Encapsulation

Il protocollo Virtual eXtensible Local Area Network (VXLAN – RFC 7348) è stato ampliamente adottato sul mercato con il supporto di importanti vendor come Cisco, Brocade, Dell, HP e altri. L’HNV ora supporta questo schema di incapsulamento utilizzando la modalità di distribuzione MAC attraverso il Microsoft Network Controller, il quale consente di programmare l’associazione tra gli indirizzi IP del tenant (Customer Address – CA) e gli indirizzi IP della rete fisica (Provider Address – PA). Il protocollo di incapsulamento Network Virtualization Generic Routing Encapsulation (NVGRE) continua ad essere supportato anche in Windows Server 2016.

Interoperabilità con il Software Load Balancer (SLB)

Il software load balancer (SLB) presentato in precedenza è pienamente supportato in ambito reti virtuali. Il SLB avviene attraverso il performante motore del virtual switch e controllato dal network controller per quanto riguarda il mapping Virtual IP (VIP) – Dynamic IP (DIP).

IEEE Compliant

Per garantire la piena interoperabilità con apparati di rete fisici e virtuali Microsoft garantisce che tutti i pacchetti trasmessi quando si utilizza HNV sono in tutti i suoi campi compliant con gli standard dettati da IEEE. Questo aspetto è stato fortemente curato e ulteriormente migliorato in Windows Server 2016.

Nuovi Elementi Introdotti (Cloud Scale Fundamentals)

In Windows Server 2016 sono state introdotte le seguenti funzionalità per avere la possibilità di configurare il proprio ambiente in modo più efficace, sfruttando al meglio le risorse hardware a disposizione:

Converged Network Interface Card (NIC): Questa funzionalità consente di utilizzare una singola scheda di rete per gestire tipologie differenti di traffico: il management, l’accesso allo storage (RDMA) e il traffico dei tenant. In questo modo è possibile diminuire il numero di schede di rete necessarie per ogni host fisico.

Switch Embedded Teaming (SET): SET è una nuova soluzione di NIC Teaming integrata nei Virtual Switch di Hyper-V. SET consente di avere teaming composti fino ad un massimo di otto schede di rete fisiche in un unico SET team. Questa modalità di teaming, essendo integrata nei virtual switch, può essere utilizzata solo sugli host fisici e non all’interno delle macchine virtuali, dove sarà comunque possibile configurare teaming in modo tradizionale (NIC Teaming in Virtual Machines). Questa modalità di teaming non espone interfacce di team, ma le configurazioni vanno apportate tramite Virtual Switch port.

2015_12_27_WS16NC_07

Packet Direct: Packet Direct consente di raggiungere un elevato throughput e una bassa latenza per il traffico di rete.

Novità Apportate ai Servizi Esistenti

DHCP
La funzionalità Network Access Protection (NAP) è già nello stato “deprecated” in Windows Server 2012 R2. In Windows Server 2016 il ruolo DHCP Server non supporterà più la funzionalità NAP e gli scope DHCP non potranno più essere NAP-enabled.

DNS Server
Approfondiamo ora quelle che sono in Windows Server 2016 le diverse novità introdotte sul servizio DNS Server per migliorare l’efficacia e la sicurezza:

DNS Policy: è possibile configurare delle policy DNS per definire come il server DNS risponde alle query DNS. Le risposte DNS possono essere in base a molti parametri, come ad esempio all’indirizzo IP del client (location) oppure all’ora del giorno. Le policy DNS aprono le porte a diversi scenari di configurazione come DNS location-aware, gestione del traffico, load balancing e split-brain DNS.

Response Rate Limiting (RRL): è possibile configurare sul server DNS dei limiti sul response rate. Questo tipo di configurazione ci consente di evitare l’utilizzo del sistema DNS da parte di sistemi malevoli per effettuare attacchi di tipo DOS (denial of service).

DNS-based Authentication of Named Entities (DANE): è possibile utilizzare i record TLSA (Transport Layer Security Authentication) per fornire informazioni ai DNS Client riguardanti quale CA è attesa per uno specifico domain name. Questo meccanismo risulta utile per poter prevenire attacchi ti tipologia man-in-the-middle.

Supporto degli Unknown Record: questa funzionalità consente di aggiungere record che non risultano supportati in modo esplicito dal Server DNS Windows.

IPv6 root hints: è possibile utilizzare gli IPV6 root server per effettuare la risoluzione dei nomi Internet.

Windows PowerShell Support: è stato migliorato il supporto PowerShell introducendo nuovi cmdlets per il DNS Server.

DNS e IPAM: miglior integrazione tra il servizio DNS e IPAM.

Vi invito ad approfondire e valutare direttamente sul campo le nuove funzionalità introdotte in ambito networking scaricando Windows Server 2016.