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.io
kullanarak curl
veya ping
. Ancak, dig
doğ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 -AlwaysAppendSearchDomains
bir argüman olarak /usr/sbin/mDNSResponder
içinde /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
ve 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.1
hiç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 nslookup
ve dig
hiç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 mDNSResponder
da kullanmıyor gibi görünüyor.
GÜNCELLEME 3
etc/resolve.conf
wifi 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 dnsmasq
sunucuyu kullanmıyor olabilir mi?
curl
veya wget
veya 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.