30 votes

Comment empêcher le nom de mon ordinateur de changer automatiquement et à tort ?

Depuis que j'ai mis à niveau mon iMac 2009 vers Mavericks, je reçois souvent un message indiquant "Le nom de votre ordinateur "Foo" est déjà utilisé sur ce réseau. Le nom a été changé en "Foo (2)".'. Le chiffre à la fin s'incrémente continuellement au fur et à mesure que la même erreur se produit.

Il est assez trivial de renommer l'ordinateur, mais y a-t-il un moyen d'empêcher que cela se produise à l'avenir ? J'avais un vieux Macbook Pro (fonctionnant sous Mountain Lion) qui avait le même problème, mais mon MBP de début 2013 fonctionnant sous Mavericks ne semble pas souffrir de ce problème.

17voto

TrinitronX Points 1132

Solution de rechange

Comme d'autres utilisateurs, je suis gêné par cet inconvénient mais j'ai trouvé une solution de contournement semi-satisfaisante :

my_hostname='your-hostname-here'; for key in LocalHostName ComputerName HostName ; do sudo scutil --set $key $my_hostname; done

Après avoir exécuté cette commande, vous pouvez vérifier que tous les endroits où ils stockent le nom de l'hôte sont les mêmes avec cette seule ligne :

for key in LocalHostName ComputerName HostName ; do sudo scutil --get $key; done

Si le Macbook continue à renommer immédiatement ComputerName avec un suffixe, vous peut être en mesure de le faire cesser en l'éteignant Wake for Network Access .

  • System PreferencesEnergy SaverWake for Wi-Fi network access Unchecked

Une fois éteint, renommez votre machine en utilisant les commandes ci-dessus pour terminer. Vous pouvez également essayer de forcer ComputerName en utilisant le System PreferencesSharingComputer Name préférence pour les champs de texte.

Si cela ne vous a pas aidé, essayez vider votre cache mDNS :

# El Capitan (10.11) and later
#   check if you have dscacheutil command with: which dscacheutil
sudo dscacheutil -flushcache

# Yosemite (10.10) and ealier
#   check if you have discoveryutil command with: which discoveryutil
sudo discoveryutil mdnsflushcache
sudo discoveryutil mdnsrestartquestions
sudo discoveryutil mdnsrestartregistrations
sudo discoveryutil udnsflushcache
sudo discoveryutil udnsrestartquestions

Après avoir vidé le cache mDNS, réessayez de renommer votre machine en utilisant les commandes ci-dessus.

Si cela toujours n'a pas fonctionné, essayez de tuer le mDNSResponder service :

sudo killall -HUP mDNSResponder

Ensuite, essayez à nouveau de réinitialiser le nom de votre ordinateur en utilisant l'option ci-dessus. scutil des commandes.

Si vous trouvez que tout cela ne sert à rien, il y a quelques autres solutions signalées qui comprennent :

  • Assurez-vous que vous n'avez qu'une seule connexion au réseau local.

  • Désactiver et réactiver Bonjour

    # Yosemite (10.10) (and other versions with discoveryd?)
    # Check for discoveryd with:  ps auxww | grep -i discoveryd
    sudo killall discoveryd
    sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist
    sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist
    
    # Mac OS versions without discoveryd
    # Check for mDNSResponder with:  ps auxww | grep -i mDNSResponder
    sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
    sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
  • Arrêtez et réinitialisez TOUT le matériel de réseau

Discussion du problème

D'après mon expérience, la définition du nom d'hôte de cette manière, ou par le biais de l'option standard System PreferencesSharingComputer Name ne dure qu'une courte période de temps. Celle-ci est généralement < 24 heures, mais parfois le ComputerName même change immédiatement pour avoir un nombre suffixé entre parenthèses (N) . J'ai observé que ce numéro est immédiatement réglé sur soit (4) o (5) récemment après avoir utilisé le scutil --set les commandes ci-dessus.

La cause de ce comportement est due à un code démon exécuté dans Mac OS qui tente d'ajouter un suffixe numéroté (N) chaque fois que le même nom d'hôte est trouvé sur le réseau. Dans TOUTES de mes essais, les noms d'hôtes que j'ai choisis ont JAMAIS été utilisé auparavant sur le réseau et avait en outre JAMAIS a été utilisé pour tout dispositif Bluetooth également.

La véritable cause du "déclenchement" de ce comportement est inconnue et non vérifiée. C'est-à-dire que : A travers toutes mes recherches en ligne et mes tests, je n'ai pas été capable de déterminer définitivement pourquoi Mac OS décide que le nom est déjà utilisé alors que c'est clairement le cas. NO et ne l'a jamais été.

