Defina o servidor DNS personalizado ao procurar o host

2

Estou tendo problemas com o servidor DNS do meu host atual que não resolve corretamente os endereços IP do Baidu.

shell_exec('host -W 2 180.76.5.168');
shell_exec('nslookup 180.76.5.168');

Existe uma maneira de definir meu próprio endereço de servidor DNS ao tentar resolver o host?

Saída citada do meu resultado localhost ...

host: baiduspider-180-76-5-168.crawl.baidu.com

Server: Wireless_Broadband_Router.home Address: 192.168.1.1 Name: baiduspider-180-76-5-168.crawl.baidu.com Address: 180.76.5.168

    
por John 09.07.2013 / 05:22

2 respostas

3

Is there a way I can define my own DNS server address when trying to resolve the host?

Sim, podemos usar o seguinte método.

Método 1 - Todo o método tentando resolver a partir do DNS público do Google, você pode alterar como quiser.

nslookup  180.76.5.168  8.8.8.8

Método 2

dig -x 180.76.5.168 @8.8.8.8

Método 3

host -W 2 180.76.5.168  8.8.8.8
    
por 09.07.2013 / 06:46
2

Em um sistema Unix, existe um arquivo chamado nsswitch.conf , que controla como os nomes de várias coisas são resolvidos. Por exemplo, os nomes de host seriam regidos por essa linha nesse arquivo:

hosts:      files mdns4_minimal [NOTFOUND=return] dns

Esta linha diz:

  • Olhe para "arquivos" primeiro (como /etc/hosts ).
  • Em seguida, tente "mdns4_minimal", o que significa tentar resolver o nome usando o Multicast DNS.
  • O "NOTFOUND" significa que qualquer resposta de notfounding pelo processo mdns4_minimal anterior deve ser tratada como autoritativa e que o sistema não deve tentar continuar procurando uma resposta.
  • Por fim, o parâmetro "dns" significa usar uma consulta DNS unicast herdada.

Quando o nome está tentando ser resolvido via mdns4_minimal, o arquivo /etc/resolv.conf será consultado para determinar coisas como:

  • servidores de nomes para consultar
  • nome de domínio de pesquisa padrão
  • nome de domínio padrão

Por exemplo:

# Generated by NetworkManager
domain somedom.net.
search somedom.net.
nameserver 192.168.1.101
nameserver 8.8.8.8
nameserver 8.8.4.4

Portanto, para controlar seu servidor DNS padrão fora das opções que @RahulPatil listou em sua resposta, você precisará alterar o servidor DNS em seu arquivo /etc/resolv.conf .

Referências

por 09.07.2013 / 08:33

Tags