Salta el contingut

Sistema de Resolució de Noms en Windows

Introducció

En sistemes Windows, la resolució de noms és el procés de convertir noms llegibles (com servidor.exemple.com o equip01) en adreces IP. Windows utilitza dos tipus principals de resolució de noms:

  • Host Name Resolution: Utilitzat per aplicacions TCP/IP (navegadors web, FTP, SSH, etc.)
  • NetBIOS Name Resolution: Utilitzat tradicionalment per recursos compartits de Windows (carpetes, impressores)

Host Name Resolution

Aquest mètode s'utilitza quan aplicacions TCP/IP necessiten resoldre un nom FQDN (Fully Qualified Domain Name) o un nom simple.

Ordre de Prioritat

graph TD
    A[Aplicació sol·licita resolució de nom] --> B{1. És el propi nom del client?}
    B -->|Sí| Z[Retorna IP local]
    B -->|No| C[2. Consulta la caché DNS local]
    C -->|Trobat| Z
    C -->|No trobat| D[3. Consulta fitxer HOSTS]
    D -->|Trobat| Z
    D -->|No trobat| E[4. Consulta servidor DNS]
    E -->|Resolt| Z
    E -->|No resolt| F[5. Inicia resolució NetBIOS]
    F --> G[Veure diagrama NetBIOS]

    style B fill:#e1f5ff
    style C fill:#e1f5ff
    style D fill:#fff3e0
    style E fill:#e8f5e9
    style F fill:#fce4ec

Passos

Pas 1 Comprovació del propi nom

El client comprova si el nom sol·licitat és el seu propi nom d'host.

Pas 2 Caché DNS Local

Windows manté una caché DNS en memòria que emmagatzema resolucions recents. Pots veure-la amb:

ipconfig /displaydns

Per netejar la caché:

ipconfig /flushdns

Pas 3 Fitxer HOSTS

  • Ubicació: C:\Windows\System32\drivers\etc\hosts
  • Format: <IP> <nom_host> [àlies...]
  • Prioritat: Alta (després de la caché)
  • Exemple:
192.168.1.10    servidor.local    servidor
127.0.0.1       localhost

Important: El fitxer HOSTS es carrega a la caché DNS al iniciar el servei DNS Client. Windows monitoritza canvis en aquest fitxer i recarrega la caché automàticament.

Pas 4 Servidors DNS

