我目前正在将网站迁移到另一台服务器,并希望在移动域名之前测试 DNS 配置(更具体地说,电子邮件 MX 记录)。我已将新服务器上的 DNS 配置为具有 Google Apps 的 MX 条目,其配置方式与旧服务器上的配置方式相同。域名目前由旧服务器上的名称服务器控制,因此更改只是将名称服务器更新到新服务器。(我的意思是 DNS 在服务器级别而不是注册商级别进行控制)。
由于该网站拥有相当多的用户,我想在切换之前确保配置正确。为此,我可以在本地计算机的 hosts 文件中添加一个条目,将域指向新服务器吗?我已经这样做了,并且 Web 服务器可以正常工作,但这是否也会测试新服务器上的电子邮件 MX 记录?
答案1
不要为此使用 hosts 文件;它会替换 DNS 查找而不是执行 DNS 查找(并且ns1
子域名没有特殊含义)。
在 Linux 上,您可以用来dig
测试 DNS;dig @192.0.2.2 in mx yourdomain.tld
其中,yourdomain.tld 被替换为您的域名,示例 IP 被测试的名称服务器的 IP 替换。
在 Windows 上,使用nslookup - 192.0.2.2
并输入查询mx yourdomain.tld
。
答案2
否,/etc/hosts
仅用于地址查找。您需要修改解析器的配置以指向新的名称服务器。
答案3
有效地更改配置、执行测试,然后回滚(如果需要)是可以的。由于缓存机制,受影响的用户数量将非常少。
我记得我的一个 DNS 服务器出现问题,一个用户在它坏了大约 1 小时后告诉我它坏了。那时,我打电话给另一个用户,我知道他正在使用相应的 RR(他已连接到相应的 Web 服务),并且一切正常(RR 仍在缓存中)。
使用该hosts
文件不是测试配置的正确方法,因为它完全绕过了解析机制。测试 DNS 配置的最佳方法是明确询问所需的 DNS 服务器
dig @wantedserver <other_option> mydomain