我用来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
以下是内部网络内私有 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以下是内部网络内公网 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 到本地网络列表)