При попытке построить длинную SPF-запись в виде:
example.com. 86400 IN TXT "v=spf1 ip4:1.2.3.0/24 include:example.net include:_my_whitelist.example.com -all"
_my_whitelist.example.com. 86400 IN TXT "v=spf1 ip4:... " " ip4:..."
... так что белый список запись длиннее 255 байт. Я понимаю, что это действительный способ создания более длинных ответов DNS (http://www.openspf.org/RFC_4408#multiple-strings говорит, что они должны быть объединены вместе и рассматриваться как одно целое), и некоторые решатели довольны этим. Однако некоторые из них не удается решить - например, решатель Ubuntu 18.04, который утверждает, что записи TXT нет.
Это проявляется при использовании host
команда как:
$ host -t txt _my_whitelist.example.com
_my_whitelist.example.com has no TXT record
systemd
?Выяснились две возможные проблемы:
Созданные нами записи DNS были разделены на 255-байтовую границу. Уменьшение этого значения до 248 байт, похоже, устранило проблемы.
Решатель Ubuntu имеет ожидаемое поведение где по умолчанию он не предлагает локальную службу разрешения TCP, поэтому host
вернуться к TCP, чтобы выполнить поиск, не удалось - я думаю! https://github.com/systemd/systemd/issues/6520