我正在我们的域上设置电子邮件身份验证,以允许通过我们的电子邮件服务提供商进行身份验证。
我的理解是 DNS 记录需要有任何; 转义,例如,\;
我只是想确保 ALL ; 应该逃脱。为此,我想确保我理解为什么需要转义。即,如果它是 b/c ;意味着一些特殊的东西,那么我怎么知道它什么时候不应该被转义,而应该有它的特殊含义呢?或者这在 DNS TXT 记录中具有特殊(和不同)含义,一般来说,对于 DKIM 设置的特殊用途,我们不希望它具有这种特殊含义(也许阅读记录的人会应用值)
此外,ESP 告诉我 DNS 正在“出于某种原因添加 \”(等待确认他们是否只是不理解它。
选择哪些特殊字符需要转义取决于所使用的名称服务器以及用于配置名称服务器的接口(例如,如果您使用基于 Web 的配置工具,它可能会自动
;
为您转义字符)。标准区域文件(由 RFC 1034/1035 定义)使用
;
字符开始注释。如果您没有反斜杠,则从分号到行尾的文本将被服务器忽略。请注意,
bind
不考虑;
在已引用字符串的内部开始注释并需要转义,但如果您这样做了,将处理它。这两个都应该产生相同的响应:另请注意,当您使用
dig
or时host
,那些打印的输出将在分号后添加反斜杠,原因早已被遗忘。一个 ; 是区域文件的注释字符,很像大多数 Linux 配置文件中的 #。它告诉 Bind 停止从 ; 一直到该行的末尾。
如果你有需要的性格;在 DNS 记录的内容中,您可以用“ ”将记录内容括起来,它将不作任何解释地显示出来。TXT 和 SPF 记录使用这种格式(取自 OpenDKIM 标准):
在我的区域文件中,我根本没有 \ 字符。注释值前面有一个 ;
我不确定你为什么需要包含一个转义的 ; 您的 DNS 记录中的字符。这意味着 Bind 会尝试将其解释为主机名或其他值。