关于DNS获取域名与IP映射关系、同步域名变更及保障记录真实性的技术问询
关于DNS获取域名与IP映射关系、同步域名变更及保障记录真实性的技术问询
一、DNS是怎么知晓域名和IP的映射关系的?
DNS不是一个存着所有域名的中央大数据库,它是个分布式系统。举个例子:你在some.unknown.domain.f这个域名的注册商那里完成注册后,需要指定这个域名的「权威DNS服务器」(要么用注册商自带的,要么用你自己搭的第三方)。接下来注册商会把你的域名对应的NS记录(就是告诉你的域名归哪个权威DNS管)提交到.f这个顶级域的根DNS服务器里。
当有人在浏览器输入你的域名时,他本地的递归DNS服务器会从根域开始查:先找.f顶级域的DNS,再从那里拿到你的权威DNS地址,最后直接问你的权威DNS要域名对应的IP——整个过程是层层递进查询的,不是从某个中心库直接拉取。
二、谁会通知DNS域名新增或删除?
没有什么自动扫描的“DNS监控者”,所有变更都是域名持有者主动触发的:
- 新增域名:你注册域名后,自己在权威DNS服务器上添加A/AAAA等记录(把域名和IP绑定),同时注册商帮你把NS记录同步到顶级域的DNS系统里,这样整个DNS网络就能找到你的域名对应的权威DNS了。
- 删除域名:要么你在权威DNS上手动删掉所有记录,要么直接注销域名,注册商会通知顶级域的管理机构移除你的域名相关信息,之后别人再查这个域名就会返回“不存在”的结果。
三、怎么确保托管商提供的DNS记录是真实有效的?
这确实是个值得关注的点,有几个办法可以保障:
- 启用DNSSEC:这是DNS的安全扩展功能,权威DNS会给每条记录加数字签名,递归DNS服务器查询时会验证签名,确保记录没被篡改、确实是从你的权威DNS发出来的。正规托管商一般都支持开启这个功能。
- 自己掌控DNS配置:如果你不信任托管商的DNS服务,可以自己搭建权威DNS服务器,或者选择口碑好的第三方DNS服务商,自己手动配置记录——这样所有映射关系的控制权都在你手里,不用依赖托管商。
- 手动校验记录:用
dig或者nslookup这类命令,在本地查询你的域名记录,对比你设置的内容是否一致。比如在终端输入dig some.unknown.domain.f,就能看到返回的IP是不是你配置的那个。 - 依赖行业监管:域名注册商和DNS服务商都要遵守ICANN等行业机构的规则,违规操作会被吊销资质,所以正规的托管商不会随便篡改你的DNS记录——毕竟他们要靠信誉吃饭。
备注:内容来源于stack exchange,提问作者Szyszka947
相关产品推荐
相关产品推荐

