41 votes

Comment configurer correctement le domaine de recherche?

J'ai récemment installé Ubuntu GNOME sur mon ordinateur de travail, remplaçant Windows 7, car je vais faire beaucoup de développement Linux.

Beaucoup de nos scripts de configuration et de développement utilisent des URL raccourcies pour les serveurs sur le réseau de l'entreprise. C'est-à-dire qu'ils utilisent http://serveur plutôt que http://serveur.location.company.com. Je n'ai jamais eu de problèmes avec ces URL sous Windows, mais je n'ai pas réussi à les faire fonctionner correctement sous Ubuntu. Il n'est pas possible pour moi de simplement taper l'URL entièrement qualifiée car la forme abrégée est utilisée à de nombreux endroits dans divers scripts, mais je peux accéder aux URL longues.

Lorsque je me connecte au VPN de l'entreprise en utilisant le Client VPN Dell SonicWall NetExtender, les URL raccourcies fonctionnent correctement.

D'après les recherches que j'ai faites jusqu'à présent, je pense que je dois configurer location.company.com comme domaine de recherche sur Ubuntu, mais mes tentatives à ce jour ont échoué. Voici ce que j'ai essayé :

  • Dans l'application "Connexions réseau", modifier ma connexion sans fil. Sous l'onglet IPv4, sélectionner "Adresses automatiques (DHCP) uniquement". Ensuite, taper location.company.com comme domaine de recherche, et y mettre également notre serveur DNS. Cela n'a pas fait de différence notable.
  • Modifier dhclient.conf comme décrit ici.
  • Exécuter dpkg-reconfigure resolvconf pour m'assurer qu'il met à jour dynamiquement resolv.conf.

Je crains également qu'à ce stade j'ai essayé plusieurs choses différentes et qu'elles pourraient interférer les unes avec les autres. Je sais que certaines parties de cette configuration ont changé au cours des dernières années avec Ubuntu, et il peut être difficile de trouver les informations les plus récentes. Il n'est pas complètement clair pour moi comment network-manager, resolvconf, dhclient et d'autres fichiers de configuration fonctionnent ensemble dans les dernières versions d'Ubuntu.

Donc, ma question : Comment puis-je configurer mon ordinateur pour que les URL en forme abrégée fonctionnent correctement dans Ubuntu 14.10 ?

Ou, quels programmes de configuration réseau devrais-je utiliser pour faire cela, comment devrais-je les configurer, et comment puis-je vérifier qu'ils fonctionnent correctement ?

Merci pour votre aide ! Faites-moi savoir si je peux fournir des informations supplémentaires.

Édition : Voici mon /etc/resolv.conf, qui je crois a été généré par resolvconf.

# Ajouter les serveurs de noms de l'entreprise et le domaine
nameserver 192.168.200.53
nameserver 192.168.200.65
search location.company.com
nameserver 127.0.1.1
search location.company.com
# Fichier resolv.conf(5) dynamique pour le résolveur glibc(3) généré par resolvconf(8)
#     NE PAS ÉDITER CE FICHIER MANUELLEMENT -- VOS MODIFICATIONS SERONT ÉCRASÉES
nameserver 127.0.1.1
search hsd1.co.comcast.net

39voto

heemayl Points 85741

Le domaine de recherche signifie le domaine qui sera automatiquement ajouté lorsque vous utilisez uniquement le nom d'hôte pour un hôte ou un ordinateur particulier. C'est principalement utilisé dans un réseau local.

Disons que vous avez un nom de domaine comme xyz.com (il peut être disponible mondialement ou seulement localement) et que vous avez 100 ordinateurs dans le LAN. Maintenant, vous souhaitez que ce nom de domaine soit automatiquement ajouté lorsque vous recherchez un ordinateur en utilisant uniquement le nom d'hôte de l'ordinateur. Si le nom de domaine à ajouter est xyz.com, alors le domaine de recherche devrait ressembler à ceci :

dns-search xyz.com ## Si vous mettez cela dans /etc/network/interfaces

ou

search xyz.com ## Si vous mettez cela dans /etc/resolvconf/resolv.conf.d/base|head|tail

Maintenant, comment vérifier si cela fonctionne correctement, il suffit d'utiliser ping ou tout programme de résolution DNS comme host, nslookup, dig.

Par exemple, si un hôte s'appelle test avec l'IP 192.168.1.5, alors en utilisant host:

host test
test.xyz.com a pour adresse 192.168.1.5

Maintenant, comme dig n'utilise pas la liste/domaine de recherche par défaut, vous devez l'utiliser comme ceci dig +search test pour activer l'ajout du domaine de recherche.

