Comprendere la differenza tra DNS Resolver

Intro

Nel tentativo di eseguire il debug di un problema di networking locale alla nostra intranet, è risultato evidente che curl host curl e lo dig comportno in modo diverso. Dove dig e host restituiscono l'indirizzo IP dell'URL in questione, curl e nslookup restituiscono:

  curl: (6) Could not resolve host: internal.site.company.com 

e

  nslookup: can't resolve 'internal.site.company.com` 

Context

Anche se questo non dovrebbe imporsi, nell'essenza di dare più context al problema, questo problema si verifica su e dietro una docker-machine (testata utilizzando un docker-machine sia in virtualbox che in parallels per essere esatti). Il docker-machine ei contenitori che ospita tutti hanno l'indirizzo IP corretto del server DNS interno desiderato nel /etc/resolv.conf . L'indirizzo IP dell'URL desiderato è anche raggiungibile dalle macchine che non possono risolvere il nome. Come indicato sopra, l'indirizzo è un sito interno e il nostro server DNS è anche interno. Il sito è raggiungibile e risolvibile dal computer in cui è installato il docker-machine .

Le domande

Che mi port alle domande …

1) sotto il cofano, che cosa sono dig e host fare diversamente di entrambi i cURL e nslookup ?

2) Cosa potrebbe impedire a un browser o ad curl di risolvere l'URL come il host e lo dig risolvono con successo il nome?

Impostare

dig -v : DiG 9.11.1

host -v : host 9.11.1

curl -V : curl 7.49.1

versione Version 17.06.0-ce-mac19 (18663) Channel: stable : Version 17.06.0-ce-mac19 (18663) Channel: stable

  Boot2Docker version 17.06.0-ce, build HEAD : 0672754 

  • bind9 named.conf limiti di dimensione delle zone
  • Come faccio a confrontare le performance delle ricerche DNS esterne?
  • SLAAC e DNS, no davvero - qual è l'affare?
  • file di zona bind SOA - ttl non onorato
  • Come minimizzare l'impronta di memory bind9?
  • Server 2012 R2 Active Directory Domain I record SRN dns sono improvvisamente scomparsi
  • Elenco di domini sul server DNS?
  • Configurare Zeroconf per trasmettere più nomi
  • One Solution collect form web for “Comprendere la differenza tra DNS Resolver”

    Mi aspetterei curl a noi la libreria resolver che userà i provider di servizi di nome elencati nella specifica host /etc/nsswitch.conf nell'ordine. Se questo non include DNS, la risoluzione DNS non si verifica. nslookup non è documentato per utilizzare questo file, ma dalla sua esperienza sembra che possa. Spesso questi dati vengono memorizzati in cache da un nome del servizio di cache di nome. Se il demone non è in grado di get questo tipo di problema anche se le altre configurazioni sono corrette.

    host e dig sono programmi di ricerca DNS puri. Entrambi risolvono i nomi solo tramite DNS. Non risolveranno i nomi utilizzando file o altri provider DNS non. Mi aspettavo di utilizzare le informazioni in /etc/resolv.conf direttamente.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.