Servicio DNS interno (iDNS) para SDN
Si trabaja para un proveedor de servicios en la nube (CSP) o una empresa que planea implementar redes definidas por software (SDN) en Windows Server, puede proporcionar servicios DNS a las cargas de trabajo de inquilino hospedadas mediante DNS interno (iDNS), que se integra con SDN.
Las máquinas virtuales hospedadas y las aplicaciones requieren DNS para comunicarse dentro de sus propias redes y con recursos externos en Internet. Con iDNS, puede proporcionar a los inquilinos servicios de resolución de nombres DNS para recursos aislados, de espacios de nombres locales y para Internet.
Dado que el servicio iDNS no es accesible desde redes virtuales de inquilino, aparte del proxy de iDNS, el servidor no es vulnerable a actividades malintencionadas en redes de inquilinos.
Principales características
A continuación se describen las características claves de iDNS.
- Proporciona servicios de resolución de nombres DNS compartidos para cargas de trabajo de inquilino.
- Servicio DNS autoritativo para la resolución de nombres y el registro DNS en el espacio de nombres del inquilino.
- Servicio DNS recursivo para la resolución de los nombres de Internet de las máquinas virtuales de los inquilinos.
- Si lo desea, puede configurar el hospedaje simultáneo de nombres de tejido e inquilino.
- Una solución DNS rentable: los inquilinos no necesitan implementar su propia infraestructura DNS.
- Alta disponibilidad con la integración de Active Directory, que es necesaria.
Además de estas características, si le preocupa mantener abiertos los servidores DNS integrados de AD a Internet, puede implementar servidores iDNS detrás de otra resolución recursiva en la red perimetral.
Dado que iDNS es un servidor centralizado para todas las consultas de DNS, un CSP o una empresa también puede implementar firewalls DNS de inquilino, aplicar filtros, detectar actividades malintencionadas y auditar transacciones en una ubicación central.
Infraestructura de iDNS
La infraestructura de iDNS incluye servidores iDNS y proxy iDNS.
Servidores iDNS
iDNS incluye un conjunto de servidores DNS que hospedan datos específicos del inquilino, como registros de recursos DNS de máquina virtual.
Los servidores de iDNS son los servidores autoritativos de sus zonas DNS internas y también actúan como una resolución de nombres públicos cuando las máquinas virtuales de los inquilinos intentan conectarse a recursos externos.
Todos los nombres de host de las máquinas virtuales de las redes virtuales se almacenan como registros de recursos DNS en la misma zona. Por ejemplo, si implementa iDNS para una zona denominada contoso.local, los registros de recursos DNS de las máquinas virtuales de esa red se almacenan en la zona contoso.local.
Los nombres de dominio completos (FQDN) de las máquinas virtuales de los inquilinos se componen del nombre del equipo y de la cadena del sufijo DNS de la red virtual, en formato GUID. Por ejemplo, si tiene una máquina virtual de inquilino denominada TENANT1 que se encuentra en la red virtual contoso.local, el FQDN de la máquina virtual es TENANT1.vn-guid.contoso.local, donde vn-guid es la cadena de sufijo DNS para la red virtual.
Nota
Si es un administrador del tejido, puede usar la infraestructura de CSP o DNS empresarial como servidores iDNS en lugar de implementar nuevos servidores DNS específicamente para su uso como servidores iDNS. Tanto si implementa nuevos servidores para iDNS como si usa la infraestructura existente, iDNS se basa en Active Directory para proporcionar alta disponibilidad. Por lo tanto, los servidores iDNS deben integrarse con Active Directory.
Proxy iDNS
El proxy iDNS es un servicio de Windows que se ejecuta en cada host y que reenvía el tráfico DNS de la red virtual de inquilino al servidor iDNS.
En la ilustración siguiente se muestran las rutas de acceso de tráfico DNS desde redes virtuales de inquilino a través del proxy iDNS al servidor iDNS e Internet.
Implementación de iDNS
Al implementar SDN en Windows Server 2016 mediante scripts, iDNS se incluye automáticamente en la implementación.
Para obtener más información, vea los siguientes temas.
Descripción de los pasos de implementación de iDNS
Puede usar esta sección para comprender cómo se instala y configura iDNS al implementar SDN mediante scripts.
A continuación se muestra un resumen de los pasos necesarios para implementar iDNS.
Nota
Si ha implementado SDN mediante scripts, no es necesario realizar ninguno de estos pasos. Los pasos se proporcionan únicamente con fines informativos y de solución de problemas.
Paso 1: Implementar DNS
Puede implementar un servidor DNS mediante el siguiente comando de ejemplo de Windows PowerShell.
Install-WindowsFeature DNS -IncludeManagementTools
Paso 2: Configurar la información de iDNS en la controladora de red
Este segmento de script es una llamada REST realizada por el administrador a la Controladora de red, para ofrecerle información sobre la configuración de la zona iDNS, como la dirección IP del servidor iDNS y la zona que se usa para hospedar los nombres de iDNS.
Url: https://<url>/networking/v1/iDnsServer/configuration
Method: PUT
{
"properties": {
"connections": [
{
"managementAddresses": [
"10.0.0.9"
],
"credential": {
"resourceRef": "/credentials/iDnsServer-Credentials"
},
"credentialType": "usernamePassword"
}
],
"zone": "contoso.local"
}
}
Nota
Se trata de un extracto de la sección Configuración de ConfigureIDns en SDNExpress.ps1. Para más información, consulte Deploy a Software Defined Network infrastructure using scripts (implementación de una infraestructura de red definida por software mediante scripts).
Paso 3: Configurar el servicio proxy de iDNS
El servicio proxy iDNS se ejecuta en cada uno de los hosts de Hyper-V, lo que establece un puente entre las redes virtuales de los inquilinos y la red física donde se encuentran los servidores iDNS. Se deben crear las siguientes claves del Registro en cada host de Hyper-V.
Puerto DNS: puerto fijo 53
- Clave del Registro = HKLM\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService"
- ValueName = "Port"
- ValueData = 53
- ValueType = "Dword"
Puerto de proxy DNS: puerto fijo 53
- Clave del Registro = HKLM\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService"
- ValueName = "ProxyPort"
- ValueData = 53
- ValueType = "Dword"
Dirección IP DNS: dirección IP fija configurada en la interfaz de red, en caso de que el inquilino elija usar el servicio iDNS.
- Clave del Registro = HKLM\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService"
- ValueName = "IP"
- ValueData = "169.254.169.254"
- ValueType = "String"
Dirección Mac: Dirección de Media Access Control del servidor DNS
- Clave del Registro = HKLM\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService
- ValueName = "MAC"
- ValueData = "aa-bb-cc-aa-bb-cc"
- ValueType = "String"
Dirección del servidor IDNS: lista separada por comas de servidores iDNS.
- Clave del Registro: HKLM\SYSTEM\CurrentControlSet\Services\DNSProxy\Parameters
- ValueName = "Forwarders"
- ValueData = "10.0.0.9"
- ValueType = "String"
Nota
Se trata de un extracto de la sección Configuración de ConfigureIDnsProxy en SDNExpress.ps1. Para más información, consulte Deploy a Software Defined Network infrastructure using scripts (implementación de una infraestructura de red definida por software mediante scripts).
Paso 4: Reiniciar el servicio del agente del host de la controladora de red
Puede usar el siguiente comando de Windows PowerShell para reiniciar el servicio del agente del host de la controladora de red.
Restart-Service nchostagent -Force
Para más información, vea Restart-Service.
Habilitación de reglas de firewall para el servicio de proxy DNS
Puede usar el siguiente comando de Windows PowerShell para crear una regla de firewall que permita que las excepciones del proxy se comuniquen con la máquina virtual y el servidor iDNS.
Enable-NetFirewallRule -DisplayGroup 'DNS Proxy Firewall'
Para más información, vea Enable-NetFirewallRule.
Validación del servicio iDNS
Para validar el servicio iDNS, debe implementar una carga de trabajo de inquilino de ejemplo.
Para más información, consulte Creación de una máquina virtual y conexión a una red VLAN o red virtual de inquilino.
Si desea que la máquina virtual del inquilino use el servicio iDNS, debe dejar en blanco la configuración del servidor DNS de las interfaces de red de máquina virtual y permitir que las interfaces usen DHCP.
Una vez iniciada la máquina virtual con esta interfaz de red, recibe automáticamente una configuración que permite que la máquina virtual use iDNS, y la máquina virtual empieza a realizar inmediatamente la resolución de nombres mediante el servicio iDNS.
Si configura la máquina virtual del inquilino para que use el servicio iDNS dejando en blanco el servidor DNS de la interfaz de red y la información del servidor DNS alternativo, la controladora de red proporciona a la máquina virtual una dirección IP y realiza un registro de nombres DNS en nombre de la máquina virtual con el servidor iDNS.
La controladora de red también informa al proxy iDNS sobre la máquina virtual y los detalles necesarios para realizar la resolución de nombres para la máquina virtual.
Cuando la máquina virtual inicia una consulta de DNS, el proxy actúa como reenviador de la consulta desde la red virtual al servicio iDNS.
El proxy DNS también garantiza que las consultas de máquina virtual del inquilino estén aisladas. Si el servidor iDNS es autoritativo para la consulta, el servidor iDNS responde con una respuesta autoritativa. Si el servidor iDNS no es autoritativo para la consulta, realiza una recursión DNS para resolver los nombres de Internet.
Nota
Esta información se incluye en la sección Configuración de AttachToVirtualNetwork en SDNExpressTenant.ps1. Para más información, consulte Deploy a Software Defined Network infrastructure using scripts (implementación de una infraestructura de red definida por software mediante scripts).