Como ser capaz de resolver vários domínios usando o /etc/resolv.conf no Linux?

10

Estou executando o Ubuntu 12.04 e estou tentando executar o ping nos seguintes sistemas:

  • system0.oldcompany.com
  • system1.fing.oldcompany.com
  • system2.newcompany.com
  • system3.thing.newcompany.com

Meu resolv.conf

# internal dns servers
nameserver 1.1.1.151
nameserver 1.1.1.152
search oldcompany.com fing.oldcompany.com newcompany.com thing.newcompany.com
#domain thing.newcompany.com
domain oldcompany.com
#domain fing.oldcompany.com
#domain newcompany.com
#nameserver 8.8.8.8 #commented out due to other issues

Se eu deixar todas essas linhas descomentadas, não poderei executar ping em system0 ou system1. Como faço para configurá-lo para poder executar ping nos 4 sistemas usando apenas o nome de domínio? No Windows, ele resolve todos os sistemas.

ping system0
ping: unknown host system0
ping system1
ping: unknown host system1

Eu tenho tentado ler a página de manual no resolv.conf, mas ainda estou tendo problemas para solucionar esse problema. Ninguém na minha empresa usa Linux tão infelizmente, por isso estou sozinho.

Edit: Pesquisa atualizada, por isso é apenas 1 linha e agora eu posso executar ping no system0, mas ainda não consigo executar o ping no system1. No entanto, posso executar ping em system1.fing porque está no domínio da empresa antiga.

SomeGuyOnAComputer
fonte

Respostas:

6

Depois de seguir @webmarc e @ dan-hook, ele não estava funcionando até eu remover a domainlinha que ainda não entendi completamente.

De acordo com esta resposta , domaintorna-se a primeira searchstring. Acho mais fácil não usar a domainstring.

Passos:

  1. Todos os searchdomínios são colocados em uma única linha
  2. domain linha (s) foram removidas
  3. Novos domínios de empresa foram colocados antes dos nomes antigos das empresas

Este é o meu novo /etc/resolv.confe funciona perfeitamente.

# internal dns servers
nameserver 1.1.1.151
nameserver 1.1.1.152
search newcompany.com thing.newcompany.com oldcompany.com fing.oldcompany.com

Além disso, se o seu /etc/resolv.conffor substituído, modifique/etc/network/interfaces

auto eth0
iface eth0 inet static
    address 10.59.2.50
    netmask 255.255.255.0
    gateway 10.59.2.1
    dns-nameservers 1.1.1.151 1.1.1.152
    dns-search newcompany.com thing.newcompany.com oldcompany.com fing.oldcompany.com

Se a nova empresa tiver um novo IP de servidor DNS, verifique se o IP também vem antes da empresa antiga, para que os novos servidores DNS sejam consultados primeiro.

SomeGuyOnAComputer
fonte
5

Existem alguns problemas com seu arquivo:

  1. Deve haver apenas uma linha de pesquisa, como search domain.com domain2.com domain3.comaté 6 domínios.
  2. Deve haver apenas uma linha de domínio com exatamente 1 domínio especificado.

Depois de corrigi-los, verifique se você ainda tem problemas e atualize sua pergunta.

Você pode encontrar informações sobre o formato necessário desse arquivo na página de manual .

webmarc
fonte
Olá webmarc, tenho todos os meus domínios de pesquisa em uma linha e apenas especifiquei um domínio, mas ainda tenho problemas com o system1. Não parece pesquisar o subdomínio fing.oldcompany.com corretamente.
SomeGuyOnAComputer
1

Coloque a linha de pesquisa após as linhas do servidor de nomes.

Dan Hook
fonte
Oi. Eu tentei sua sugestão e atualizei o resolv.conf no meu post. O problema ainda existe. Percebi que se eu mudar o meu domínio do oldcompany.com para newcompany.com, então posso ping system2 mas então eu não pode executar ping system0 ...
SomeGuyOnAComputer