13 votes

Alternative Discoveryd pour remplacer l'argument de mDNSResponder ?

C'est une suite directe à cette question . Avant Yosemite Si j'étais un utilisateur de mDNSResponder, j'ajouterais l'argument "-AlwaysAppendSearchDomains" au fichier plist de mDNSResponder pour que toutes les recherches du résolveur local ajoutent les domaines de recherche, qu'il y ait ou non un point dans l'étiquette à rechercher. Par exemple, que j'essaie de me connecter au nom d'hôte foo.bar ou foo, le domaine de recherche de baz.com devrait être essayé, et pas seulement dans le dernier cas, comme c'était (et c'est toujours) le comportement par défaut.

Maintenant, il semble que le mDNSResponder ait disparu, remplacé par discoveryd. Je ne trouve pas d'option similaire pour que le domaine de recherche soit toujours ajouté. Des suggestions ? Je préfère ne pas utiliser un résolveur local autre que celui par défaut, mais je l'envisage comme une option. Pour l'instant, je me contenterai de taper les longs FQDN, mais je ne préfère vraiment pas.

Merci, Pete

18voto

Teknisten Points 181

Depuis 10.1 --AlwaysAppendSearchDomains à ProgramArguments dans le fichier plist /System/Library/LaunchDaemons/com.apple.discoveryd.plist

Puis redémarrer com.apple.discoveryd.plist avec :

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.discoveryd.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.discoveryd.plist

Tout cela selon l'aide imprimée par :

/usr/libexec/discoveryd --help

Cela fera la même chose que pour mDNSResponder, pour autant que je sache.

4voto

user97566 Points 49

Exécuter sudo discoveryutil mdnsactivedirectory oui dans Terminal. D'après https://discussions.apple.com/message/26927843#26927843 c'est la solution.

On peut faire en sorte qu'il s'exécute automatiquement lors du lancement d'un terminal sans mot de passe :

  • sudo visudo
    • ajouter une ligne au bas de l'écran %admin ALL=NOPASSWD: /usr/sbin/discoveryutil
    • Si le groupe admin ne fonctionne pas, exécutez groups au terminal et utilisez un groupe approprié - peut-être "personnel" ou "tout le monde". Ou bien utilisez simplement un nom d'utilisateur individuel sans le préfixe %
  • Pour tester, visudo change
    • sudo -k
    • sudo su et vérifiez que vous sont demandé le mot de passe. Puis contrôle-c sans entrer votre mot de passe
    • sudo discoveryutil mdnsactivedirectory et vérifiez que vous ne sont pas demandé le mot de passe
  • Ajouter une ligne à ~/.bash_profile sudo discoveryutil mdnsactivedirectory yes
  • Ajouter le terminal aux éléments de connexion de votre utilisateur
    • sur 10.10 : Préférences système->Utilisateurs et groupes, Sélectionner l'utilisateur
    • Allez dans l'onglet "Éléments de connexion" et ajoutez /Applications/Utilitaires/Terminal.

1voto

mdbraber Points 11

Pas de solution malheureusement, mais j'ai découvert que vous pouvez au moins vérifier la configuration du résolveur en utilisant 'discoveryutil', comme ceci :

mdbraber-mba:~ mdbraber$ sudo discoveryutil configresolver
Configuration Resolvers: Resolver domain [default], type Unicast, ifIndex 4, port 0, timeout 30, A yes, AAAA no, serviceID 0, scope None, order 0
    server 192.168.143.1
    search domain ourhouse
Configuration Resolvers: Resolver domain [default], type Unicast, ifIndex 4, port 0, timeout 30, A yes, AAAA no, serviceID 0, scope InterfaceID, order 0
    server 192.168.143.1

Apparemment le premier résolveur liste un domaine de recherche, bien que cela ne semble pas fonctionner comme sous les versions OS X < 10.10. Aucune idée de la raison pour laquelle il y a un deuxième résolveur sans domaine de recherche listé.

1voto

joedj Points 21

Voici une solution bricolée utilisant un serveur de noms local - cela fonctionne pour moi :

https://github.com/joedj/yosemite_dnsfix

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X