Posso ter pontos em um hostname?

21

Estou usando nomes como a.alpha para o nome do host da minha caixa linux, mas parece que esses nomes não são completamente utilizáveis. A resposta de um comando shell hostname está correta (a.alpha). Mas o nome impresso depois da minha conta de usuário é "user @ a" em vez de "[email protected]". Quando eu uso avahi, eu posso alcançar (por hostname) a.alpha, mas não b.alpha. Isso é normal?

    
por benzen 31.01.2011 / 21:31

5 respostas

21

Chopper está certo. Devido a como o DNS funciona, o componente "alfa" de "a.alpha" é considerado um 'rótulo' discreto no DNS. Usar um nome de host com um ponto causará resultados inconsistentes de qualquer sistema que consuma o DNS.

O Avahi interage com os nomes DNS e, especificamente, a diretiva <host-name> precisa ter o FQDN do DNS do serviço, portanto, também está sujeito à inconsistência de DNS com nomes pontilhados.

Não use nome pontilhado.

    
por 31.01.2011 / 22:06
16

Você está solicitando problemas com esse esquema de nomenclatura devido ao DNS, considere o a-alpha.

    
por 31.01.2011 / 21:36
1

Como outras pessoas mencionaram, você definitivamente deseja evitar pontos em seus nomes de host devido ao DNS, e também descobri que isso pode causar um problema se você estiver usando certificados curinga para executar SSL, já que os certificados curinga serão apenas curingas para um nível de um subdomínio. Portanto, se o seu certificado curinga for * .mycompany.com, mas você tiver um nome de host que seja a.alpha, o certificado curinga poderá não funcionar se tratar "alfa" como um subdomínio.

    
por 04.05.2017 / 21:12
0

A resposta correta definitivamente "não faça isso", como dito acima.

Para alguma leitura possivelmente útil e definitivamente tangencial, por favor, continue:

Você está falando sobre resolução de DNS ou seu prompt de linha de comando? Se você quiser consertar seu prompt de linha de comando, basta mexer com $ PS1 (ou similar equivalente não-bash / sh, quando aplicável).

Se você realmente deseja que a.alpha seja um nome de host que resolva um endereço IP nas interwebs, você pode fazê-lo, mas isso pode envolver um subdomínio para cada sufixo de nome de host (EG alfa, beta etc.).

É até possível que você configure seu servidor DNS para funcionar sem criar subdomínios. Você pode servir o endereço IP dos servidores de nomes de um subdomínio nos arquivos de zona do domínio pai, por isso pode "apenas funcionar". Isso ocorre porque quando alguém pergunta ao seu servidor DNS o endereço IP de a.alpha.examaple.com, eles perguntam ao servidor DNS por example.com e, se esse servidor DNS já tiver o endereço, ele responderá com a resposta , em vez de tentar entregá-lo ao servidor autoritativo do subdomínio. Ele pode ficar sobrecarregado com a SOA ausente ... então talvez você adicione um registro A para cada prefixo de host e uma SOA para cada sufixo de host. Sim, esse é o bilhete ...

Tudo na Internet ainda considera seu nome de host 'a' e seu domínio é alpha.example.com.

    
por 04.05.2017 / 21:32
0

O hostname completo do host é tipicamente o FQDN (domínio totalmente qualificado) do domínio, e no linux deve ser a saída de host --fqdn , com a parte antes do primeiro ponto ser considerado o apelido do host. No entanto, diferentes sistemas (Linux, SunOS, o que for) implementaram o conceito "hostnick" de várias maneiras. Tais como:

  • / etc / hostname contém apenas o hostnick e o restante está em / etc / domainname
  • / etc / hostname contém todo o FQDN, e o domínio é também em / etc / domainname
  • O nome do domínio existe somente na configuração YP / NIS
  • O nome do domínio existe apenas em certos subsistemas, em vez de ser um sistema global
  • (outras abordagens geralmente mais estranhas)

Além disso, a ideia de um hostnick é um pouco variável:

  • A parte do FQDN antes do primeiro ponto
  • Parte do lado esquerdo do FQDN, expressa exclusivamente sem um ponto final
  • A parte do FQDN antes do nome de domínio real (conforme definido em algum lugar)

E, para complicar ainda mais as coisas, o comando host do host bind9 viola os padrões de DNS por ter uma opção -N <int> para controlar se os domínios de pesquisa são usados ou não. Isso interrompe as pesquisas de DNS de várias maneiras, dependendo do cenário. O DNS deve procurar qualquer nome com um ponto final como sendo literalmente o que procurar e, para outros nomes, pesquisá-los com os domínios anexados do /etc/resolv.conf até que uma correspondência seja encontrado ou todos eles falham (esses domínios têm implicitamente um ponto final). [Isso é da memória, por favor, comente se o processo geral foi alterado em um RFC que eu perdi]

Como tal, se você usar pontos no seu hostnick, o comando host provavelmente irá falhar, quebrando scripts que o usam para pesquisas. Eu pessoalmente acho insondável que host esteja quebrado, e parece que até hoje está quebrando uma pesquisa em um sistema em minha rede doméstica, já que eu tenho IPv4 e -v6 em casa, e tenho nomes como .v4. como extra, formulários curtos específicos da versão, que host falha ao procurar, mesmo que ping os encontre bem.

Era extremamente raro tentar colocar pontos em hostnicks de qualquer maneira, então mesmo sem o braindamage de host , eu recomendaria que ficasse com hosts sem ponto, mesmo a partir de uma perspectiva semântica simples.

    
por 29.01.2018 / 18:10