在内部 CoreDNS 内解析时,设置拆分 DNS 为外部 CNAME?

在内部 CoreDNS 内解析时,设置拆分 DNS 为外部 CNAME?

我的网络上运行着一个内部托管的 DNS 解析器Core DNS。除了通过 VPN 连接时无法加载我的顶级域之外,一切都很好。原因是区域文件将我的域名映射到 NGINX 的内部 IP,而 NGINX 有大量我的域的子域条目。

  • thing1.example.com <- 有效
  • thing2.example.com <- 有效
  • example.com <- 不起作用。

具体来说,我想从我的网络外部加载此网站。

我以为我会在 Zone 文件中有一个 CNAME 条目,用于路由流量,甚至通过 VPN 路由到由 Cloudflare 外部托管的网站,但显然我现在超出了我的知识范围。我该如何实现这一点,这种东西叫什么?

这是我的区域文件

$ORIGIN example.com.
@   3600 IN SOA sns.dns.icann.org. noc.dns.icann.org. (
                2017042746 ; serial
                7200       ; refresh (2 hours)
                3600       ; retry (1 hour)
                1209600    ; expire (2 weeks)
                3600       ; minimum (1 hour)
                )
* 3600 in A 172.16.0.2 # this is private static IP I assigned to NGINX on internal network 
example.com. 3600 IN CNAME proxy.example.com.

A 记录很好。我刚刚添加了这个 CNAME,但它会循环回到 NGINX 并加载错误的站点。

proxy.example.com别名记录Cloudflare DNS 中指向 example.com 的记录。但通过 VPN 连接时不起作用。也许有一定网络知识的人可以向我解释一下。

答案1

您当前尝试遇到的问题:

可行的方法:

  1. 添加内部复制proxy.example.com. A。它必须与全局 DNS 层次结构上的相应记录完全一样配置,并且每次更新外部副本时都应单独更新。
  2. 添加example.com. IN A 172.16.0.2指向你的 Nginx。
  3. 配置 Nginx 以执行从http(s)://example.com/到 的HTTP 重定向http(s)://proxy.example.com/

最佳做法:

  • 不要在外部和内部使用同一区域。
  • 您可以委托外部域的子域供内部使用。
    • 例如,thing1.internal.example.com

相关内容