以链接链为背景的Linode标志。”class=

Linode DNS管理器陷阱:没有三种记录规范化

三种记录到您的DNS区域,以包含SPF、DKIM或此类DNS记录中保存的许多其他类型的数据记录中的任何一种。如果您曾经在DNS上做过任何工作,您就会知道值三种记录必须用引号括起来。我使用的所有基于网络的DNS管理工具都拒绝保存没有DNS的记录字符中的第一个和最后一个字符三种记录。

假设我在Linode DNS管理器中创建了两条新记录。我输入了准确的输入值“测试”“测试”(最后一个以空格字符结尾的)。

除了它看起来是一个完全相同的复制品三种记录——这是不允许的;这两条记录在Linode DNS管理器中看起来是正确的:

TXT记录在Linode DNS管理器”loading=

上面的表示,引号和所有,是如何三种记录显示在其他服务提供商的DNS管理器中,包括GoDaddy, Hurricane Electric, Uniregistry, Amazon AWS Route 53, cPanel, Dyn,也是DNS区域文件中条目的准确表示。

为这两个条目生成的DNS区域文件将显示,事情并不像它们看起来那样好:

ctrl.blog。604800 TXT "\34test\34" ctrl.blog。604800 TXT "\34test\34 "

在我二十年的网站维护和DNS维护中,我从来没有创建过类似的混乱。有两个明显的问题:

  1. 任何知道自己的ASCII表的人都会立即认出来\ 34表示的小数形式。换句话说,我前面输入的哑引号被转义,并作为三种记录的值。
  2. 您还可以看到,第二个条目并不是完全匹配的,因为前导和末尾的空白没有从用户输入中删除。

如果我用了一个DNS管理器*咳嗽*如果我是合格的DNS提供商,我就不可能创建这些条目而不自己转义引号来自愿创建一个奇怪的三种记录。

我不会说这在我使用过的其他DNS服务提供商那里永远不会有问题,它们都有自己独特的怪癖。但是,我用过的任何一种方法都不会让我造成这种混乱。我在其他一些DNS提供商的web接口上做了一些快速测试,它们都去掉了空白——就像人们复制粘贴示例一样——它们要么要求我删除或插入引号,要么在不发出任何警告的情况下处理这两个变体。

我认为这是对使用DNS提供商的DNS服务的一次打击,这些提供商并不严格从事DNS业务。专门的服务和工具确实比捆绑在另一种服务中提供便利的免费服务做得更好。

测试三种记录

您可以快速验证您的三种记录看起来应该在FreeBSD、Linux和macOS上使用以下命令:

挖example.com TXT

或在Windows PowerShell:

Resolve-DnsName -name example.com类型的TXT

dig程序逐字打印DNS记录,但是Resolve-DnsNamecommandlet将替代包装“…”人物与{…}

结束对Linode DNS的思考

你可以从Linode而非类似的替代品,如DigitalOcean。

我希望Linode DNS能够支持基于地理/延迟的DNS响应(“Geo DNS”)。增加这项服务后,客户可以更容易地将流量导向最近的Linode数据中心,而无需依赖第三方DNS服务提供商,如亚马逊AWS Route 53。对我来说,这听起来像是Linode客户会使用的一个明显的特性基于次优的DNS管理器和