Во-первых, вы должны более точно определить «получить все записи для домена».Кроме того, попутно, если вы находитесь на вершине зоны, вы не можете иметь CNAME
записей, потому что они не могут сосуществовать с какими-либо другими, а apex уже имеет NS
и SOA
записей по своему дизайну.
Во-вторых, не используйте тип ANY
для выполнения DNS-запросов.По каким-либо причинам это читается как ALL
, но оно не имеет этой семантики вообще и не даст ожидаемых результатов.ANY
в сторону рекурсивного кэширующего сервера имен вернет вам список текущих записей в кэше распознавателя, который НЕ всех записей, связанных с доменом.Фактически есть работа, чтобы полностью отказаться от этого (виртуального) типа, см .: https://datatracker.ietf.org/doc/draft-ietf-dnsop-refuse-any/ (и другие объяснения в нетехнических терминах на https://nelsonslog.wordpress.com/2016/09/07/dns-any-requests-are-deprecated/ или https://blog.cloudflare.com/what-happened-next-the-deprecation-of-any/)
Итак, выспросит: это нормально, но как тогда это сделать?
Затем он возвращается к первой точке. Вам нужно будет определить с типами записей, которые вы хотите (A
, AAAA
, TXT
и т. д.), а затем зациклите их, чтобы получить все из них. Это не всегда так просто, по крайней мере, по двум причинам: * TXT
в наши дни становится всеобщим уловом и переносит множество вещей: SPF, DKIM, DMARCи т. д. * и, в частности, для DKIM или аналогично для SRV, вам необходимо запрашивать домены с определенной структурой (например, _service._transport.example.com
для SRV), чтобы вы не могли "автоматически обнаруживать" все записи, вам нужно знать, какиетот, который вам нужен (или начните со списка для тестирования)
Я бы также рекомендовал вам указать, какие серверы имен вы используете, потому что, если он рекурсивный, вы получите результаты из его кеша со связанным с нимTTL, который может илиможет быть не то, что вы хотите / нужно.Поэтому вам лучше обратиться к (одному) авторитетному серверу имен домена.