Comment puis-je changer le serveur de noms dans /etc/resolv.conf alors que le MacBook est en mode de récupération ?
Réponse
Trop de publicités?L'adresse IP et d'autres détails (par exemple, le serveur DNS) sont généralement fournis par un serveur DHCP dans votre réseau si votre Mac est démarré en mode de récupération.
Les données de configuration DNS sont temporairement stockées dans resolv.conf sur un disque RAM monté en union sur /private/var/run - un répertoire contenant également quelques autres fichiers. Le fichier /etc/resolv.conf est un lien vers /private/var/run/resolv.conf seulement ! À ma connaissance, le contenu de resolv.conf n'est pas pertinent pour la résolution DNS (effectuée par mDNSResponder) dans macOS !
Le fichier n'est pas persistant!
Généralement, la configuration du serveur DNS dans le shell se fait avec sudo networksetup ...
- un outil non disponible dans le système de base de OS X en mode de récupération.
Vous devriez quand même pouvoir modifier le serveur DNS avec scutil
dans Terminal.app :
-
Ouvrez Terminal.app dans la barre de menus > Utilitaires
-
Entrez
scutil --dns
pour obtenir votre configuration DNS actuelle -
Entrez
scutil
pour accéder au mode interactif -
Entrez
list
pour obtenir une liste de toutes les clés dans le magasin de données -
Si vous avez plusieurs interfaces (vous avez trouvé plusieurs entrées State:/Network/Service/SERVICE_ID/IPv4), déterminez celle connectée à Internet (en fonction par exemple de votre routeur et de ses paramètres IP de réseau interne) - exemple :
get State:/Network/Service/EB40E2FC-8248-48F2-8567-257D940A31EB/IPv4 d.show
Exemple de sortie :
{ Addresses : { 0 : 192.168.0.8 } ConfigMethod : Manual SubnetMasks : { 0 : 255.255.255.0 } }
Si votre routeur a l'adresse IP 192.168.0.1, il s'agit probablement de la bonne interface. Si votre routeur a par exemple l'adresse IP 192.168.1.1, l'interface trouvée ci-dessus serait incorrecte et vous devrez rechercher une interface avec une adresse IP dans la plage 192.168.1.2-192.168.1.254.
-
Entrez
get State:/Network/Service/EB40E2FC-8248-48F2-8567-257D940A31EB/DNS
utilisez l'identifiant de service de l'interface connectée à Internet que vous avez trouvé précédemment (ici EB40E2FC-8248-48F2-8567-257D940A31EB)Entrer
d.show
devrait afficher quelque chose comme :{ SearchDomains : { 0 : some.domain } ServerAddresses : { 0 : 192.168.0.1 } }
En fonction de la configuration DHCP de votre routeur, l'entrée et l'array SearchDomains peuvent être manquants.
-
Entrez
d.add ServerAddresses * 8.8.8.8 9.9.9.9
- ajoutez un ou plusieurs serveurs DNS (ici 8.8.8.8 de Google et 9.9.9.9 de quad9) -
Entrez
set State:/Network/Service/EB40E2FC-8248-48F2-8567-257D940A31EB/DNS
-
Entrez
d.show
pour vérifier l'entrée de dict modifiée. Cela devrait ressembler à :{ SearchDomains : { 0 : some.domain } ServerAddresses : { 0 : 8.8.8.8 1 : 9.9.9.9 } }
-
Entrez
quit
pour quitter le mode interactif de scutil et revenir au shell. -
Entrez
scutil --dns
oudig
pour vérifier votre configuration DNS modifiée.
Testé uniquement en mode de récupération macOS 10.12.5 !