El client consulta els servidors DNS configurats en ordre:

  • DNS primari
  • DNS secundari
  • DNS terciaris (si n'hi ha)

El client espera respostes amb un temps límit configurat abans de passar al següent servidor.

Pas 5 Fallback a NetBIOS

Si DNS no resol el nom, Windows intenta la resolució NetBIOS com a últim recurs.

NetBIOS Name Resolution

Aquest mètode es fa servir per resoldre noms NetBIOS (màxim 15 caràcters + 1 byte de tipus).

Ordre de Prioritat (Node Type H-node - Per defecte)

graph TD
    A[Inici resolució NetBIOS] --> B{1. Està a la caché NetBIOS?}
    B -->|Sí| Z[Retorna IP]
    B -->|No| C[2. Consulta servidor WINS]
    C -->|Resolt| Z
    C -->|No resolt o no disponible| D[3. Broadcast a la xarxa local]
    D -->|Resposta rebuda| Z
    D -->|Sense resposta| E[4. Consulta fitxer LMHOSTS]
    E -->|Trobat| Z
    E -->|No trobat| F[Resolució fallida]

    style B fill:#e1f5ff
    style C fill:#fff9c4
    style D fill:#ffccbc
    style E fill:#fff3e0
    style F fill:#ffcdd2

Tipus de Nodes NetBIOS

Windows pot configurar-se amb diferents tipus de node que afecten l'ordre de resolució:

Node Type Descripció Ordre de Resolució
B-node (Broadcast) Només broadcast Broadcast
P-node (Point-to-point) Només WINS WINS
M-node (Mixed) Broadcast primer Broadcast → WINS
H-node (Hybrid) Per defecte en Windows WINS → Broadcast → LMHOSTS

Per veure el node type actual:

ipconfig /all

Busca la línia "Node Type".

Components de NetBIOS Resolution

Caché NetBIOS

Emmagatzema resolucions NetBIOS recents. Comandes útils:

nbtstat -c        # Veure caché
nbtstat -R        # Recarregar LMHOSTS a caché
nbtstat -RR       # Alliberar i renovar noms NetBIOS

WINS (Windows Internet Name Service)

  • Servidor centralitzat per resolució de noms NetBIOS
  • Obsolet: Microsoft recomana migrar a DNS
  • Útil només en xarxes legacy amb sistemes Windows antics

Broadcast NetBIOS

  • Envia petició a tota la xarxa local (subxarxa)
  • Limitació: No travessa routers
  • Genera tràfic de xarxa

Fitxer LMHOSTS

  • Ubicació: C:\Windows\System32\drivers\etc\lmhosts
  • Format similar a HOSTS però per noms NetBIOS
  • Requereix etiquetes especials (#PRE, #DOM, etc.)

Diagrama Complet del Procés

flowchart TD
    Start[Aplicació necessita resoldre un nom] --> CheckType{Tipus d'aplicació?}

    CheckType -->|TCP/IP Socket| HostRes[HOST NAME RESOLUTION]
    CheckType -->|NetBIOS/SMB| NetBIOSRes[NETBIOS RESOLUTION]

    HostRes --> H1[1. Propi nom?]
    H1 --> H2[2. Caché DNS]
    H2 --> H3[3. Fitxer HOSTS]
    H3 --> H4[4. Servidor DNS]
    H4 --> H5{Resolt?}
    H5 -->|No| NetBIOSRes
    H5 -->|Sí| Success[✓ IP Obtinguda]

    NetBIOSRes --> N1[1. Caché NetBIOS]
    N1 --> N2[2. Servidor WINS]
    N2 --> N3[3. Broadcast]
    N3 --> N4[4. LMHOSTS]
    N4 --> Final{Resolt?}
    Final -->|Sí| Success
    Final -->|No| Fail[✗ Error de resolució]

    style HostRes fill:#e3f2fd
    style NetBIOSRes fill:#fff3e0
    style Success fill:#c8e6c9
    style Fail fill:#ffcdd2

Protocols i Serveis Moderns

  • Successor de NetBIOS per xarxes locals
  • Utilitzat quan DNS falla
  • Basat en multicast (similar a mDNS)
  • Definit en RFC 4795

mDNS (Multicast DNS)

  • Protocol utilitzat per serveis Apple (Bonjour)
  • Resolució .local sense servidor DNS
  • Cada dispositiu respon per si mateix

Taula Resum de Prioritats

Ordre Host Name Resolution NetBIOS Resolution (H-node)
1 Propi nom Caché NetBIOS
2 Caché DNS Servidor WINS
3 Fitxer HOSTS Broadcast local
4 Servidor DNS Fitxer LMHOSTS
5 → NetBIOS (fallback) -

Ubicacions dels Fitxers de Configuració

C:\Windows\System32\drivers\etc\
├── hosts          # Resolució de noms d'host
├── lmhosts        # Resolució de noms NetBIOS
├── networks       # Noms de xarxa
├── protocol       # Protocol IDs
└── services       # Ports de serveis

Eines de Diagnòstic

Comandes útils per troubleshooting

# Resolució DNS
nslookup exemple.com
Resolve-DnsName exemple.com

# Veure configuració IP i DNS
ipconfig /all

# Caché DNS
ipconfig /displaydns
ipconfig /flushdns
ipconfig /registerdns

# NetBIOS
nbtstat -c          # Veure caché NetBIOS
nbtstat -n          # Veure taula de noms locals
nbtstat -R          # Recarregar LMHOSTS
nbtstat -RR         # Renovar registres NetBIOS

# Test de connectivitat
ping nom_host
Test-NetConnection -ComputerName nom_host -InformationLevel Detailed

# Veure ordre de resolució (sufix DNS)
Get-DnsClientGlobalSetting

Bones Pràctiques

Recomanacions

  1. Utilitza DNS com a mètode principal de resolució
  2. Desactiva WINS si no tens sistemes legacy que el necessitin
  3. Configura DNS primari i secundari per redundància
  4. Utilitza fitxer HOSTS només per testing o casos especials
  5. Documenta qualsevol entrada manual en HOSTS o LMHOSTS
  6. Neteja la caché DNS regularment en entorns de testing

Consideracions de Seguretat

  • El fitxer HOSTS pot ser utilitzat per malware (DNS hijacking)
  • SpyBot i altres antimalware utilitzen HOSTS per bloquejar dominis maliciosos
  • LLMNR i NetBIOS poden ser vulnerables a atacs de tipus man-in-the-middle
  • En entorns corporatius, considera desactivar LLMNR si no és necessari