En utilisant nslookup:

nslookup test
Serveur:     192.168.1.11
Adresse:    192.168.1.11#53

Nom:   test.xyz.com
Adresse: 192.168.1.5

Ici, 192.168.1.11 est votre serveur DNS local qui a l'adresse IP pour l'hôte test.xyz.com (remarquez la forme complète) qui est 192.168.1.5. Le serveur DNS résoudra le nom d'hôte test.xyz.com en IP 192.168.1.5 mais ne résoudra rien pour seulement test car il n'a aucune entrée de ce type.

Donc, ce que fait le domaine de recherche dans notre cas, c'est qu'il ajoute automatiquement un nom de domaine pour en faire un FQDN lorsque nous utilisons uniquement le nom d'hôte pour rechercher un ordinateur.

32voto

danman Points 429

Je suis sur Bionic Beaver et mon resolv.conf indique :

# Ce fichier est géré par man:systemd-resolved(8). Ne pas éditer.

donc ma solution a été de modifier /etc/systemd/resolved.conf, l'option Domains= selon docs et ensuite redémarrer systemd-resolved :

systemctl restart systemd-resolved

14voto

AveryFreeman Points 1027

J'étais à la recherche d'une solution à ce problème pour Ubuntu Focal 20.04, car mon domaine local n'était pas ajouté aux noms d'hôtes.

Sur la plupart des systèmes d'exploitation de type Unix comme Solaris, Debian, etc., la solution consiste à ajouter une ligne avec 'search domain.name' dans /etc/resolv.conf mais les versions modernes d'Ubuntu utilisent maintenant systemd-resolved, donc j'ai dû comprendre quoi faire.

Heureusement, c'est toujours juste une seule ligne - il suffit d'utiliser la commande resolvectl maintenant au lieu de modifier un fichier texte:

# resolvectl domain  domain.name

(vous pouvez trouver votre ifname en invoquant ip addr ou resolvectl status)

Remarque : Cette modification n'est pas permanente, pour une solution permanente, veuillez consulter la mise à jour ci-dessous

Pour vérifier que cela fonctionne, assurez-vous que le domaine est répertorié par systemd-resolved en invoquant :

user@host:/$ resolvectl status | tail

DefaultRoute setting: yes
       LLMNR setting: yes
MulticastDNS setting: no
  DNSOverTLS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
  Current DNS Server: 192.168.1.2
         DNS Servers: 192.168.1.2
                      192.168.1.3
          **DNS Domain: domain.name**

et qu'il figure dans le fichier /etc/resolv.conf auto-généré en invoquant :

user@host:/$ tail /etc/resolv.conf

nameserver 127.0.0.53
options edns0
**search domain.name**

Et essayez ssh ou http en utilisant un nom d'hôte au lieu d'un FQDN pour voir si le domaine local configuré se résout automatiquement.

Je pense que ma solution est la plus simple et la moins confuse - il vaut probablement la peine de l'essayer en premier au cas où elle fonctionnerait pour vous avant d'explorer les solutions proposées dans d'autres réponses.

Mise à jour 20-02-2020 :

J'ai remarqué que ce changement n'est pas permanent. Selon cette question DNS set to systemd's 127.0.0.53 - how to change permanently? j'ai appris que la configuration permanente est stockée dans /etc/systemd/resolved.conf - il suffit de décommenter Domains= et d'écrire votre domaine dedans :

[Resolve]
#DNS=
#FallbackDNS=
Domains=domain.name
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#DNSOverTLS=no
#Cache=yes
#DNSStubListener=yes
#ReadEtcHosts=yes

7voto

JDawg Points 183

À partir du 16.04, l'outil Configuration Avancée du Réseau n'est accessible que via la ligne de commande :

sudo nm-connection-editor

Le domaine de recherche peut être configuré dans l'onglet Paramètres IPvX.

entrer la description de l'image ici

Pour plus de détails, voir la excellente réponse de Thomas Ward.

1voto

Dllewellyn Points 129

Dans mon cas, Ajouter le domaine de recherche sous /etc/resolvconf/resolv.conf.d/tail Et redémarrer le gestionnaire réseau Et redémarrer mon VPN a fonctionné.

Le problème que je rencontrais était que mon organisation fournissait un DNS personnalisé qui n'était pas accessible.

Solution:

Ajouter search my.orgdomain.com dans /etc/resolvconf/resolv.conf.d/tail

Après avoir enregistré, exécutez sudo service network-manager restart

Redémarrez le VPN

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X