我有一个 SPF TXT DNS 记录,它太长,无法通过 UDP 提供服务。它通过 TCP 进行验证,但性能不如 UDP。我知道 TXT 记录可以分成多行。它们应该如何格式化?
答案1
看RFC 7208 第 3.4 节。我只想补充一点,绝大多数名称服务器软件(例如 DJB TinyDNS 除外)都实现了 EDNS0,最常协商的 UDP 数据包大小为 4096,而防火墙现在默认允许最多 4096 字节的 DNS UDP 数据包,因此,如果必须,您通常可以使用长度最多为 4000 左右的较大 SPF 格式 TXT 记录。但是,如果您无法容纳 255 个字符,那么您可能缺少一种更简单的方法来做您需要的事情。
答案2
我知道 TXT 记录可以分成多行
如果您将记录分成多行,记录不会变短。您仍然需要在单个 DNS 响应中获取所有行来解析 SPF 记录。
但您可以做的是从单个 SPF 记录引用其他 SPF 记录,从而将其分散到多个 DNS 响应中,这当然会影响性能。示例:
example.com - v=spf1 ... include:more.example.com -all
more.example.com - v=spf1 ... more settings here ..