J'essaie de développer l'utilisation de sous-domaines sous OSX mais je ne veux pas redémarrer l'ordinateur pour rafraîchir le fichier hosts. Normalement, sous Linux, je devrais faire /etc/init.d/networking restart
mais je n'arrive pas à trouver comment faire ça sous OSX.
Réponses
Trop de publicités?Vous n'en avez pas besoin. Simplement sudo vim /etc/hosts
changez ce que vous devez changer et continuez. Vos modifications seront appliquées instantanément.
Si ping yourdomain.com
vous donne toujours la mauvaise adresse IP, essayez de vider votre cache DNS :
OSX 10.4 et inférieur : lookupd -flushcache
OSX 10.5 + 10.6 : dscacheutil -flushcache
OSX 10.7 + 10.8 : sudo killall -HUP mDNSResponder
OSX 10.9 et supérieur : sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
OSX 10.12 et supérieur : sudo dscacheutil -flushcache
Pour macOS Sierra (10.12) :
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
de https://www.indabaa.com/how-to-reset-flush-dns-cache-in-macos-sierra/
Je comprends de https://serverfault.com/questions/478534/how-is-dns-lookup-configured-for-osx-mountain-lion que /etc/hosts et /etc/resolv.conf ne sont vraiment plus utilisés sur OS X Sierra 10.12.* (et probablement avant). En effet, lorsque j'ai essayé d'ajouter des hôtes à /etc/hosts et de réinitialiser le cache avec les instructions ci-dessus, les hôtes n'étaient pas reconnus, via la commande host. Cependant, ping les reconnaît.
La commande networksetup remplace l'"ancienne" façon de faire les choses, ou utiliser l'interface graphique du réseau. Par exemple, pour spécifier les serveurs DNS à utiliser :
sudo networksetup -setdnsservers Wi-Fi 8.8.8.8 8.8.4.4