Inserindo vários valores DNS TXT como uma única entrada TXT, com cada valor entre marcas ", mas separados por espaços

Inserindo vários valores DNS TXT como uma única entrada TXT, com cada valor entre marcas ", mas separados por espaços

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 TXTentrada 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 TXTregistros separados - quando fazemos isso ele retorna o seguinte e o software que está procurando esse TXTvalor 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 SRVe PTRregistra e funciona - só não está obtendo nosso caminho do TXTvalor como deveria devido a esse problema de formatação.

Responder1

O que é importante reconhecer aqui é que um TXTregistro 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 TXTregistro com vários valores e vários TXTregistros 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 TXTdisco que tenhauma única string com cada valor entre "marcas e separadas por um espaçomas sim um TXTregistro 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 TXTregistro 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 TXTregistro desejado em uma zona diferente hospedado em outro lugar e apenas adicionar um CNAMEponto lá, desde que o software em questão não discorda de alguma forma disso).

Dito isto, em usos especializados TXTcomo 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 TXTregistro 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 TXTespecializaçõ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

informação relacionada