我们有一个预发布站点来测试 DNS(和其他服务)在变热之前。我以前从未在这里涉及公共 IP,它可能无法按我的预期工作。我们有一个来自我们的 ISP 的 /29-net 是公共 IP。121.24.124.144/29。为了测试不同“视图”的 DNS,我们设置了路由器的 LAN 端来模拟这个网络;将路由器作为我们 ISP 的 GW。除了无法从外部实际连接(当然可以通过端口转发完成),这不是这里的意图。)
拓扑:
连接到我们 ISP 的路由器通过 NAT 与我们的网络进行 dhcp 连接。LAN IP 设置为 121.24.124.145/29 (这是我们自己的 IP 网络,因此此时不应从外部连接)它应该(并且确实)在本地世界中作为囚犯工作。暂且。
我们的 DNS 连接的路由器(谢尔比)的 WAN IP 为 121.24.124.146 和 LAN 192.168.13.1。DNS 服务器 (emma) 位于 192.168.13.2。
> dig -x 121.24.124.146 @192.168.13.2
结果是:
;; ANSWER SECTION:
146.124.24.121.in-addr.arpa. 86400 IN PTR static-121-24-124-146.cust.com.
;; AUTHORITY SECTION:
124.24.121.in-addr.arpa. 77013 IN NS o.dns.cust.com.
124.24.121.in-addr.arpa. 77013 IN NS f.dns.cust.com.
;; ADDITIONAL SECTION:
f.dns.cust.com. 76895 IN A 19.71.22.3
o.dns.cust.com. 77013 IN A 19.71.18.5
(此时是 IP 地址的当前所有者(ISP))
我假设我们的 dns 会回复
;; ANSWER SECTION:
146.124.24.121.in-addr.arpa. 86400 IN PTR fw-shelby.energia.com.
使用正确的 IP/FQDN 进行反向查找时,任何其他本地主机都会按预期工作。转发地址工作正常。
> dig fw-shelby.energia.com
;; ANSWER SECTION:
fw-shelby.energia.com. 10800 IN CNAME shelby.energia.com.
shelby.energia.com. 10800 IN A 121.24.124.146
;; AUTHORITY SECTION:
energia.com. 10800 IN NS emma.energia.com.
;; ADDITIONAL SECTION:
emma.energia.com. 10800 IN A 192.168.13.1
这个结果引发了一些问题。
- 与内部(192.168 等)相比,BIND 是否知道公共 IP?[这样反向查找将导致外部查找而不是我们的本地 fqdn]
- 我们的反向文件是根据网络为 /29 的事实配置的,这意味着它从 .144 开始,这表明反向查找文件也从 144.124.24.121.in-addr.arpa 开始。除了 0....in-addr.arpa 之外,我找不到任何信息或小型网络和反向查找文件的示例。这是一个限制,一个不寻常的解决方案还是这样的错误?
- 如果这没有损坏也不正确 - 那么这将如何设置?
受影响的文件:
/etc/bind/zonefiles/public/named.reverse.zone.conf
zone "144.124.24.121.in-addr.arpa"
{
type master;
file "/etc/bind/zonefiles/public/reverse-144.124.24.121.zone";
allow-update { none; };
};
; /etc/bind/zonefiles/public/reverse-144.124.24.121.zone
; 121.24.124.144 (-121.24.124.151)
$ORIGIN 144.124.24.121.in-addr.arpa.
$TTL 345600
@ IN SOA emma.energia.com. root.emma.energia.com. (
2022101102 ;Serial
86400 ;Refresh 24 hours
7200 ;Retry 2 hours
2592000 ;Expire 30 days
345600 ) ;Minimum 4 days
IN NS emma.energia.com.
145 IN PTR gw-isp.energia.com.
146 IN PTR shelby.energia.com.
147 IN PTR shelley.energia.com.
148 IN PTR mailis.energia.com.
149 IN PTR ava.energia.com.
150 IN PTR www.energia.com.
我检查了将区域设置为 $ORIGIN 124.24.121.in-addr.arpa。只是为了排除反向区域可能不允许这么“小”。但是不,没有区别。
至于参考:
; Bind reverse hosts
$ORIGIN 13.168.192.in-addr.arpa.
$TTL 345600
@ IN SOA emma.energia.com. root.emma.energia.com. (
1998030900 ;Serial
86400 ;Refresh 24 hours
7200 ;Retry 2 hours
2592000 ;Expire 30 days
345600 ) ;Minimum 4 days
IN NS emma.energia.com.
1 IN PTR gw-shelby.energia.com.
2 IN PTR emma.energia.com.
3 IN PTR gw-rivendale-link-br.energia.com.
4 IN PTR unused-ip-rd4.energia.com.
正向和反向都可以正常工作。我没有提交任何其他命名的配置文件,因为其余的工作和日志确认区域已加载。但如果需要请询问!
出现我们自己的反向名称会不那么令人沮丧。ISP 的反向名称只会令人困惑。
您在内部对供应商分配的公共 IP 地址的反向 DNS 记录执行什么操作取决于您,但互联网的其余部分只会看到您的 ISP 为您提供/支持/设置的任何内容。
就我个人而言,我会与他们保持一致,而不是在本地覆盖他们对 121.24.124.144/29 的反向 DNS 记录设置或未设置的任何内容。
通常 ISP 是:
您当前配置中的问题:
这将为仅 1 个 IP 地址设置一个反向 DNS 区域,
121.24.124.144
而不是为子网。dig -x 121.24.124.14
6
失败,因为它不是121.24.124.14
4
。没有一个很好的解决方案:
在您的 named.conf 中使用
zone "124.24.121.in-addr.arpa"
,您可以在本地覆盖整个 121.24.124.0/24 范围内所有 IP 的 PTR 记录。您可以(定期/一次性)使用 PTR 记录的当前值(所有未分配给您的 IP)填充区域文件以减轻影响。
您为分配给您的每个单独的 IP 地址设置一个节:
然后设置一个(单个)区域文件(使用一些
$ORIGIN
技巧来允许您使用速记和单个区域文件,而不是为每个 IP 创建一个唯一的区域文件):