J'ai un serveur de développement sur mon réseau local avec une adresse IP statique. Mon routeur flashé DD-WRT affecte le domaine 'server.local' à l'adresse IP statique du serveur. Tout a bien fonctionné avec ma configuration. Je pourrais me connecter au serveur via ssh, ftp, http, ping ou même samba.
Je viens de faire une nouvelle installation de CentOS sur le serveur, et tout fonctionne correctement lorsque je me connecte depuis n'importe lequel de mes ordinateurs Windows. Cependant, mon Macbook ne se connecte plus. Je peux voir mes versions de développement de mes sites Web dans un navigateur, mais je ne peux pas entrer en ssh sur le serveur.
J'ai nettoyé ~/.ssh/known_hosts
pour m'assurer que les informations de l'ancien serveur ne gâchaient pas les choses. Comment les machines Windows et les navigateurs Mac peuvent-ils trouver le serveur, alors que Terminal ne le peut pas?
Edit # 1:
~: ssh root@server.local
ssh: Could not resolve hostname server.local: nodename nor servname provided, or not known
~: ssh root@192.168.1.200
root@192.168.1.200's password:
Edit # 2:
J'ai déjà essayé de vider le cache DNS par dscacheutil -flushcache
. Je suis sous OS 10.6.
Ok, alors pourquoi Terminal est-il confus quant au nom de domaine alors que les navigateurs ne le sont pas?
Ajouter 192.168.1.200 server.local
à /etc/hosts
corrige le problème. Je me demande simplement pourquoi il n'est pas capable de compter sur le DNS du routeur.
host server.local
. Si vous ne pouvez pas le résoudre, ajoutez-leserver.local
à votre/etc/hosts
.Réponses:
Mac OSX 10.6 ne respecte pas les réponses DNS avec une durée de vie (TTL) égale à 0 (valeur définie par défaut pour les routeurs basés sur DD-WRT). Vous devrez accéder au routeur DD-WRT et à l'onglet Administration -> Services. Vous verrez une boîte appelée Options DNS supplémentaires. Ajoutez la valeur suivante à cette case:
Enregistrez et redémarrez votre routeur et votre Mac. Vous devriez pouvoir voir server.local dans le terminal (sans l'avoir dans votre fichier hosts).
la source
Mac OS X réserve l'extension ".local" pour mDNS. Autant que je sache, il ne peut pas être désactivé. Vous devez soit activer mDNS sur votre serveur, choisir une extension différente pour votre réseau ou modifier votre
/etc/hosts/
fichier avec une entrée pour votre serveur.la source