Salta el contingut

Configuració de DNS a Windows Server

Resolució de noms a Windows

Pots consultar com es resol el nom dels equips a Windows (ordre i prioritat) en aquest link.

Instal·lació del Rol DNS

A Windows Server 2025, la instal·lació del rol DNS es pot fer mitjançant Server Manager o PowerShell.

Mitjançant PowerShell:

# Instal·lació del rol DNS
Install-WindowsFeature -Name DNS -IncludeManagementTools

# Verificació de la instal·lació
Get-WindowsFeature -Name DNS

# Reiniciar el servei DNS
Restart-Service DNS

Mitjançant Server Manager:

  1. Obrir Server Manager
  2. Seleccionar "Add Roles and Features"
  3. Seleccionar "Role-based or feature-based installation"
  4. Triar el servidor local
  5. Marcar "DNS Server"
  6. Completar l'assistent d'instal·lació

Configuració de Zones

La configuració es pot fer des de la consola DNS (dnsmgmt.msc) o PowerShell.

Creació de zona directa amb PowerShell:

# Crear zona primària
Add-DnsServerPrimaryZone -Name "empresa.local" `
    -ReplicationScope "Domain" `
    -DynamicUpdate "Secure"

# Afegir registres A
Add-DnsServerResourceRecordA -Name "www" `
    -ZoneName "empresa.local" `
    -IPv4Address "192.168.1.20" `
    -TimeToLive 01:00:00

# Afegir registre MX
Add-DnsServerResourceRecordMX -Name "." `
    -ZoneName "empresa.local" `
    -MailExchange "mail.empresa.local" `
    -Preference 10

Zones integrades a Active Directory

Amb -ReplicationScope "Domain", la zona es replica automàticament via Active Directory a tots els controladors de domini amb el rol DNS, sense necessitat de configurar transferències de zona manualment (AXFR/IXFR) com faríem a BIND9.

AC0375/01/04 — Miniactivitat

RA1 · CA1b, CA1c, CA1d, CA1j

Instal·la el rol DNS Server en un Windows Server, crea la zona empresa.local amb els mateixos registres A i MX que a la pràctica de Linux, i comprova amb Resolve-DnsName que es resolen correctament. Documenta els passos seguits.

Configuració de Forwarders

# Configurar DNS forwarders
Add-DnsServerForwarder -IPAddress 8.8.8.8
Add-DnsServerForwarder -IPAddress 1.1.1.1

# Verificar forwarders
Get-DnsServerForwarder

Configuració servidor secundari a Windows

# Al servidor primari - permetre transferències
Set-DnsServerPrimaryZone -Name "empresa.local" `
    -SecondaryServers "192.168.1.11" `
    -SecureSecondaries TransferToSecureServers

# Al servidor secundari - crear zona secundària
Add-DnsServerSecondaryZone -Name "empresa.local" `
    -ZoneFile "empresa.local.dns" `
    -MasterServers "192.168.1.10"

Configuració Recursió a Windows Server

Habilitar/Deshabilitar Recursió

Via GUI (DNS Manager):

  1. Obrir DNS Manager (dnsmgmt.msc)
  2. Clic dret al servidor → Properties
  3. Pestanya Advanced
  4. Marcar/desmarcar Disable recursion (also disables forwarders)

Via PowerShell:

# Consultar l'estat actual
Get-DnsServerRecursion

# Deshabilitar recursió
Set-DnsServerRecursion -Enable $false

# Habilitar recursió
Set-DnsServerRecursion -Enable $true

# Veure la configuració completa
Get-DnsServerSetting | Select-Object -ExpandProperty ServerSetting

Configurar Forwarders (delegació recursiva)

# Afegir forwarders (ex: Google DNS)
Add-DnsServerForwarder -IPAddress 8.8.8.8, 8.8.4.4

# Veure forwarders configurats
Get-DnsServerForwarder

# Eliminar forwarders
Remove-DnsServerForwarder -IPAddress 8.8.8.8

Configuració de Root Hints

