我在家里有跑着几个服务,没有公网域名,因此在家里的网络(10.0.0.1/24)上跑了一个 DNS ,其 IP 为10.0.0.233
,用来解析这几台内网机器的 IP ,比如home_service_a=>10.0.0.230
。有时候想在外面连回家里的网络,就配置了 Wireguard ,并且将内网 DNS10.0.0.233
下发给客户端。这时候可以愉快地在外面访问家里的网络,并且 DNS 解析home_service_a
正常。
但是,我们公司也有自己的内网 DNS 来解析一些 lab 机器,比如lab-machine-01=>10.31.32.xxx
。当我在公司连接上 Wireguard 后,发现ping lab-machine-01
不通了,错误为找不到 IP 。nslookup
也是同样的结果。初步判断为所有 DNS 请求都被发到了 Wireguard 分配的家庭 DNS 服务器(10.0.0.233)上。
具体表现为:
# After connecting to Wireguard in compnay
$ nslookup lab-machine-01 # In office network only!!
Server: 10.0.0.233 # This is the home DNS server IP
Address: 10.0.0.233#53
** server can't find lab-machine-01: NXDOMAIN
我注意到,在连接 Wireguard 后,scutils --dns
里的解析顺序标明第一 DNS 确实是家庭 DNS
$ scutil --dns
DNS configuration
resolver #1
search domain[0] : int.companyname.com
nameserver[0] : 10.0.0.233 # Home DNS IP
nameserver[1] : 10.0.0.1
nameserver[2] : 8.8.8.8
flags : Supplemental, Request A records
reach : 0x00000002 (Reachable)
order : 102200
resolver #2
nameserver[0] : 10.31.xx.xx # Company DNS IP
if_index : 10 (en0)
flags : Request A records
reach : 0x00020002 (Reachable,Directly Reachable Address)
order : 200000
请问有没有什么办法配置多个 DNS 解析呢?任意一个请求成功获得 IP 即可
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.