Nslookup fails but PowerShell’s resolve-dnsname works

amazon-route53amazon-web-servicesdomain-name-system

This is not a domain I have anything to do with, but I don't understand what's going on. The nameservers for sciencedaily.com are:

  • ns-1414.awsdns-48.org.
  • ns-1618.awsdns-10.co.uk.
  • ns-300.awsdns-37.com.
  • ns-695.awsdns-22.net.

If I run nslookup and type server ns-1414.awsdns-48.org and then sciencedaily.com it returns

*** ns-1414.awsdns-48.org can't find sciencedaily.com: No response from server

But it I run resolve-dnsname sciencedaily.com -server ns-1414.awsdns-48.org in PowerShell it returns the DNS records correctly. What am I missing?

Best Answer

It seems server ns-1414.awsdns-48.org is prefering IPv6 over IPv4 due to IPv6 being enabled on the network interface; and it makes nslookup stick with IPv6 for the following request(s). Due to a missing IPv6 connection to the outside world however, that DNS request fails. It seems it works when calling nslookup like nslookup sciencedaily.com ns-1414.awsdns-48.org and as you said when using resolve-dnsname. Usage of IPv6 for the DNS request can also be avoided by looking up the IP(v4) of ns-1414.awsdns-48.org first and do

$ nslookup
> server 205.251.19
> sciencedaily.com