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
    • 最新
    • 标签
主页 / server / 问题 / 122689
Accepted
Nick Bolton
Nick Bolton
Asked: 2010-03-16 09:22:30 +0800 CST2010-03-16 09:22:30 +0800 CST 2010-03-16 09:22:30 +0800 CST

使用 BIND 时 @ 和 * 有区别吗?

  • 772

在配置 BIND DNS 区域时,我经常想知道为什么两者都存在@并*为区域名称指定别名。两者有区别吗?

bind
  • 5 5 个回答
  • 300 Views

5 个回答

  • Voted
  1. Best Answer
    Jeremy Bouse
    2010-03-16T10:11:08+08:002010-03-16T10:11:08+08:00

    @也被翻译为它所引用的区域的域名。这是在 example.com 的区域文件中使用的,然后@将等于“example.com”。另一方面*,通配符表示任何含义。

    这是我如何在区域文件中使用这两个符号的示例:

    ; SOA Record
    EXAMPLE.NET.    3600    IN  SOA ns1.example.com.    dns.example.net. (
                    2010031000
                    28800
                    7200
                    604800
                    86400
                    )
    
    ; A Records
    @   3600    IN  A   192.168.1.212
    @   3600    IN  A   192.168.1.214
    
    ; CNAME Records
    www 3600    IN  CNAME   @
    *   3600    IN  CNAME   @
    
    ; NS Records
    @   3600    IN  NS  ns1.example.com
    @   3600    IN  NS  ns2.example.com
    

    在本例中,我使用EXAMPLE.COM 的DNS 服务器为EXAMPLE.NET 定义区域。我有 2 个 IP 地址分配给域的 A 记录,因此EXAMPLE.NET 指向 192.168.1.212 和 192.168.1.214。然后我定义了几个 CNAME 记录, www 和 magic *,它们都指向@或解释为EXAMPLE.NET。也有 NS 记录使用该@符号而不必键入 out EXAMPLE.NET。

    因此,您实际上可以将此区域文件转换为:

    ; SOA Record
    EXAMPLE.NET.    3600    IN  SOA ns1.example.com.    dns.example.net. (
                    2010031000
                    28800
                    7200
                    604800
                    86400
                    )
    
    ; A Records
    EXAMPLE.NET.    3600    IN  A   192.168.1.212
    EXAMPLE.NET.    3600    IN  A   192.168.1.214
    
    ; CNAME Records
    www 3600    IN  CNAME   EXAMPLE.NET.
    *   3600    IN  CNAME   EXAMPLE.NET.
    
    ; NS Records
    EXAMPLE.NET.    3600    IN  NS  ns1.example.com
    EXAMPLE.NET.    3600    IN  NS  ns2.example.com
    

    两个版本是相同的。简单的@变成EXAMPLE.NET和*意味着你能想到的任何东西。通过使用*通配符,您可以为域设置网络服务器,然后在该域下配置多个虚拟主机,而无需再次修改 DNS。host1.example.net、blah.example.net 和 doiexist.example.net 都将指向同一个位置,即使由于*通配符,它​​们在区域文件中没有特别说明。

    • 9
  2. ZaphodB
    2010-03-16T18:29:11+08:002010-03-16T18:29:11+08:00

    除了 Bill Weiss 所说的,我想指出的*是“所有可能的子域/标签,除了那些已经存在的”,这意味着我可以拥有

    $ORIGIN EXAMPLE.NET.
    a IN A 1.2.3.4
    b IN A 4.3.2.1
    * IN A 8.8.8.8
    

    a.EXAMPLE.NET 将返回 1.2.3.4,就像 c.EXAMPLE.NET 将返回 8.8.8.8

    aaacEXAMPLE.NET 也将返回 8.8.8.8,这正是通配符记录有点混乱的原因。通过遍历这些名称,您可能会用完递归名称服务器的所有缓存。

    • 2
  3. Bill Weiss
    2010-03-16T09:48:40+08:002010-03-16T09:48:40+08:00

    *不是区域名称的别名。它的意思是“所有子域”。

    • 1
  4. Jim Dennis
    2010-03-16T10:35:17+08:002010-03-16T10:35:17+08:00

    将 @ 视为在解析区域文件期间扩展的宏,而 * 是“glob”(匹配)任何不匹配任何正常条目的操作符。

    * 条目允许配置 DNS 以返回查询的指定记录,否则这些查询将获得“NXDOMAIN”(不存在)响应。

    • 1
  5. quadruplebucky
    2010-03-16T10:12:33+08:002010-03-16T10:12:33+08:00

    “@”根据 RFC 1035 扩展为当前的 $ORIGIN。我在区域文件顶部的 SOA 记录中经常看到这一点。

    我从来没有见过 '*' 用于匹配任何之前在 RR 条目(又名“通配符”条目)中不匹配的内容。

    • 0

相关问题

  • 配置仅在短时间内缓存的本地 DNS 解析器

  • BIND 服务器无法解析 us3.php.net!

  • DNS - 有什么方法可以强制名称服务器更新域的记录?

  • BIND/Named:禁用递归,客户端使用替代服务器

  • DR 站点中 Windows 域的 BIND

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve