Tôi đang chạy DNSMasq với tư cách là máy chủ DNS cục bộ, vì vậy tôi có thể giải quyết *.local.pcfdev.io
(như đã thảo luận ở đây bằng PCF Dev Offline với Mac OS X ). Mọi thứ hoạt động khi tôi lần đầu tiên thiết lập mọi thứ.
Vài ngày sau, sau vài lần khởi động lại MacBook, trong khi ngoại tuyến, tôi không còn có thể giải quyết những việc như api.local.pcfdev.io
sử dụng curl
hoặc ping
. Tuy nhiên, dig
làm điều đúng đắn.
$ 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
Tôi đã thử thêm -AlwaysAppendSearchDomains
làm đối số /usr/sbin/mDNSResponder
vào /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
và khởi động lại mDNSResponder với launchctl
nhưng không có kết quả.
CẬP NHẬT 1
Chắc chắn có một cái gì đó nghe đúng IP cục bộ:
$ 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.
CẬP NHẬT 2
Sau khi thử đề xuất bên dưới về việc xóa tất cả các máy chủ DNS khỏi Tùy chọn mạng ngoại trừ 127.0.0.1
, tôi không thể giải quyết bất cứ điều gì. Tôi đã quản lý để có được một số gỡ lỗi đăng xuất khỏi 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)
Tôi cũng đã quan sát điều đó như được giải thích trong câu trả lời được đề xuất nslookup
và dig
không gây ra bất cứ điều gì để đăng nhập mDNSResponder
, nhưng các công cụ khác ( ping
, curl
) thì có.
Vì vậy, có vẻ như vì bất kỳ lý do gì hoặc dnsmasq
không hoạt động (tôi có thể thiết lập kết nối TCP đến 127.0.0.1:53
) hoặc mDNSResponder
không sử dụng nó.
CẬP NHẬT 3
etc/resolve.conf
chấm dứt tồn tại khi bộ điều hợp wifi của tôi hoạt động, nhưng tôi không kết nối với mạng. Đây có thể là lý do tại sao các công cụ CLI không sử dụng dnsmasq
máy chủ cục bộ ?
curl
hoặc wget
đưa chúng vào các công cụ / trình biên dịch / trình gỡ lỗi và xem điều gì thực sự xảy ra để gây ra lỗi không thể giải quyết.