Em quais clientes modernos os nomes de hosts DNS que contêm sublinhado NÃO funcionam?

6

A RFC 2181 liberalizou os caracteres aceitáveis em nomes DNS em 1997. Mas as pessoas ainda parecem nervosas quanto ao uso de sublinhados em nomes de host. (Por exemplo, o GoDaddy não venderá um domínio de segundo nível com um sublinhado, como "this_bites.com")

Em alguns minutos de teste, um nome de host de terceiro nível que contém sublinhado "funciona" em tudo no meu escritório. (por exemplo, that_guy.example.com, meu host de DNS é o Amazon Route 53)

Ele "funciona" apenas no Win XP e no Win 7, Mac OSX 10.7, IE8 e 9, Firefox moderno, Safari e Chrome.

Onde posso esperar que não funcione?

(Por que me importo? Estou atribuindo máquinas virtuais aos alunos e quero usar o ID de usuário que eles escolheram no nome do host para lembrá-los de que suas ações na caixa são diretamente atribuíveis a eles. Infelizmente, grande porcentagem de IDs de usuário de estudante preexistentes contém sublinhados.)

    
por Jeremy Wadhams 30.01.2013 / 23:05

3 respostas

8

Para ficar bem claro, os sublinhados sempre foram permitidos no DNS desde o início. RFC 1034 diz o seguinte sobre a sintaxe dos rótulos:

3.5. Preferred name syntax

The DNS specifications attempt to be as general as possible in the rules for constructing domain names. The idea is that the name of any existing object can be expressed as a domain name with minimal changes. However, when assigning a domain name for an object, the prudent user will select a name which satisfies both the rules of the domain system and any existing rules for the object, whether these rules are published or implied by existing programs.

Isso significa que: se você colocar nomes de host no DNS, restrinja-se às regras para nomes de host. Se você colocar domínios de e-mail, restrinja-se às regras de RFC 822 Se você colocar DKIM ou ENUM registra no DNS (que não são nomes de host), restrinja-se à sintaxe desses protocolos. Se você colocar outra coisa, siga a sintaxe apropriada. Mas o próprio DNS não irá restringir você.

O RFC 1034 faz uma sugestão de conservação na sintaxe que especifica rótulos sem sublinhados. Mas isso é apenas uma sugestão. Diz "A seguinte sintaxe resultará em menos problemas".

Então, com certeza, o GoDaddy está errado em negar "this_bites.com". Mesmo que os sublinhados sejam categoricamente proibidos nos nomes de host, talvez você queira preencher esse domínio com nomes DNS que representem algo diferente de nomes de host. Registradores DNS e provedores de serviço de nomes não devem permitir isso!

A próxima pergunta é: os sublinhados são permitidos em nomes de host reais?

O RFC 1034 diz sobre nomes de host que "as regras antigas para HOSTS.TXT devem ser seguidas". Mas se as regras para o HOSTS.TXT eram antigas quando o RFC 1034 foi escrito, elas já são história antiga! O RFC 1034 foi escrito como uma época em que nomes de usuários geralmente não podiam exceder 8 caracteres e tudo era ASCII. O mundo mudou.

Eu diria que não há um único conjunto de regras que defina o que é um nome de host válido. Depende apenas do que o software em uso suporta como caracteres que podem ser parte dos nomes de host que ele usa para os sistemas se designarem e aos pares. Por "software" quero dizer todos os softwares que lidam com nomes de host de uma forma ou de outra, do sistema operacional através de agentes de monitoramento de rede e tudo mais.

Se você está razoavelmente seguro de que não há nada em seu ambiente que sufoque um nome de host que contenha um sublinhado (e acho que, nos dias de hoje, isso é uma boa suposição), então acho que você está seguro para usar eles.

Se <<> existe algo impedindo que você use sublinhados em nomes de host, não é DNS, e nunca foi.

    
por 30.01.2013 / 23:40
1

O Android e o Java parecem ter problemas com sublinhados em domínios. Em particular, a classe URI em Java não conseguirá analisar um URI adequadamente e lançar UnknownHostExceptions.

    
por 19.01.2015 / 21:03
0
O

RFC2181 apenas esclareceu as mesmas regras vigentes (nunca foi o próprio DNS que sublinhado não permitido).

O fator limitante em relação aos nomes de host é especificamente a definição de um nome de host da Internet e isso não é alterado por RFC2181.

Para fins de compatibilidade, acho que só faz sentido recomendar o uso de regras de nome de host da Internet para nomes de host (essencialmente a recomendação que está na especificação DNS), enquanto outros tipos de nomes terão regras diferentes.

Quanto a saber se um registro ou registrador individual deve impor regras de nome de host da Internet em nomes de domínio é discutível.
A grande maioria dos registrantes vai usar seus nomes de domínio para nomes de host e, nesse sentido, tal regra faz algum sentido, mas do ponto de vista purista do DNS, não há razão para tal regra.

    
por 19.01.2015 / 22:55