您能使用 bind 将多级子域名放在主区域中吗?
我有一个名为 的区域example.com
,我想创建一个子域,例如host01.nyc.us.example.com
。我可以在区域中创建这样的条目example.com
吗?
; A Records
host01.nyc.us.example.com. IN A 1.1.1.1
或者我是否需要/或者最好创建另一个名为的区域nyc.us.example.com
?
; NS Records
IN NS ns1.example.com.
IN NS ns2.example.com.
; A Records
host01 IN A 1.1.1.1
答案1
您应该获得一份“DNS 和 BIND 简介”的副本并使用它来了解 DNS 的工作原理(因为这是您提出的第二个问题 - 没关系,我们希望您正在学习!)
您可以在主区域中放置多个子域名。实际上,至少有两种方法可以实现此目的。
The simpler way would be this
; NS Records
IN NS ns1.example.com.
IN NS ns2.example.com.
; A Records
host01 IN A 1.1.1.1
host01.nyc.us IN A 2.2.2.2
更复杂的方法是创建一个子域名,并拥有自己的区域记录。在上述情况下,您可能不想这样做,但是如果您想将请求发送到不同的名称服务器或将它们置于其他人的控制之下,这种方法很有用 - 事实上,这几乎就是根名称服务器委托您的域名的方式!
为此,你需要为子域名创建一个带有 NS 记录的区域,例如
; NS Records
IN NS ns1.example.com.
IN NS ns2.example.com.
; A Records
host01 IN A 1.1.1.1
us IN NS ns.nameserver.com
us IN NS ns2.nameserver.com
然后为“us.example.com”创建一个区域文件,其中可以有 nyc.us.example.com(并再次将其委托给新的名称服务器)或有记录 host01.nyc”(因为它与 us.example.com 相关)
关键是域名是从右到左解析的,以“。”字符分隔,因此您可以在很远的地方进行子委托。