[linux] Server returned error NXDOMAIN

Daniel C. von Asmuth asmuth op bakunin.xs4all.nl
Ma Apr 1 14:49:01 CEST 2019


Aldus schreef Paul Slootman op Mon, Apr 01, 2019 at 11:09:04AM +0200:
> On Sun 31 Mar 2019, Daniel C. von Asmuth wrote:
> > Aldus schreef Geert Stappers op Sun, Mar 31, 2019 at 06:20:09PM +0200:
> > > On Sun, Mar 31, 2019 at 05:16:58PM +0200, Daniel C. von Asmuth wrote:
> 
> > > > Een altnernatief is om BIND als cadhing name server te gebruiken.
> > > > https://www.tldp.org/HOWTO/DNS-HOWTO-3.html
> > > > 
> > > > Meer lichtgewicht is nscd, dnsmasq, of dnscache.
> > > > https://askubuntu.com/questions/22750/best-way-to-set-up-dns-caching
> > > > https://www.linuxjournal.com/content/localhost-dns-cache
> > > 
> > > En hoe gaat dat een oplossing bieden aan 'Server returned error NXDOMAIN'?
> > 
> > Hopelijk door de betreffende queries wél correct uit te voeren. 
> > (geldt natuurlijk niet voor hostnamen die echt niet bestaan,
> > zoals www.linux.nl, maar met writeshark is te controleren welke domein
> > namen opgevraagd werden). 
> 
> Je krijgt een NXDOMAIN omdat je een niet-bestaande domeinnaam aan het
> opvragen ben.

....of omdat je resolver een bug heeft.
> 
> $ dig -t a a.b.c.d
> 
> ; <<>> DiG 9.11.5-P1-2-Debian <<>> -t a a.b.c.d
> ;; global options: +cmd
> ;; Got answer:
> ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 55829
> 
> Dan maakt het niet uit welke resolver je gebruikt, alleen een
> helderziende resolver kan dan verzinnen wat je eigenlijk zoekt.

En als je dan doet:
	dig -t a a.b.c.d 8.8.8.8
Dan raadpleeg je de name server van Google in plaats van je lokale
resolver. Als Google dan wel een keurig antwoord geeft, zou je lokale
resolver een probleem kunnen hebben. Probeer ook andere typen queries dan 
alleen 'A'.

> Je had in een eerdere reactie je domeinnaam weggecensureerd (ik vraag
> mij altijd af waarom, is zoiets dan geheim?). Misschien klopt die gewoon
> niet. Als je server denkt in een domein b.c.d te leven, dan zal die vaak
> proberen daar DNS requests voor te doen.... die dus allemaal NXDOMAIN
> geven.
> 
> Je moet dus uitzoeken welke DNS requests gedaan worden die een NXDOMAIN
> geven. Daar is tcpdump dus geschikt voor, maar dan wel met -v optie:
> 
> # tcpdump -vni vlan1 port 53
> 11:06:22.484941 IP (tos 0x0, ttl 128, id 20218, offset 0, flags [none], proto UDP (17), length 64)
>     192.168.0.2.55593 > 192.168.1.91.53: 59881+ [1au] A? a.b.c.d. (36)
> 11:06:22.497821 IP (tos 0x0, ttl 64, id 41840, offset 0, flags [none], proto UDP (17), length 1052)
>     192.168.1.91.53 > 192.168.0.2.55593: 59881 NXDomain 0/6/1 (1024)
> 
> Dit was dan tcpdump op het lokale netwerk op de gateway firewall.
> Je kunt duidelijk zien dat er een request gedaan werd voor a.b.c.d
> 
> Paul

Met vriendelijke greto,


Daniel von Asmuth

-- 
	
		Geeks of a feather cruft together
		


Meer informatie over de Linux maillijst