我有一个关于 DNS 解析规则的非常基本的问题。
假设我的域名是mydomain.parentdomain.com
,并且我的bind
配置是(非常精简的配置):
NS ns.parentdomain.com
ORIGIN mydomain.parentdomain.com.
@ A XXX.XXX.XXX.XXX
www CNAME mydomain.parentdomain.com.
鉴于上述情况,我有一些问题(更多的是假设),但我不知道答案:
用户访问
www
或non-www
均可解决IP
。正确吗?如果我同时删除
A
和CNAME
,用户将无法解析,并将回退到ns.parentdomain.com
进行解析尝试。就我而言,ns.parentdomain.com
他们不知道我的域名,因此无法解析。对吗?最后,保留
A
和CNAME
删除,但将我的替换NS
为CloudFlare
NS
,(它具有完整的DNS
配置,所有域和子域),这仍然有效吗?我想,问题是,我的原始DNS
服务器是否会完全回退到CloudFlare
NS
?如果这是真的,这是否意味着我将解决方案完全推迟到CloudFlare
?
如果我的表述不太清楚或者问题中留有空白,请在评论中提问:)
答案1
我将用它parentdomain.com
来替换example.com
,以保留用于记录此类案例。
- 只有
mydomain.example.com
和www.mydomain.example.com
才能解决。non-www.mydomain.com
由于未定义,因此无法解决。 - 除非
example.com
为 指定了其他名称服务器mydomain.example.com
,否则将使用其名称服务器来解析mydomain.example.com
。除非域配置错误,否则将至少有两个名称服务器,例如ns1.example.com
和ns2.example.com
。但是,名称服务器也可能属于另一个域,例如ns1.example.net
和ns2.example.net
。(注意:.net
而不是.com
。)您拥有的 NS 记录是多余的,并且可能不正确。 - 仅配置
CloudFlare
或任何其他名称服务器均不起作用。在这种情况下,example.com
需要指向名称服务器的NS
记录。mydomain.example.com
CloudFlare
如果没有缓存记录,搜索将遵循以下顺序:
- 询问哪个根服务器
www.mydomain.example.com
将返回 的名称服务器com
。 - 询问
com
名称服务器,www.mydomain.example.com
它将返回名称服务器example.com
。 - 询问哪个
example.com
名称服务器www.mydomain.example.com
将返回数据www.mydomain.example.com
。
如果mydomain.example.com
已经委托其他名称服务器,例如CloudFlare
用替换最后一步。
- 询问将返回的名称服务器的名称
example.com
服务器。www.mydomain.example.com
mydomain.example.com
- 询问哪个
mydomain.example.com
名称服务器www.mydomain.example.com
将返回数据www.mydomain.example.com
。