Posso avere punti in un nome host?


23

Sto usando nomi come a.alpha per il nome host del mio box Linux, ma sembra che questi nomi non siano completamente utilizzabili. La risposta di un comando shell hostname è corretta (a.alpha). Ma il nome stampato dopo il mio account utente è "user @ a" anziché "user@a.alpha". Quando uso avahi, posso raggiungere (con il nome host) a.alpha, ma non b.alpha. È normale?

Risposte:


23

Chopper ha ragione. A causa del funzionamento del DNS, il componente "alpha" di "a.alpha" è considerato un'etichetta "discreta" nel DNS. L'uso di un nome host con un punto causa risultati incoerenti da qualsiasi sistema che utilizza DNS.

Avahi interagisce con i nomi DNS e in particolare la <host-name>direttiva deve contenere il nome di dominio completo DNS del servizio, quindi è anche soggetta a incoerenza DNS con i nomi punteggiati.

Non usare il nome punteggiato.


Questo è corretto, ma necessita di riferimenti per essere considerato una risposta affidabile. Qualcuno che dice "A causa del funzionamento del DNS" su Stack Overflow non dimostra nulla.
mikemaccana,

È rigida regola che il nome host non possa contenere '.' ?
Dinesh Kumar P

1
@DineshKumarP Sì. Le RFC DNS descrivono il carattere punto come delimitatore tra le etichette DNS. Mentre i servizi non DNS come Avahi o SLP possono consentirlo, il DNS stesso non lo consente.
sysadmin1138

Questo non è del tutto giusto. DNS è perfettamente felice di consentire i punti nelle etichette, sebbene suggerisca la conformità a una sintassi limitata (la "regola LDH"; vedere tools.ietf.org/html/rfc1035#section-2.3.1 ). Le applicazioni del DNS, come l'archiviazione dei nomi host in DNS, sono in gioco con restrizioni sulla sintassi dell'etichetta DNS.
Tony Garnock-Jones,

17

Stai chiedendo problemi con quello schema di denominazione dovuto al DNS, considera invece a-alpha.


Ho posto la stessa domanda su askubuntu e nessuno può rispondermi. Quindi userò questo metodo
benzen,

1

Come altri hanno già detto, vuoi sicuramente evitare i punti nei tuoi nomi host a causa del DNS, e ho anche scoperto che questo può dare un problema se stai usando certificati con caratteri jolly per eseguire SSL, poiché i certificati con caratteri jolly faranno jolly solo per un livello di un sottodominio. Quindi, se il certificato jolly è per * .mycompany.com, ma hai un nome host che è a.alpha, il certificato jolly potrebbe non funzionare se considera "alpha" come sottodominio.


1

Il nome host completo di un host è in genere il nome di dominio completo equipaggiato con dominio (nome di dominio completo), e in Linux dovrebbe finire per essere l'output di host --fqdn, con la parte prima che il primo punto sia considerato il soprannome dell'host. Tuttavia, diversi sistemi (Linux, SunOS, qualunque cosa) hanno implementato il concetto di "hostnick" in vari modi. Ad esempio:

  • / etc / hostname contiene solo l'hostnick e il resto è in / etc / domainname
  • / etc / hostname contiene l'intero nome di dominio completo e il dominio è anche in / etc / domainname
  • Il nome di dominio esiste solo nella configurazione YP / NIS
  • Il nome di dominio esiste solo in alcuni sottosistemi invece di essere un sistema globale
  • (altri, generalmente approcci più strani)

Inoltre, l'idea di un hostnick è una piccola variabile:

  • La parte del nome di dominio completo prima del primo punto
  • Una parte sinistra del nome di dominio completo, espressa esclusivamente senza punto finale
  • La parte del nome di dominio completo prima del nome di dominio effettivo (come impostato da qualche parte)

E, per complicare ulteriormente le cose, il hostcomando di bind9-host viola gli standard DNS avendo -N <int>un'opzione per controllare se vengono utilizzati o meno i domini di ricerca. Ciò interrompe le ricerche DNS in vari modi a seconda dello scenario. Il DNS dovrebbe assumere qualsiasi ricerca di un nome con un punto finale come letteralmente cosa cercare, e per altri nomi, cercarli con domini aggiunti dal /etc/resolv.confmomento in cui viene trovata una corrispondenza o falliscono tutti (quei domini implicitamente hanno un punto finale). [Questo è dalla memoria, si prega di commentare se il processo generale è stato modificato in un RFC che ho perso]

Pertanto, se usi punti nel tuo hostnick, il hostcomando probabilmente fallirà, rompendo gli script che lo usano per le ricerche. Personalmente trovo insondabile che hostsia rotto, e sembra che anche oggi stia interrompendo una ricerca su un sistema nella mia rete domestica, dal momento che ho sia IPv4 che -v6 a casa, e ho nomi come .v4. come moduli brevi extra specifici per la versione, che hostnon riescono a cercare anche se pingli trovano perfetti.

Era estremamente raro tentare di mettere punti in hostnick comunque, quindi anche senza hostil Braindamage, avrei raccomandato di attaccare hostnick senza punti anche da una semplice prospettiva semantica.


0

La risposta corretta sicuramente "non farlo", come indicato sopra.

Per alcune letture forse utili e decisamente tangenziali, continua:

Stai parlando della risoluzione DNS o del prompt della riga di comando? Se si desidera correggere il prompt della riga di comando, giocherellare con $ PS1 (o equivalente non-bash / sh simile ove applicabile).

Se vuoi davvero avere a.alpha essere un nome host che si risolve in un indirizzo IP sugli interwebs, puoi farlo, ma ciò potrebbe comportare un sottodominio per ogni suffisso del nome host (eg alpha, beta etc ..).

È anche possibile che tu possa configurare il tuo server DNS per funzionare senza creare sottodomini. Puoi fornire l'indirizzo IP dei server dei nomi di un sottodominio nei file di zona del dominio padre, quindi potrebbe "funzionare". Questo perché quando qualcuno chiede al tuo server DNS l'indirizzo IP di a.alpha.examaple.com, chiede al server DNS per esempio.com, e se quel server DNS ha già l'indirizzo in giro, risponderà con la risposta , piuttosto che provare a consegnarti al server autorevole del sottodominio. Potrebbe essere infastidito attorno alla SOA mancante ... quindi potresti aggiungere un record A per ciascun prefisso host e una SOA per ogni suffisso host. Sì, questo è il biglietto ...

Tutto su Internet continuerà a pensare che il tuo nome host sia "a" e il tuo dominio sia alpha.example.com.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.