Fiz isso com outros provedores de DNS, mas estou preso na interface de gerenciamento de DNS do UltraDNS. Preciso inserir vários valores em uma TXT
entrada para que eles sejam resolvidos como uma única string com cada valor entre marcas "e separados por um espaço.
Um exemplo do que queremos que o registro TXT retorne é o seguinte (usando dig para Linux para testá-los):
;; ANSWER SECTION:
name._avaya-ep-config._tcp.example.com. 119 IN TXT "txtvers=1" "proto=https" "path=/acs/resources/configurations"
Porém, o suporte do UltraDNS disse que temos que inseri-los como TXT
registros separados - quando fazemos isso ele retorna o seguinte e o software que está procurando esse TXT
valor não o reconhece e não funciona:
;; ANSWER SECTION:
name._avaya-ep-config._tcp.example.com. 218 IN TXT "proto=https"
name._avaya-ep-config._tcp.example.com. 218 IN TXT "txtvers=1"
name._avaya-ep-config._tcp.example.com. 218 IN TXT "path=/acs/resources/configurations"
Tentamos usar aspas duplas, usando \
para cotação por RFC, usando também por RFC - com base na RFC aqui: https://www.rfc-editor.org/rfc/rfc1464
Quando tentamos algumas das sugestões do exemplo RFC, a interface web do UltraDNS não nos permitiu inseri-lo, dizendo que tínhamos que inserir apenas caracteres ASCII (que eram todos, mas também eram códigos para outros conjuntos de caracteres ASCII).
Entrada inválida: apenas caracteres ASCII são suportados para comentários
Ao entrar assim por exemplo:
\txtvers=1\"<sp>\"proto=https\"<sp>\"path=/acs/resources/configurations\
O software também usa SRV
e PTR
registra e funciona - só não está obtendo nosso caminho do TXT
valor como deveria devido a esse problema de formatação.
Responder1
O que é importante reconhecer aqui é que um TXT
registro pode ter valores múltiplos, com os dados do registro contendo uma ou mais strings, cada uma com até 255 caracteres de comprimento.
Ou seja, um TXT
registro com vários valores e vários TXT
registros com um valor cada não são a mesma coisa e não se deve esperar que sejam interpretados da mesma forma.
O que você mostrou inicialmente não é na verdade um TXT
disco que tenhauma única string com cada valor entre "marcas e separadas por um espaçomas sim um TXT
registro que possui três valores de string separados que não contêm aspas ou espaços.
Esse entendimento é particularmente importante porque uma das coisas que você tentou fazer em suas tentativas de resolver o problema envolvia escapar desses caracteres que são usados para fins de formatação, mas que na verdade não fazem parte do valor.
Para qualquer software que entenda e use o DNSformato de arquivo mestre(representação de texto padrão de registros DNS), o que você incluiu inicialmente ... TXT "txtvers=1" "proto=https" "path=/acs/resources/configurations"
seria entendido e interpretado como um TXT
registro com três valores de string separados ( txtvers=1
, proto=https
, path=/acs/resources/configurations
).
Se o seu provedor de serviços tiver uma interface que não aceita essa forma de entrada e não fornecer nenhum outro meio de inserir vários valores (a resposta que você recebeu deles sugere que pode muito bem ser o caso), pode não haver como inserir o registro desejado em seu sistema.
Se esse for realmente o caso, você pode ter que hospedar este registro em outro lugar (incluindo opções como não mover sua zona completa, mas ter o TXT
registro desejado em uma zona diferente hospedado em outro lugar e apenas adicionar um CNAME
ponto lá, desde que o software em questão não discorda de alguma forma disso).
Dito isto, em usos especializados TXT
como parte de outros padrões, é mais comum (com exemplos generalizados como SPF e DKIM) definir o uso de vários valores de string em um TXT
registro apenas como um meio de permitir valores longos e definir que todos os valores da string devem simplesmente ser concatenados antes da interpretação posterior, em vez de usar algum delimitador interno (normalmente ;
) para conteúdo de vários valores dentro daquela string única e potencialmente longa.
É muito possível que o seu provedor de serviços tenha olhado especificamente para o cenário muito comum de “valor longo” e apoie isso de uma forma ou de outra (especialmente provavelmente por causa do DKIM).
De qualquer forma, se o design do software que consome esses registros depende de você, pode ser uma ideia melhor simplesmente obedecer à norma a esse respeito e usar a mesma abordagem para armazenar conteúdo de vários valores usada em em vez disso , essas TXT
especializações generalizadas. (No entanto, tal alteração teria obviamente impacto na compatibilidade com os registos existentes se este sistema já estiver em uso).
Responder2
Solução alternativa: adicione o registro TXT conforme abaixo
parmset=txtvers=1,proto=https,path=/acs/resources/configurations
Espero que isso seja útil