Els Root Hints defineixen els servidors arrel per a consultes iteratives:

# Veure Root Hints
Get-DnsServerRootHint

# Importar Root Hints des d'un fitxer
Import-DnsServerRootHint -NameServer "a.root-servers.net"

Eines de Diagnòstic a Windows

nslookup: eina multiplataforma, disponible per defecte a Windows, per a consultes DNS bàsiques:

# Consulta simple
nslookup www.google.com

# Consulta a servidor específic
nslookup www.google.com 8.8.8.8

# Consulta de registre MX
nslookup -type=mx gmail.com

Resolve-DnsName: cmdlet natiu de PowerShell, més flexible que nslookup:

# Consulta bàsica
Resolve-DnsName www.exemple.cat

# Consulta específica de tipus
Resolve-DnsName -Name exemple.cat -Type MX

# Consulta inversa
Resolve-DnsName -Name 192.0.2.1 -Type PTR

# Consultar a un servidor DNS específic
Resolve-DnsName www.google.com -Server 8.8.8.8

Gestió de la cache del client:

# Veure la cache local de resolució
Get-DnsClientCache

# Buidar la cache local
Clear-DnsClientCache

Diagnòstic Avançat del rol DNS Server

# Verificar l'estat del servei
Get-Service DNS

# Veure el log d'esdeveniments del servei DNS
Get-WinEvent -LogName "DNS Server" -MaxEvents 50

# Comprovar la configuració d'una zona
Get-DnsServerZone -Name "empresa.local"

Problemes Comuns i Solucions

Problema: El servidor no respon a consultes externes

Solució: Verificar les regles del tallafoc de Windows per al servei DNS (port 53 TCP/UDP):

# Comprovar les regles existents
Get-NetFirewallRule -DisplayName "*DNS*"

# Obrir el port 53 si cal
New-NetFirewallRule -DisplayName "DNS (UDP-In)" -Direction Inbound -Protocol UDP -LocalPort 53 -Action Allow
New-NetFirewallRule -DisplayName "DNS (TCP-In)" -Direction Inbound -Protocol TCP -LocalPort 53 -Action Allow

Problema: La zona no es transfereix al servidor secundari

Solució: comprovar la llista de servidors secundaris autoritzats i forçar la transferència:

# Veure la configuració de transferència de la zona
Get-DnsServerZoneTransferPolicy -ZoneName "empresa.local"

# Forçar la transferència al secundari
Invoke-DnsServerZoneTransfer -ZoneName "empresa.local" -Force

Optimització del Rendiment a Windows DNS Server

Configuració de Cache

# Veure la configuració actual de la cache del servidor
Get-DnsServerCache

# Ajustar el TTL màxim de la cache
Set-DnsServerCache -MaxTTL 01:00:00:00

# Ajustar el TTL de la cache negativa (respostes NXDOMAIN)
Set-DnsServerCache -MaxNegativeTtl 00:00:15:00

DNS Policies (Split-Brain DNS)

Des de Windows Server 2016, les DNS Policies permeten servir respostes diferents segons l'origen de la consulta, de forma equivalent a les views de BIND:

# Definir un subxarxa client
Add-DnsServerClientSubnet -Name "XarxaInterna" -IPv4Subnet "192.168.1.0/24"

# Crear una política de resolució de zona segons l'origen
Add-DnsServerQueryResolutionPolicy -Name "PoliticaInterna" `
    -Action ALLOW `
    -ClientSubnet "eq,XarxaInterna" `
    -ZoneName "empresa.local"

DNS over HTTPS (DoH)

Windows Server 2025 suporta DNS over HTTPS (DoH) per al client DNS:

# Afegir servidor DoH conegut
Add-DnsClientDohServerAddress `
    -ServerAddress "1.1.1.1" `
    -DohTemplate "https://cloudflare-dns.com/dns-query" `
    -AllowFallbackToUdp $False `
    -AutoUpgrade $True

# Verificar configuració DoH
Get-DnsClientDohServerAddress