将 .local 域名覆盖为公共 IP

将 .local 域名覆盖为公共 IP

我正在为我的组织使用 BIND9 DNS 服务器,并且我有一个使用 .local 域发布的应用程序:example.website.local。有一个 .com 替代方案,我想使用 DNS 服务器将 .local 重新映射到该替代方案,但我不知道这是否可行。

我在 RPZ 上找到了这篇文章:覆盖 BIND 中用于内部网络的某些 DNS 条目,但在我将设置应用于我的 .local 域后,我不断收到此消息:

; <<>> DiG 9.16.1-Ubuntu <<>> example.website.local
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 61184
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;example.website.local.     IN  A

;; Query time: 8 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Sun Oct 17 11

有没有办法重写这个。当地的域名.com或者使用 BIND 或 RPZ 的公共 IP 地址?

谢谢!

答案1

以下是我需要做的事情的简要概述,以便让它工作:

  1. 在 debian/Ubuntu 机器上有一个正常运行的 BIND9 服务器

  2. 编辑/etc/bind/named.conf.options添加:

response-policy { 
    zone "rpz.local"; 
};
  1. 添加 RPZ 区域/etc/bind/named.conf.local
zone "rpz.local" { 
    type master; 
    file "/etc/bind/db.rpz.local"; 
    allow-query { localhost; }; 
    allow-transfer { localhost; }; 
};
  1. 复制/etc/bind/db.empty/etc/bind/db.rpz.local

  2. 将.local文件添加A记录db.rpz.local

example.local A 8.8.8.8
  1. 重启 DNS
systemctl restart bind9
rndc flush
rndc reload

相关内容