内网使用公网IP时外部DNS服务器无法解析外部域名

内网使用公网IP时外部DNS服务器无法解析外部域名

我用来nslookup从内部网络内的计算机进行查询。如果我使用 DNS 服务器的私有 IP,它可以成功解析外部域名。

> www.ust.hk
服务器: 192.168.28.58
地址: 192.168.28.58#53

非权威答案:
名称:www.ust.hk
地址:143.89.14.1

但是,如果我在内部网络内使用 DNS 服务器的公共 IP,则无法解析外部域名。

$ nslookup
server wxyz
默认服务器:wxyz
地址 wxyz#53
> www.ust.hk
服务器:wxyz
地址:wxyz#53
服务器找不到 www.ust.hk:REFUSED

如果我检查 dns.log,它会指出外部域名被拒绝。

(www.ust.hk): 查询(缓存)‘www.ust.hk/A/IN’ 被拒绝

这是不合理的,因为内网是允许递归的,如果电脑在内网之外,无法解析外域,这是很正常的。

我有如下命名的配置文件:

acl "trusted" {
               192.168.0.0/16;
               localhosts;
               localnets;
};

options{
listen-on port {any;};
listen-on-v6 port 53 { none; };
allow-query { any; };
allow-recursion {trusted;};
allow-query-cache {trusted;};
....
};

我想知道是什么导致了这个问题。这个问题是由防火墙配置错误引起的吗?由于 dns.log 指出它被拒绝,所以这似乎不是防火墙问题。
我已经包含了环回 NAT 规则,但仍然没有帮助。请记住,DNS 服务器位于 DMZ 区域。

其他編輯

编辑1

对于要点 - “更改 NAT 设置以不覆盖此特定流量,因此源仍将保持本地”。这看起来最可行,但我不知道如何做到这一点。

PDNS1(公共)IP 位于 WAN 区域,而 PDNS1(私有)IP 位于 DMZ 区域。

我们的防火墙品牌是 sonicwall。当前 NAT 为:
源原始:任何源
转换:Pdns(公共)
目标原始:Pdns(公共)
目标转换:Pdns(私人)
服务原始:DNS(名称服务)
服务转换:原始

另外两个 NAT 规则是普通的一对一反射 NAT。

我不知道如何不覆盖特定流量,以便源仍保持本地。请提供建议并详细说明。非常感谢。

编辑2

对于要点 - “添加您的公共 IP(将其 sNAT 到本地网络列表)”,我尝试了以下设置。确实,使用内部网络内的公共 IP 进行 DNS 查询可以成功解析外部域名。

不幸的是,使用内网外的公网IP进行的DNS查询,也会解析外部域名,这是不可取的,因为这会成为一个开放的DNS服务器,容易受到DNS放大攻击。

acl“受信任”{
219.189.213.25;
192.168.0.0/16;
本地主机;
本地网络;
};

对于这一点——“为来自任何 IP 的域启用响应(可能不愿意)”

我认为它意味着 named.conf 的以下设置:recursion yes;
或者,
allow-recursion { any; };
allow-query-cache { any; };

同样,这会使DNS服务器变成开放DNS,这是非常不可取的。

编辑3

  1. 以下是内部网络内私有 IP 的 DNS 查询:
    [root@pdns1 ~]# nslookup
    server 192.168.28.58
    默认服务器:192.168.28.58
    地址:192.168.28.58#53
    www.hku.edu.hk
    服务器:192.168.28.58
    地址:192.168.28.58#53
    非权威答案:
    名称:www.hku.edu.hk
    地址:147.8.2.58

  2. 以下是内部网络内公网 IP 的 DNS 查询:
    服务器 219.189.213.25
    默认服务器:219.189.213.25
    地址:219.189.213.25#53
    www.mingpao.com
    服务器:219.189.213.25
    地址:219.189.213.25#53
    ** 服务器找不到 www.mingpao.com:REFUSED

以下是 dns.log:
16-Jan-2020 20:40:12.460 security: info: client @0x7f963c508310 219.189.213.25#43529. (www.mingpao.com): query (cache) 'www.mingpao.com/A/IN' denied

以下是queries.log:
16-Jan-2020 20:39:42.109 查询:信息:客户端@0x7f963c0a3ce0 192.168.28.58#60338 (www.hku.edu.hk):查询:www.hku.edu.hk IN A + (192.168.28.58)

2020 年 1 月 16 日 20:39:42.401 查询:信息:客户端@0x7f963c58e9c0 192.168.28.58#58101 (www.hku.edu.hk):查询:www.hku.edu.hk IN AAAA + (192.168.28.58)

2020 年 1 月 16 日 20:40:12.460 查询:信息:客户端@0x7f963c508310219.189.213.25#43529 (www.mingpao.com): 查询:www.mingpao.com IN A+(192.168.28.58)

该请求确实来自 WAN 吗?

答案1

问题/提示是,当您尝试使用公共 IP 访问 DNS 服务器时,如何访问它......

一旦您使用 DMZ 中的公共 IP 到达服务器,您的流量很可能已经经过 sNAT。从服务器的角度来看,您的通信不是本地的。再次检查日志记录 - 可以看到请求来自的 IP...

为了使其正常工作,您可以:

  • 启用来自任何 IP 的域响应(可能不愿意)

  • 更改 NAT 设置以不覆盖此特定流量,因此源仍将保持在本地

  • 添加你的公共 IP(将其 sNAT 到本地网络列表)

相关内容