AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 701917
Accepted
Cookie
Cookie
Asked: 2022-05-10 04:07:20 +0800 CST2022-05-10 04:07:20 +0800 CST 2022-05-10 04:07:20 +0800 CST

如何从主要区域引用另一个 DNS 条目 (BIND 9)

  • 772

我有两个子区域可以说:

zone "first.com" {                      type master; file "/etc/bind/zones/first.com.primary";};
zone "second.com" {                      type master; file "/etc/bind/zones/second.com.primary";};

首先我定义

$TTL 300
@   IN SOA ns1.org.com. postmaster.org.com. (
    2022050902  ; serial
    14400        ; refresh
    1800         ; retry
    604800       ; expire
    86400 )      ; minimum

@                        IN NS      ns1.org.com.
subdomain                IN A       127.0.0.1

第二个我想先参考

$TTL 86400
@   IN SOA ns1.org.com. postmaster.org.com. (
    2019032601   ; serial
    14400        ; refresh
    1800         ; retry
    604800       ; expire
    86400 )      ; minimum

@                        IN NS      ns1.org.com.

@                        IN CNAME       subdomain.first.com.
www                      IN CNAME       @

localhost                IN A       127.0.0.1
loopback                 IN CNAME   localhost

那可能吗?

linux bind9
  • 1 1 个回答
  • 22 Views

1 个回答

  • Voted
  1. Best Answer
    telcoM
    2022-05-10T11:30:13+08:002022-05-10T11:30:13+08:00

    CNAME记录指定记录左侧的名称是右侧名称的CNAME别名-适用于所有类型的 DNS 记录,而不仅仅是记录。粗体字是导致问题的原因,因为“所有记录类型”还包括区域和记录。ASOANS

    您正在尝试在该记录所在的区域CNAME的顶点使用记录。所以以完全合格的形式写成,你的第一个说:second.comSOACNAME

    second.com.  IN CNAME subdomain.first.com.
    

    因此,当second.com请求 SOA 记录时,subdomain.first.com应该返回 SOA 记录。但是真正的 SOA 记录second.com将无法访问,并且没有该 SOA 记录,整个second.com域将被破坏——这意味着CNAME指向的记录subdomain.first.com实际上是无效的。

    此外,如果subdomain.first.com不是其自己区域的顶点,而只是更高级别区域中的子域,则它没有自己的 SOA 记录:遵循 CNAME 映射意味着对second.com的 SOA 记录的请求必须回答“绝对不存在这样的记录”。但如果该区域没有 SOA 记录second.com,则该区域不存在。

    同样,当second.com请求 NS 记录时,CNAME将需要使用 NS 记录subdomain.first.com来响应。但是 的名称服务器subdomain.first.com根本不需要知道任何关于second.com.

    为了防止这样的矛盾情况,RFC 1034 的第 3.6.2 节说:

    如果 CNAME RR 出现在节点上,则不应出现其他数据;这可确保规范名称及其别名的数据不能不同。此规则还确保可以使用缓存的 CNAME,而无需与权威服务器检查其他 RR 类型。

    (请注意,RFC 1034 早于约定,严格按照RFC 2119 中定义的要求级别使用单词SHOULD、MUST和MAY。虽然它说“不应该存在其他数据”,但这是一个要求,而不是一个建议,因为 DNS 缓存的正确性取决于它。)

    此规则使记录不可能存在CNAME于区域的顶点,因为SOA和NS记录需要在顶点才能有意义地存在,并且任何CNAME与它们一起的记录都将违反此规则。

    有关详细信息,请参阅:https ://www.isc.org/blogs/cname-at-the-apex-of-a-zone/


    @                        IN CNAME       subdomain.first.com.
    www                      IN CNAME       @
    

    此外,将一条记录指向CNAME另一条CNAME记录是低效且糟糕的风格,尽管它在技术上是有效的。您应该始终直接转到链末尾的规范名称:

    @                        IN CNAME       subdomain.first.com.
    www                      IN CNAME       subdomain.first.com.
    
    • 0

相关问题

  • 有没有办法让 ls 只显示某些目录的隐藏文件?

  • 使用键盘快捷键启动/停止 systemd 服务 [关闭]

  • 需要一些系统调用

  • astyle 不会更改源文件格式

  • 通过标签将根文件系统传递给linux内核

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve