web-dev-qa-db-fra.com

Comment être capable de résoudre plusieurs domaines en utilisant /etc/resolv.conf sous Linux?

J'utilise Ubuntu 12.04 et j'essaie d'envoyer une requête ping aux systèmes suivants:

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

Mon résolv.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

Si je laisse toutes ces lignes sans commentaires, je ne pourrai pas envoyer de commandes à system0 ou system1. Comment puis-je le configurer pour pouvoir envoyer une requête ping aux 4 systèmes en utilisant simplement son nom de domaine? Sous Windows, il résout tous les systèmes.

ping system0
ping: unknown Host system0
ping system1
ping: unknown Host system1

J'ai essayé de lire la page de manuel sur resolv.conf mais je rencontre toujours des problèmes pour résoudre ce problème. Malheureusement, personne dans ma société n’utilise Linux, je suis donc seul.

Éditer: recherche mise à jour, donc il n'y a qu'une ligne et maintenant je peux envoyer un ping à system0 mais je ne peux toujours pas envoyer un ping à system1. Cependant, je peux faire un ping sur system1.fing car il se trouve sur le domaine oldcompany.

8
SomeGuyOnAComputer

Après avoir suivi @webmarc et @ dan-hook, cela ne fonctionnait pas tant que je n'avais pas supprimé la ligne domain que je ne comprends toujours pas tout à fait.

Selon cette réponse , la domain devient la première chaîne search. Je trouve plus facile de ne pas utiliser la chaîne domain.

Pas:

  1. Tous les domaines search sont placés sur une seule ligne
  2. domain ligne (s) ont été supprimés
  3. Les nouveaux domaines d'entreprise ont été placés avant les anciens noms d'entreprise

Ceci est mon nouveau /etc/resolv.conf et cela fonctionne parfaitement.

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

De plus, si votre /etc/resolv.conf sera écrasé, alors modifiez /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

Si la nouvelle société a une nouvelle adresse IP de serveur DNS, assurez-vous qu’elle passe également avant l’ancienne société afin que les nouveaux serveurs DNS soient interrogés en premier.

5
SomeGuyOnAComputer

Il y a quelques problèmes avec votre fichier:

  1. Il ne devrait y avoir qu'une seule ligne de recherche comme search domain.com domain2.com domain3.com jusqu'à 6 domaines.
  2. Il ne devrait y avoir qu'une seule ligne de domaine avec exactement 1 domaine spécifié.

Une fois que vous avez corrigé ces problèmes, voyez si vous avez toujours des problèmes et mettez à jour votre question, le cas échéant.

Vous pouvez trouver des informations sur le format requis pour ce fichier dans la page de manuel .

5
webmarc

Placez la ligne de recherche après les lignes du serveur de noms.

1
Dan Hook