Ma théorie est que d'une manière ou d'une autre mDNS également connu sous le nom de Bonjour ( Avahi pour les utilisateurs de Linux, ou Zero-conf Mise en réseau aux utilisateurs de Windows) pourrait être en partie responsable. D'une manière ou d'une autre, le nom d'hôte précédent du Macbook ou de l'appareil Apple est conservé quelque part dans le système d'exploitation de l'entreprise. mDNS ou peut-être une forme de ARP table + informations sur le nom d'hôte qui sont découvertes et stockées par le Macbook ou l'appareil Apple. Il pourrait s'agir d'une sorte de condition de course. D'une manière ou d'une autre, l'entrée est considérée comme un doublon et déclenche le comportement de renommage du suffixe de Mac OS.

Le nombre de noms d'hôtes suffixés est visible lors de l'utilisation de l'application Apple. Découverte de services DNS utilitaire dns-sd :

Par exemple, en utilisant le nom d'hôte my-mbp-hostname il pourrait apparaître comme les entrées suivantes

dns-sd -Z _ssh._tcp
; To direct clients to browse a different domain, substitute that domain in place of '@'
lb._dns-sd._udp                                 PTR     @

; In the list of services below, the SRV records will typically reference dot-local Multicast DNS names.
; When transferring this zone file data to your unicast DNS server, you'll need to replace those dot-local
; names with the correct fully-qualified (unicast) domain name of the target host offering the service.

_ssh._tcp                                       PTR     my-mbp-hostname\032(5)._ssh._tcp
my-mbp-hostname\032(5)._ssh._tcp                           SRV     0 0 22 my-mbp-hostname.local. ; Replace with unicast FQDN of target host
my-mbp-hostname\032(5)._ssh._tcp                           TXT     ""

[...SNIP...]
[...OTHER SSH HOSTS HERE...]
[...SNIP...]

La théorie de la véritable cause n'est pas confirmée car il est difficile de trouver et d'observer ce qui se passe réellement sans avoir accès à l'état interne de Mac OS et aux outils de débogage de bas niveau d'Apple OS. Les interactions entre mdnsd , mDNSResponder et mDNSResponderHelper avec d'autres services Mac OS ou même d'autres démons Avahi sur le réseau ne sont pas bien documentés ou facilement observables. L'état actuel de certaines formes de découverte du réseau peut être visualisé grâce à dns-sd y arp -a ou peut-être arp -a -n . D'autres théories ou endroits potentiels où ces informations de nom d'hôte peuvent être stockées pourraient être :

  • Noms des périphériques Bluetooth conservés par le système d'exploitation quelque part
  • Les informations SMB (partage de fichiers Windows) sont mises en cache à partir du réseau de façon périodique par smbd ( /System/Library/LaunchDaemons/com.apple.smbd.plist )
  • Les informations de partage AFP sont mises en cache à partir du réseau (également probablement par smbd ?)
  • mDNS / Avahi un réflecteur (ou un autre type de rediffusion des paquets Bonjour / zero-conf sur le réseau par un routeur ou un autre dispositif) ?
    • Pourrait être mis en cache par mDNSResponder o mdnsd ( /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist )

Solution (placeholder)

En date du 6 octobre 2017, il n'y a toujours pas de solution complète de la part d'Apple ni de remède pour éviter que ce problème ne se reproduise. Je recommande de déposer une Rapport de bogue avec Apple décrivant ce problème. Vous pouvez également contacter Assistance clientèle Apple .

Plus il y a de personnes qui font du bruit à propos de ce problème ennuyeux, plus vite les chefs de produit d'Apple établiront des priorités afin que les ingénieurs puissent le résoudre.

Débogage / Pistes d'investigation futures

Ce site Forum de discussion MacRumors a quelques informations utiles et ajoute une théorie selon laquelle Wake for Wi-Fi Network Access et le dispositif Wake / Sleep a quelque chose à voir avec ce problème. D'autres théories présentées ont trait à l'utilisation de plusieurs adaptateurs réseau (par exemple : WiFi + Thunderbolt Ethernet), aux routeurs qui ont plusieurs points d'accès annoncés sur plusieurs bandes comme sur 802.11 b/g/n (2,4 GHz) ou 802.11 a/ac (5GHz). Ces combinaisons mai faire en sorte qu'une version "fantôme" de l'appareil Apple apparaisse temporairement sur le réseau, déclenchant le changement de nom.

