J'exécute DNSMasq en tant que serveur DNS local, donc je peux résoudre *.local.pcfdev.io
(comme indiqué ici Utilisation de PCF Dev hors ligne avec Mac OS X ). Tout a fonctionné quand j'ai mis les choses en place.
Quelques jours plus tard, après quelques redémarrages de mon MacBook, hors ligne, je ne peux plus résoudre des problèmes comme l' api.local.pcfdev.io
utilisation de curl
ou ping
. Cependant, dig
fait la bonne chose.
$ dig api.local.pcfdev.io
; <<>> DiG 9.8.3-P1 <<>> api.local.pcfdev.io
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46877
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;api.local.pcfdev.io. IN A
;; ANSWER SECTION:
api.local.pcfdev.io. 0 IN A 192.168.11.11
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Sep 6 10:17:44 2016
;; MSG SIZE rcvd: 53
$ curl api.local.pcfdev.io
curl: (6) Could not resolve host: api.local.pcfdev.io
J'ai essayé d'ajouter -AlwaysAppendSearchDomains
comme argument à /usr/sbin/mDNSResponder
in /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
et redémarré le mDNSResponder avec launchctl
, mais en vain.
MISE À JOUR 1
Il y a certainement quelque chose à écouter sur la bonne IP locale:
$ nslookup api.local.pcfdev.io
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: api.local.pcfdev.io
Address: 192.168.11.11
$ ping api.local.pcfdev.io
ping: cannot resolve api.local.pcfdev.io: Unknown host
$ telnet 192.168.11.11 80
Trying 192.168.11.11...
Connected to 192.168.11.11.
Escape character is '^]'.
HTTP/1.1 400 Bad Request
Connection closed by foreign host.
MISE À JOUR 2
Après avoir essayé la suggestion ci-dessous de supprimer tous les serveurs DNS des préférences réseau sauf 127.0.0.1
, je ne peux rien résoudre. J'ai réussi à me déconnecter du débogage mDNSResponder
:
mDNSResponder[91]: 74: DNSServiceCreateConnection START PID[32612](ping)
mDNSResponder[91]: 74: Error socket 75 created 00000000 00000001
mDNSResponder[91]: 74: DNSServiceQueryRecord(15000, 0, api.local.pcfdev.io., Addr) START PID[32612]()
mDNSResponder[91]: 74: Error socket 75 closed 00000000 00000001 (0)
mDNSResponder[91]: 74: DNSServiceQueryRecord(api.local.pcfdev.io., Addr) ADD 0 api.local.pcfdev.io. Addr
mDNSResponder[91]: 74: Cancel 00000000 00000001
mDNSResponder[91]: 74: DNSServiceQueryRecord(api.local.pcfdev.io., Addr) STOP PID[32612]()
mDNSResponder[91]: 74: DNSServiceCreateConnection STOP PID[32612](ping)
J'ai également observé cela comme expliqué dans la réponse proposée, nslookup
et dig
ne cause rien à enregistrer mDNSResponder
, mais d'autres outils ( ping
, curl
) le font.
Il semble donc que pour une raison quelconque, cela dnsmasq
ne fonctionne pas (je peux établir une connexion TCP 127.0.0.1:53
) ou mDNSResponder
ne l'utilise pas.
MISE À JOUR 3
etc/resolve.conf
cesse d'exister lorsque mon adaptateur wifi est actif, mais je ne suis pas connecté à un réseau. Serait-ce la raison pour laquelle les outils CLI n'utilisent pas le dnsmasq
serveur local ?
curl
ou wget
ou les obtiendrais dans des instruments / profileur / débogueur et verrais ce qui se produit réellement pour causer l'erreur ne pourrait pas résoudre.