Ubuntu14环境下添加DNS DKIM记录的分行分隔符选择问题
DKIM记录拆分与vi编辑器高亮问题解决方案
DKIM长记录拆分的分隔符选择
DNS协议规定TXT记录单段字符串长度上限为255字符,超过长度的DKIM记录需要拆分为多段字符串,段间不需要使用;或,作为分隔符,具体规则如下:
- 每段拆分后的内容都用双引号包裹,段与段之间仅用空格分隔,DNS服务器解析时会自动将所有引号内的内容无缝拼接为完整字符串,不会插入额外字符
- ;是DKIM语法本身的字段分隔符,仅能放在双引号包裹的记录内容内部,用来分隔
v=DKIM1、k=rsa、p=公钥内容等不同DKIM字段,不能放在引号外作为拆分记录的标记 - ,不属于DKIM语法规定的合法字符,也不是DNS TXT记录的拆分标记,绝对不能插入到记录内容或段间,否则会直接导致DKIM验签失败
以下是BIND区域文件中正确的DKIM记录拆分示例:
default._domainkey IN TXT ( "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3fK9xZ7yX2wV4uN6mP8qR0sT2vW5yU7iO9pA1sD3fG5hJ7kL9nM2pQ4rS6tV8wX0yZ2aB4cD6eF8gH0jK2lM4nO6pQ8rS0tV2wX4yZ6" "aB8cD0eF2gH4iJ6kL8mN0oP2qR4sT6vW8xY0zA2bC4dE6fG8hI0jK2lM4nO6pQ8rS0tV2wX4yZ6aB8cD0eF2gH4iJ6kL8mN0oP2qR4sT6vW8" )
如果使用域名服务商的面板配置DKIM,直接在TXT记录值里按顺序填写多段双引号包裹的内容即可,不需要加括号。
vi编辑器输入;后出现注释高亮的原因
Ubuntu 14环境下默认的vim编辑器会自动识别BIND区域配置文件格式,加载对应的语法高亮规则:
- BIND区域文件的语法规范中,未被双引号包裹的;就是注释起始标记,和很多配置文件用#标记注释的逻辑一致,;后的所有内容都会被配置解析器忽略
- 编辑时看到;后内容变成注释高亮,是vim的语法检测规则生效导致的,属于编辑器的正常显示效果,不代表配置写错了
- 只要DKIM内容里的;都放在双引号包裹的范围内部,哪怕显示为注释高亮,BIND加载配置时也会将其识别为记录内容的一部分,不会当成注释处理。如果觉得高亮干扰判断,可以在vi命令模式输入
:syntax off临时关闭语法高亮,不会修改文件实际内容。
内容的提问来源于stack exchange,提问作者Kostas Gr
相关产品推荐
相关产品推荐