Il y avait aucune ligne de journal utile sur /var/log/system.log qui semblait lié au déclenchement de ce comportement de renommage. Apparemment, mDNSResponder peuvent être configurés à des niveaux de journalisation plus élevés :

  • Erreur - Messages d'erreur
  • Avertissement - Opérations initiées par le client
  • Avis - Opérations de procuration de sommeil
  • Info - Messages d'information

Comment définir ces niveaux de débogage autrement que par un fichier inexistant ? /Library/Preferences/com.apple.mDNSResponder.plist n'était pas clair. Je n'avais pas d'exemple de configuration plist à utiliser, donc je n'ai pas pu obtenir d'informations supplémentaires sur la journalisation à partir de mDNSResponder .

Des outils tels que Wireshark pourrait être utile pour montrer mDNS diffusés sur le réseau avec d'autres informations potentiellement pertinentes sur les paquets ARP parmi d'autres trafics.

Sur Mac OS, d'autres outils tels que dscacheutil peut exister pour visualiser ces informations. Il n'est pas bien documenté ou clair comment voir le cache définitif de ces informations qui est utilisé par le code de renommage des noms d'hôtes. Lorsque j'ai testé cet utilitaire, il n'a pas produit de résultat utile, sauf en utilisant le mode de requête pour le nom d'hôte exact (IPs nettoyés pour la confidentialité) :

sudo dscacheutil -cachedump -entries host
Unable to get details from the cache node
sudo dscacheutil -cachedump
Unable to get details from the cache node
dscacheutil -cachedump
Unable to get details from the cache node
dscacheutil -cachedump -entries host
Unable to get details from the cache node

dscacheutil -q host -a name my-mbp-hostname.local
name: my-mbp-hostname.local
ipv6_address: fe80:4::1a:1234:abcd:ef01
ipv6_address: 2601:280:1b00:1234:567:abcd:ef01:1234

name: my-mbp-hostname.local
ip_address: 192.168.1.123

3voto

sudo Points 985

Utilisez-vous deux périphériques réseau qui se trouvent sur le même réseau local ? Par exemple, wifi et ethernet filaire ? Essayez de désactiver l'un d'eux. J'ai déjà eu ce problème et je l'ai résolu de cette façon.

2voto

Oskar Points 1242

Il n'y a pas de bon moyen d'arrêter cela. Apple devrait remplacer le code pour le nom d'hôte de sorte que les utilisateurs (personnes et programmes) soient toujours présentés avec le nom d'hôte défini par scutil et faire tout le renommage/traduction sous le capot.

Étant donné que ce problème existe dans toutes les gammes de produits Apple (Apple TV, iPhone, Mac et probablement même l'Apple Watch) depuis 2012 au moins, il n'est pas certain qu'Apple le considère comme un problème à résoudre.

1voto

Bruce0 Points 19

Même problème ici. Mais il semble que le nom foo (2) soit accepté par Time Machine et qu'il effectue toujours la sauvegarde au même endroit (il ne semble pas refaire toute la sauvegarde, il continue). Donc pas de problème. Je pense que c'est lié aux multiples interfaces actives, j'ai augmenté l'ethernet pour accélérer ma sauvegarde.

-2voto

rsinha Points 308

Cela est probablement lié à l'utilisateur qui est actif lorsque vous rejoignez le réseau et configurez la machine pour la première fois. Il est probable que lorsque vous construisez ces machines, vous le faites toujours avec le même utilisateur.

Si vous créez un utilisateur eg dave sur, par exemple, un MacBook Pro, la machine configurera automatiquement le nom comme suit :

Nom de l'ordinateur : MacBook Pro de dave

nom d'hôte local : daves-MacBook-Pro.local

et dans le Terminal, le nom d'hôte s'affichera comme suit : daves-mbp

En supposant que la prochaine machine à laquelle vous vous connectez sous le nom de "dave" est également un MacBook Pro, elle définira exactement les mêmes détails - vous vous connectez au réseau et vous recevez le message concernant le nom en double.

Là où je travaille, nous changeons le nom dans Sharing puis ouvrons un terminal et exécutons la commande suivante : sudo scutil --set HostName new_hostname

(où nouveau_hostname est le nom que vous avez choisi)

Ensuite, quittez et redémarrez le terminal et vous verrez le nouveau nom d'hôte.

Vous rencontrerez également ce problème lors de la migration des utilisateurs vers de nouvelles machines - l'assistant de migration/time Machine renommera la nouvelle machine.

des informations typiquement faibles sur les noms - http://support.apple.com/kb/PH13790

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