【问题标题】:Local DNS override works randomly with Bind本地 DNS 覆盖随机使用 Bind
【发布时间】:2017-07-07 12:12:37
【问题描述】:

我在我的本地网络上有一个绑定 DNS 服务器来获取 *.home 解析,并为每个其他域提供一个转发器部分。我还有一个本地 Web 服务器,它从外部为 *.mydomain.com 的一些子域提供服务,我的 ISP 框将端口 80/443 重定向到它。

但是,如果我尝试从本地网络中的任何计算机访问任何 *.mydomain.com 地址,则返回的 IP 地址是我的公共 IP 地址,并且 ISP 框不会将请求重定向到我的服务器。我通过在每台本地计算机上的 /etc/hosts 中添加带有服务器本地 IP 地址的子域 *.mydomain.com 来使用解决方法,但这并不完美,因为如果我将计算机移动到另一个网络,我必须更改它,另外我无法在我的非根 Android 设备上执行此操作。

完美的解决方案是让我的本地 DNS 使用本地 IP 而不是公共 IP 覆盖 *.mydomain.com 的 DNS 条目。我为此尝试了一些 Bind9 配置,一些使用“response-policy”指令,一些没有,但在每种情况下,我都有大约 50% 的时间获得外部 IP,但我不知道为什么。这发生在我使用的每台计算机上(一些在 Ubuntu 上,一些在 Windows 上),也发生在我的 Android 手机上。

使用dig @mydns subdomain.mydomain.com 返回本地IP,所以我假设绑定配置没问题,但dig subdomain.mydomain.com(或ping)并不总是返回正确的IP。我还尝试像这样禁用子域的转发器:

zone "mydomain.com" {
    type master;
    file "/etc/bind/db.mydomain";
    forwarders {};
};

我刷新了计算机的 DNS 缓存,但我的网络上没有其他 DNS 服务器,所以我不明白这是怎么发生的。我还尝试在绑定服务器上记录请求,但没有看到返回外部 IP 地址的请求(只有内部 IP 地址的请求)。那么这些请求是从哪里来的呢?

【问题讨论】:

    标签: networking dns bind


    【解决方案1】:

    我终于发现了问题所在:我的自定义 DHCP/DNS 服务器仅配置为 IPv4,但我的 ISP 盒也提供 IPv6 功能,因此来自网络上设备的所有 DNS 请求都通过两种协议和有一半的时间,请求是由 ISP 框而不是我的自定义 DNS 响应的。

    我暂时禁用了 IPv6,问题就消失了。我稍后会为我的自定义服务器配置它。

    【讨论】:

      猜你喜欢
      • 2016-09-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-15
      • 1970-01-01
      • 2018-02-08
      • 2020-06-24
      • 2012-02-24
      • 1970-01-01
      相关资源
      最近更新 更多