Ich verwende DNSMasq als lokalen DNS-Server, damit ich das Problem beheben kann *.local.pcfdev.io
(wie hier beschrieben. Verwenden von PCF Dev Offline mit Mac OS X ). Alles hat funktioniert, als ich die Dinge zum ersten Mal eingerichtet habe.
Ein paar Tage später, nach einigen Neustarts meines MacBook, kann ich im Offline-Modus Dinge wie die api.local.pcfdev.io
Verwendung von curl
oder nicht mehr lösen ping
. Tut dig
jedoch das Richtige.
$ 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
Ich habe versucht, -AlwaysAppendSearchDomains
als Argument zu /usr/sbin/mDNSResponder
in hinzuzufügen /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
und den mDNSResponder mit neu zu starten launchctl
, aber ohne Erfolg.
UPDATE 1
Auf der richtigen lokalen IP ist definitiv etwas zu hören:
$ 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.
UPDATE 2
Nachdem 127.0.0.1
ich den folgenden Vorschlag ausprobiert habe, alle DNS-Server aus den Netzwerkeinstellungen zu entfernen , kann ich nichts auflösen. Ich habe es geschafft, eine Debug-Abmeldung zu erhalten 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)
Ich habe dies auch beobachtet, wie in der vorgeschlagenen Antwort erläutert, nslookup
und dig
nicht dazu geführt, dass etwas protokolliert wird mDNSResponder
, sondern andere Tools ( ping
, curl
).
Aus irgendeinem Grund dnsmasq
funktioniert es entweder nicht (ich kann eine TCP-Verbindung herstellen 127.0.0.1:53
) oder es mDNSResponder
wird nicht verwendet.
UPDATE 3
etc/resolve.conf
hört auf zu existieren, wenn mein WLAN-Adapter aktiv ist, aber ich bin nicht mit einem Netzwerk verbunden. Könnte dies der Grund sein, warum CLI-Tools den lokalen dnsmasq
Server nicht verwenden ?
curl
oder wget
oder sie in Instrumente erhalten / Profiler / Debugger und sehen , was wirklich passiert das könnte verursachen keine Fehler beheben.