域名服务器, 也就是大家常说的DNS服务器, 是一种网络基础性的东西。它的作用是把人们能看懂的网页名字, 翻译变成机器能够明白的数字地址IP地址。这个服务靠的是一个分布在全球各个地方的数据库系统来工作。
这么一来, 用户在自己用手机或者电脑的时候, 就不必去费力背诵那些难记的一串数字了。只要知道网站的名字或者邮件的地址, 就能直接打开目标网站, 也能正常使用收发邮件的服务。
域名服务器的核心职能
域名解析: 就是把域名转换成 A 记录(这个是 IPv4), 或者转换成 AAAA 记录(这个是 IPv6), 这一步, 是用户去访问网站的时候, 必须做的第一件小事。
建立邮件路由的方式, 是依赖于MX记录以及其里面的优先级数值的, 通过这种方式来指定出对应的域名所匹配的接收邮件的服务器。
使用多台权威DNS服务器来配合, 这样做的目的是为了能够实现故障自动切换的情况, 从而保障解析服务的可用性处于高水准的状态, 这就是通常所说的负载均衡与容灾。
在全球范围内, 域名的解析工作是严重依赖于一种具有层次的架构的, 这个架构首先会涉及到根服务器, 而根服务器实际上是由十三组构成的, 紧接着就是顶级域的服务器了, 再往下是权威服务器, 最后才是递归服务器, 这一系列的查询过程是从上到下逐级进行的, 一直要到将最终的Ip地址返回回来为止。
查询当前域名服务器
1. 在命令行里, 你要去执行那个叫 nslookup -type=NS yourdomain.com 的命令, 或者, 你也要可以去执行那个叫 dig NS yourdomain.com 的命令, 当结果返回来了以后, 里面的NS这个字段, 它就是指代的那个域名的权威服务器。
2. 进行WHOIS查询的时候, 你可以在命令行里面输入whois yourdomain.com这个指令, 然后等待输出结果出现, 接着在输出的内容里面找到标记为“Name Server”的那一行。
3. 需要在注册商的后台管理系统里完成操作, 具体的做法是首先把域名管理的网页给登录进去, 然后在页面中找到关于“DNS设置”这个地方, 或者去找那个叫作“域名服务器”的栏目, 这样就直接能看到当前正在使用的NS列表了。
修改域名服务器
修改这一种操作, 必须在域名注册商的后台管理那边去做完它, 标准的那个工作流程呢, 就是下面这样的。
1. 先登录注册商控制台, 进入到域名管理那里面, 之后点击DNS服务器设置这个选项。
2. 把现在有的那些NS记录拿掉, 换成新的、有权限的那个服务器的地址, 这个数字通常是两到三个组, 比方说ns1.example.com以及ns2.example.com这样的写法。
3. 你需要去执行那个变更提交的动作, 然后开始等待全球范围内的域名系统缓存根据生存时间这个周期的规则来进行刷新操作, 对于一般的互联网域名来说, 通常需要耗费四十八到七十二个小时的时间才能够完全生效, 然而也有一些特定的区域或者是特殊的域名字符后缀, 它们所需要耗费的时长可能会比上面提到的时间还要更加长一些。
4. 在等待刷新的时候, 一定要把在新DNS服务器上配好的所有解析记录都提前做好, 好让切完了之后, 业务一点都不中断。
注意部分顶级域, 比方说那个.cn这样的, 在要修改NS的时候, 必须要同步地更新一册局那边的数据库, 这个生效的周期稍微比.com、.net这些通用类型域名要长一些, 所以这里建议留出来足够的额外缓冲时间。
常见故障与排查方法
解析不生效:确认TTL是否已过期,清除本地DNS缓存(Windows执行ipconfig /flushdns域名服务器域名服务器,macOS执行sudo dscacheutil -flushcache);
间歇性解析失败: 这通常是由单台DNS服务器发生宕机事故所导致的, NS列表应当至少包含两台处于岛分裂状态的立节点, 以此来避免单点故障现象的发生。
邮件无法送达: 可能是MX记录缺失, 也可能是优先级数值有误, 需要用dig MX yourdomain.com逐条进行验证。
域名被未授权劫持: 立刻去检查你的NS记录是不是被人非法改了, 然后马上去联系那个管域名的注册商, 让他们把你的域名给锁定住, 也就是执行那个叫ClientHold的操作, 最后一定要把你用在注册商那里的账号密码也给改掉。
新后缀域名的DNS管理
像gname.xin这种新一代的域名后缀, 它们的基础设施在默认情况下是采用多区域的部署架构的。
注册的用户在gname.xin的管理后台里面可以不用费劲就能直接配置权威的NS记录, 当把变更提交上去以后, 可以通过全球任何一个递归节点去验证生效的状态, 这样就不用再额外地向注册局提交书面形式的变更申请了, 而且操作的整个路径跟通用的后缀也是一模一样的。

