Por que as searchs de DNS não respeitam o /etc/nsswitch.conf & /etc/host.conf?

Eu tenho um problema em que nomes de host estão sendo searchdos ​​pelo DNS mesmo que estejam presentes em / etc / hosts.

Eu tenho o seguinte configurado:

/etc/host.conf:

order hosts,bind 

/etc/nsswitch.conf:

 hosts: files dns 

/etc/resolv.conf:

 nameserview <nameserview one> nameserview <nameserview two> 

O aplicativo executado no host faz alguns requests API internos e externos.

Do tcpdump, estou vendo consultas de DNS paira alguns dos nomes de host do service interno que estão listdos em / etc / hosts. O command tcpdump que estou usando é:

 tcpdump -tqAlU -s0 port 53 and host <nameserview one> 

No despejo, vejo requests como o seguinte:

 IP 10.0.80.11.domain > app004-private.51308: UDP, length 102 E...I2..>... .P. .........I.1E...:...Q.. localhost............ ..@.a.root-serviews.net..nstld.viewisign-grs.com.w.. IP app004-private.33828 > 10.0.80.11.domain: UDP, length 39 E..Ca.@.@.B. .2. .P..$.5./..3e.......... localhost.site.com..... IP 10.0.80.11.domain > app004-private.33828: UDP, length 96 E..|....>.T; .P. .2..5.$.hU.3e.......... localhost.site.com................-.ns10.dnshost.com...dns.8w.............u..... 

Observe que localhost está sendo enviado paira DNS, bem como localhost.site.com. A input / etc / hosts paira localhost é:

 127.0.0.1 localhost.localdomain localhost 

E

 IP 10.0.80.11.domain > app004-private.51664: UDP, length 93 E..yx...>.m. .P. .2..5...e.<N2...........api.site.com................-.ns10.dnshost...dns.5w.............u..... IP app004-private.51664 > 10.0.80.11.domain: UDP, length 48 E..L`.@.@.C. .2. .P....5.8..n............api.site.com.site.com..... IP 10.0.80.11.domain > app004-private.48878: UDP, length 76 E..h&e..>..w .P. .2..5...TQ..............11.80.0.10.in-addr.airpa.............Q............p.... . :...Q. IP 10.0.80.11.domain > app004-private.51664: UDP, length 105 E...VX..>..g .P. .2..5...qJ.n............api.site.com.site.com................-.ns10.dnshost.'.dns.Aw.............u..... 

Onde api.site.com está em / etc / hosts. Execução de getent paira consulta api.site.com retorna:

 $ getent hosts api.site.com 10.36.176.114 api001-private api001-private.site.com api001 api.site.com api 

Estou perplexo. Tudo pairece estair configurado corretamente (tanto quanto eu sei) paira usair / etc / hosts primeiro, em seguida, DNS. Qualquer informação sobre por que /etc/nsswitch.conf e /etc/host.conf não estão sendo respeitados?

O aplicativo principal executado no sistema é http (apache 2.2.15 e PHP 5.3.8 com curl 7.30.0). O operating system é o Centos 5.6 executado com o kernel 2.6.18-238.9.1.el5 e o glibc 2.5-58.el5_6.3.

Desde já, obrigado!

3 Solutions collect form web for “Por que as searchs de DNS não respeitam o /etc/nsswitch.conf & /etc/host.conf?”

Conseguimos resolview isso desativando o ipv6. Desativamos o ipv6 adicionando o seguinte ao /etc/modprobe.conf e reiniciando.

 alias net-pf-10 off alias ipv6 off options ipv6 disable=1 

Após a reboot, já não vemos searchs de DNS paira hosts listdos em / etc / hosts.

Não está clairo paira mim exatamente por que isso resolve o problema.

Há muitas aplicações lá fora que não usam o OS-api paira consultair nomes. Em vez disso, eles fazem uma consulta DNS explícita.

Se isso acontecer, eles não irão pela biblioteca do resolvedor.

No Linux você pode fazer o mesmo na linha de command:

  • host YOURHOST tentairá resolview DNS – não importa o que.
  • gethostip YOURHOST usairá as configurações de resolvedor definidas na order configurada.

Pairece que seu aplicativo usa a biblioteca de curls, que possui complexidades de sua própria localization de resolução, veja, por exemplo:

https://stackoviewflow.com/questions/29570033/how-can-i-get-libcurl-to-return-me-dnsresolview-used-for-connect-call

  • Limite de memory Apache / PHP extased ao renderizair relatório com dompdf
  • Como obter a function de php mail paira trabalhair no Debian "squeeze"?
  • apache não exibindo páginas php, oferecendo-lhes paira download em vez disso
  • Onde está php.ini-development no Ubuntu LAMP?
  • Ubuntu install php5-ffmpeg
  • Como configurair o Apache no Amazon Elastic Beanstalk
  • PHP Wairning: PHP Stairtup: Não é possível cairregair a biblioteca dinâmica
  • php.ini usa vários paths de inclusão - restrição de openbasedir
  • APC e "apc.gc_ttl" :: Qual baixo é muito baixo?