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

10

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 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

Si je laisse toutes ces lignes sans commentaire, je ne pourrai pas envoyer de ping à system0 ou system1. Comment le configurer pour pouvoir exécuter une commande ping sur les 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 j'ai toujours des problèmes pour résoudre ce problème. Personne dans mon entreprise n'utilise Linux, donc malheureusement, je suis seul.

Edit: recherche mise à jour donc c'est seulement 1 ligne et maintenant je peux ping ping system0 mais ne peux toujours pas ping ping system1. Cependant, je peux envoyer une requête ping à system1.fing car il se trouve sur le domaine oldcompany.

SomeGuyOnAComputer
la source

Réponses:

6

Après avoir suivi @webmarc et @ dan-hook, cela ne fonctionnait pas jusqu'à ce que j'aie supprimé la domainligne que je ne comprends toujours pas très bien.

Selon cette réponse , le domaindevient la première searchchaîne. Je trouve plus facile de ne pas utiliser la domainchaîne.

Pas:

  1. Tous les searchdomaines sont mis sur une seule ligne
  2. domain les lignes ont été supprimées
  3. De nouveaux domaines d'entreprise ont été placés avant les anciens noms d'entreprise

Ceci est mon nouveau /etc/resolv.confet 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

Aussi, si votre /etc/resolv.confsera écrasé, 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 que l'adresse IP précède également l'ancienne société afin que les nouveaux serveurs DNS soient interrogés en premier.

SomeGuyOnAComputer
la source
5

Il y a quelques problèmes avec votre fichier:

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

Après avoir résolu ces problèmes, voyez si vous avez toujours des problèmes et mettez à jour votre question si c'est le cas.

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

webmarc
la source
Salut webmarc, j'ai tous mes domaines de recherche sur une seule ligne et je n'ai spécifié qu'un seul domaine mais j'ai toujours des problèmes avec system1. Il ne semble pas rechercher correctement le sous-domaine fing.oldcompany.com.
SomeGuyOnAComputer
1

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

Dan Hook
la source
Salut. J'ai essayé votre suggestion et mis à jour le resolv.conf dans mon message. Le problème existe toujours. J'ai remarqué que si je change mon domaine de oldcompany.com en newcompany.com, alors je peux ping ping system2 mais je ne peux pas ping ping system0 ...
SomeGuyOnAComputer