![使用私有 DNS 服务器指向正向区域下的开发资源,如何转发所有未在本地解析的请求?](https://linux22.com/image/708506/%E4%BD%BF%E7%94%A8%E7%A7%81%E6%9C%89%20DNS%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%8C%87%E5%90%91%E6%AD%A3%E5%90%91%E5%8C%BA%E5%9F%9F%E4%B8%8B%E7%9A%84%E5%BC%80%E5%8F%91%E8%B5%84%E6%BA%90%EF%BC%8C%E5%A6%82%E4%BD%95%E8%BD%AC%E5%8F%91%E6%89%80%E6%9C%89%E6%9C%AA%E5%9C%A8%E6%9C%AC%E5%9C%B0%E8%A7%A3%E6%9E%90%E7%9A%84%E8%AF%B7%E6%B1%82%EF%BC%9F.png)
当我在家办公时,我想允许我正在开发的智能手机应用程序通过域名与本地开发服务器进行通信。
我在 Synology NAS 上安装了 DNS 服务器,通常它对于非开发资源来说运行良好。开发存在问题。我创建了一个主区域并在其下记录。问题是我们的通配符 SSL 证书仅适用于我们的公共域名(称为 foo.com)。这意味着我无法在本地使用 HTTPS,我希望我的开发环境尽可能接近生产环境,所以我想要 HTTPS。
我希望本地 DNS 服务器能够解析我的开发服务器 (mydev.foo.com) 的查询,并将所有其他查询转发到上游 DNS 服务器。例如:
mydev.foo.com -> 192.168.1.3 (my local VM, resolved locally)
foo.com -> xxx.xxx.xxx.xxx (our public website, resolved by my ISP)
bar.foo.com -> xxx.xxx.xxx.xxx (our public app server, resolved by my ISP)
现在,如果我设置一个 foo.com 主区域(前向区域),则只会解析本地定义的资源。
我所问的可能吗?
答案1
感谢用户 yoonix 的评论。
需要记住的是,DNS 服务器将解析与查询中的域名相对应的最长的域名条件。
有了 yoonix 的回答和关键的理解,答案就是具有以下设置的主记录:
主区:
Domain Type: Forward Zone
Domain Name: mydev.foo.com
Master DNS Server: <IP of the Synology NAS>
Serial Format: Integer
Limit Zone Transfer: True
Limit Source IP Service: False
Enable Slave Zone Notification: False
Limit Zone Update: True
资源记录:
(Automatically Generated) ns.foo.mydev.com.
Type: A
TTL: 86400
Information: <IP of the Synology NAS>
(Automatically Generated) foo.mydev.com.
Type: NS
TTL: 86400
Information: ns.foo.mydev.com
foo.mydev.com.
Type: A
TTL: 86400
Information: <IP of the dev VM>