Skip to main content

Ik heb thuis een probleem met DNS...

  • Ik heb een KPN ExperiaBox V10 die mijn DHCP en DNS doet. Domain name suffix is ".home". Er is geen andere DNS server
  • Als ik een DNS-lookup doe naar een publieke site (bijv. www.google.nl) gaat dit altijd goed.
  • Als ik een enkele DNS-lookup doe naar een machine in mijn eigen netwerk (bijv. FQDN myhost.home) gaat dat goed.
  • Het probleem: als ik binnen ca. 5 seconden (varieert een klein beetje) vanuit een applicatie een resolve doe op een machine in mijn eigen netwerk, gaat dat de eerste keer goed en daarna ca. 5 seconden mis, hoeveel requests ik ook doe. Ik krijg dan een resolve dat de host niet gevonden is.
  • Dit gebeurt i.i.g. op 2 Windows-machines in het netwerk (Laptop en mijn desktop) en het maakt niet uit welke host op mijn interne netwerk ik probeer te resolven.
  • Ik heb WireShark op alle interfaces op mijn machine gezet en als ik een resolve doe die goed gaat, zijn er ook daadwerkelijk twee DNS-requests naar de DNS-server. Eentje voor een A-record en eentje voor een AAAA-record. De reply voor het A-record is correct (192.168.x.x) en voor het AAAA-record geeft-ie in het tcp-packet "No such name". In de gevallen dat de applicatie een "Host not found" krijg, is er helemaal geen DNS request op de lijn te zien, op geen enkele interface.
    Voor publieke websites (bijv. www.google.nl) zie ik ook dat er zowel een A-record (IPV4) komt als ook een AAAA-record (IPV6).
  • Bijzonder: Als ik op een command line nslookup spam om datzelfde adres op te zoeken, dan gaat het wel elke keer goed, ook als ik er meerdere binnen ca. 5 seconden doe!

Dit lijkt natuurlijk op een cache die iets verkeerd doet, dus ik ben gaan googelen. Blijkbaar is er inderdaad een DNS cache.
Die cache kan je uitlezen (ipconfig /displaydns). Als ik dat doe nadat ik >5 seconden niet die host heb geresolved, staat er geen entry in die cache (zoals verwacht). Als ik het direct na een (succesvolle) resolve doe, staat erin:

    myhost.home
    ----------------------------------------
    Name does not exist.

 

Dit is een nieuw probleem, ik heb er pas sinds kort last van. Volgens mij is er niets in het netwerk veranderd dat dit zou kunnen veroorzaken (natuurlijk is er iets veranderd, want hij doet het nu niet meer ;)

Alvast bedankt voor enige hulp.

Groeten,

Q.

"DNS op lokaal netwerk”.

Wil je dat echt goed willen managen, installeer een eigen router met uitgebreide DNS-functionaliteiten waarbij dat expliciet gecontroleerd kan worden. Niet met “halfbakken” provider modem/routers.


"DNS op lokaal netwerk”.

Wil je dat echt goed willen managen, installeer een eigen router met uitgebreide DNS-functionaliteiten waarbij dat expliciet gecontroleerd kan worden. Niet met “halfbakken” provider modem/routers.

Babylonia,

Dank je wel voor je antwoord. Ik heb alleen niet de behoefte om alles “echt goed te managen”. Het moet gewoon werken. En het heeft goed gewerkt tot enige tijd geleden.
Ik moet eerlijk zeggen dat ik al wel heb overwogen om een aparte router aan te schaffen, maar ik heb eigenlijk geen zin in al dat “echte managen”. Zo complex kan het niet zijn.


Als je bedenkt dat op zichzelf je slechts 10 apparaten een vast IP-adres kunt geven in een V10, zul je met de rest aan functies met dit soort “uitgeklede” modem/routers van providers weinig kunnen doen. Het is afgestemd op een minimalistisch gebruik van een router. Wat jij verlangt, is al "teveel”.


Voor Windows:

Disable DNS Client through registry:

Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dnscache,
Locate the Start registry key and change its value from 2 (Automatic) to 4 (Disabled)

Of via een (als Administrator) command line/console:

REG add "HKLM\SYSTEM\CurrentControlSet\services\Dnscache" /v Start /t REG_DWORD /d 4 /f


Kan mijn vorige bericht (ouder dan een uur) niet meer aanpassen maar Windows DNS cache was vroeger leuk voor inbelverbindingen en zo.  Tegenwoordig totaal overbodig dus.


Voor Windows:

Disable DNS Client through registry:

Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dnscache,
Locate the Start registry key and change its value from 2 (Automatic) to 4 (Disabled)

Of via een (als Administrator) command line/console:

REG add "HKLM\SYSTEM\CurrentControlSet\services\Dnscache" /v Start /t REG_DWORD /d 4 /f

Dank je wel Robert. Ik heb het ietsjes anders opgelost, maar je bracht me wel op het idee.
Het blijkt dat je bij de parameters van de DNS Cache in het register ook de TTL van een negatief antwoord kan instellen, en die staat default op 5 seconden.

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
  Nieuwe key aangemaakt: MaxNegativeCacheTtl (DWORD) en op 0 gezet.

Dit lost het probleem op én zorgt ervoor dat de cache wel gewoon gebruikt blijft voor succesvolle antwoorden. 

Groeten,

Q