我刚刚在本地安装了SkyDNS,我没有解析节点的dns查找中的IP地址。我的resolv.conf只有一个条目:
nameserver 127.0.0.1
挖掘的结果:
$ dig service.skydns.local
; <<>> DiG 9.9.5-3ubuntu0.8-Ubuntu <<>> service.skydns.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25842
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;service.skydns.local. IN A
;; ANSWER SECTION:
service.skydns.local. 3600 IN A 10.0.1.125
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Mar 16 10:41:21 BRT 2016
;; MSG SIZE rcvd: 54当我试图使用Node的dns查找进行解析时:
var dns = require('dns');
dns.lookup('service.skydns.local', function(err, res, fam){console.log(err, res, fam);})
{ [Error: getaddrinfo ENOTFOUND service.skydns.local]
code: 'ENOTFOUND',
errno: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'service.skydns.local' } undefined undefined使用resolve4代替查找是有效的,但是为什么查找不能从本地dns解析这个地址呢?
发布于 2016-03-21 14:21:55
更改dns在/etc/nsswitch.conf上的优先级是有效的:
hosts: dns fileshttps://stackoverflow.com/questions/36038097
复制相似问题