@ 和 ns 记录有什么区别

@ 和 ns 记录有什么区别

@我试图了解 A 记录和ns记录之间的区别。

我正在尝试将子域 testing.example.com 指向另一台服务器,该服务器将拥有自己的DNS服务器、mail服务器并能够发布其dkimspf&dmarc记录。

据我从 sysadmin1138 提供的答案中了解:子域名的粘合记录?

我需要在example.com域中有以下粘合记录

example.com:
[...]
testing.example.com.     IN NS ns1.testing.example.com.
testing.example.com.     IN NS ns2.testing.example.com.
ns1.testing.example.com. IN  A 113.197.55.206
ns2.testing.example.com. IN  A 113.197.55.206

那么我也应该添加A记录并将@其指向113.197.55.206吗?

答案1

@ 只是“原点”。它用于域名在语法上应该出现的位置,但该名称与原点设置相同。即在 BIND 配置中您说zone "domain.com",则原点是domain.com(直到通过区域文件中的 $ORIGIN 指令重新设置)并且@ NS ns与 相同domain.com. NS ns.domain.com.。请注意,任何没有尾随点的记录都会自动附加原点,但要利用此功能,您必须为 NS 记录保留“空名称”,这意味着其他事情(在这种情况下,请考虑语法不正确)。因此发明了符号 @。

这意味着,它与胶合记录或委托记录没有任何关系。您甚至可以选择在任何地方都不使用它,您可以明确地写出所有内容。像这样:如果您想创建 A 记录,您可以使用 @ 来做到这一点,例如@ A 192.0.2.1,但您也可以不使用它并写为domain.com. A 192.0.2.1(前提是原点仍然是domain.com)。

http://www.zytrax.com/books/dns/apa/origin.html

当子域在其区域内有 DNS 服务器名称时,需要使用胶水记录。让我们委托sub.example.comns.sub.example.com具有地址的服务器192.0.2.2。为了使它工作,我们需要ns.sub.example.com事先解析该 A 记录,但谁应该回答查询?我们委托区域的服务器无法回答,因为在我们解析此查询之前,我们仍然不知道它的地址。这个鸡和蛋的问题通过胶水记录解决:委派服务器将存储一条ns.sub.example.com A 192.0.2.2记录。然后,我们还可以使用名称服务器委托记录sub.example.com. NS ns.sub.example.com.

或者,如果您的原点是example.com,那将是ns.sub A 192.0.2.2- 粘合和sub NS ns.sub- 委托。这里不使用 @ 符号,因为我们在任何地方都找不到“空名称”。

或者,您可以设置$ORIGIN sub.example.com,然后必须使用@:我们的记录将写为ns A 192.0.2.2@ NS ns

请注意,尽管我提出了三种使用胶合记录来表达这种委托的方式,但这三种情况表达的信息完全相同,并且工作方式也相同。这只是语法上的差异,而不是原则上的差异。

如果您将区域委托给该区域内没有其名称的服务器,则不需要粘合。例如,如果sub.example.com将 委托给,则需要ns.example.org单个,因为的地址将以其他方式解析。sub.example.com. NS ns.example.org.ns.example.org

还有一点需要注意。DNS 注册商要求您至少指定两个 DNS 服务器,但这并不意味着您也需要多个 DNS 服务器。如果您两次指定同一个服务器,这不会带来任何改善。对于您的特定情况,一个 glue 和一个委托记录就足够了。

相关内容