DNSMasq'ı yerel bir DNS sunucusu olarak çalıştırıyorum, bu yüzden çözebilirim *.local.pcfdev.io(burada tartışıldığı gibi PCF Dev Çevrimdışı Mac OS X ile kullanma ). Her şeyi ilk kurduğumda işe yaradı.
Benim MacBook birkaç yeniden başlatıldıktan sonra daha sonra birkaç gün, çevrimdışı iken ben gibi artık çözmek şeyler yapabilirsiniz api.local.pcfdev.iokullanarak curlveya ping. Ancak, digdoğru olanı yapar.
$ 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
Ben ekleyerek denedim -AlwaysAppendSearchDomainsbir argüman olarak /usr/sbin/mDNSResponderiçinde /System/Library/LaunchDaemons/com.apple.mDNSResponder.plistve birlikte mDNSResponder yeniden launchctl, ama boşuna.
GÜNCELLEME 1
Doğru yerel IP'de kesinlikle bir şeyler dinleniyor:
$ 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.
GÜNCELLEME 2
Aşağıdaki DNS sunucularını Ağ Tercihleri dışında kaldırma önerisini denedikten sonra 127.0.0.1hiçbir şeyi çözemiyorum. Bazı hata ayıklama günlüğü almak başardı 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)
Ayrıca önerilen cevapta açıklandığı gibi gözlemledim nslookupve dighiçbir şey tarafından oturum açmasına neden değil mDNSResponder, ancak diğer araçlar ( ping, curl) yapar.
Bu yüzden ya herhangi bir nedenden dolayı dnsmasqçalışmıyor (TCP bağlantısı kurabilirim 127.0.0.1:53) ya mDNSResponderda kullanmıyor gibi görünüyor.
GÜNCELLEME 3
etc/resolve.confwifi bağdaştırıcım etkin olduğunda varlığını durdurur, ancak bir ağa bağlı değilim. Bu nedenle CLI araçları yerel dnsmasqsunucuyu kullanmıyor olabilir mi?
curlveya wgetveya araçların içinde / profilci / ayıklayıcısını onları almak ve gerçekten çözümleme hatası olamazdı neden neler olduğunu görmek.