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:
- Obrir Server Manager
- Seleccionar "Add Roles and Features"
- Seleccionar "Role-based or feature-based installation"
- Triar el servidor local
- Marcar "DNS Server"
- 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):
- Obrir DNS Manager (dnsmgmt.msc)
- Clic dret al servidor → Properties
- Pestanya Advanced
- 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:
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