I comandi Linux: la rete ( 2 ) | ALTRI capitoli | |||
I comandi "
che conserva più copie dello zone file in più Name Server:
Il file di zona è un database, organizzato in un file di testo, in cui sono memorizzate alcune informazioni relative a ciascuno dei domini e dei sottodomini compresi nella zona ( spazio dei nomi ) di competenza. In questo database, vengono inseriti, per ciascun host o per ciascuna rete di competenza, una serie di record ( Resource Record o RR ), ciascuno dei quali contenente un pezzo di informazione relativo al singolo host o ad una singola rete: il record A, per esempio, contiene l'indirizzo IP, versione 4, del singolo host, mentre il record AAAA, se presente, ne contiene l'indirizzo IP versione 6. Il record NS, invece, contiene i nomi dei name server che hanno in gestione l'area di competenza ( lo spazio dei nomi a dominio ), alla quale il singolo host o la rete appartengono. Ogni record può appartenere ad una classe ( protocollo ) specifica: IN ( Internet ), la più importante, visto che le altre due sono o scomparse oppure utilizzate solo in alcune reti particolari, CH ( Chaosnet ), HS ( Hesiod ). Naturalmente, il tipo di record più importante è A, dove viene indicata la corrispondenza tra nome di dominio ed indirizzo IP. E' importante ricordare che il file di zona è sotto la diretta responsabilità di chi detiene la delega per il nome di dominio o i nomi di dominio appartenenti ad un preciso spazio dei nomi. Nel nostro caso, trattandosi dello spazio dei nomi
L'ente che gestisce lo spazio dei nomi radice è IANA ( Internet Assigned Numbers Authority ). IANA, ovviamente, gestisce il proprio zone file che conserva in più Name Server, che, in questo caso specifico, vengono chiamati Root Name Server ( IANA Root Name Server ):
I name server di un determinato dominio possono essere duplicati per ragioni di sicurezza e di stabilità del sistema. Questo è particolarmente importante per i name server radice che, se non funzionanti, impedirebbero a chiunque, nel mondo, di accedere alla rete Internet. Un Name Server deve conoscere i nomi e gli indirizzi IP dei Root Name Server: quando ha bisogno di trovare l'indirizzo IP di un computer ( host ) qualsiasi, infatti, il resolver può solo contattare il name Server locale. Se il Name Server locale verifica che il nome di dominio ricercato è presente nella sua cache, invia l'indirizzo IP associato al resolver, senza effettuare alcuna connessione a Name Server esterni. Se, al contrario, il Name Server locale non trova l'indirizzo IP del nome di dominio ricercato nella propria cache:
Quindi, nel caso di un Name Server iterativo, l'invio delle interrogazioni ai vari Name Server interessati verrà fatto dal resolver, mentre, nel caso di un Name Server ricorsivo, l'invio delle interrogazioni ai vari Name Server interessati verrà fatto direttamente dal Name Server locale, che, alla fine del processo, invierà al resolver l'indirizzo IP ricercato. Nel caso di un reverse lookup ( trovare il nome di un server, a partire dal suo indirizzo IP ), il meccanismo non è molto diverso: abbiamo un dominio radice a nostra disposizione: IN-ADDR.ARPA. Per esempio, per eseguire il comando:
in cui IN-ADDR.ARPA è uno speciale dominio nel quale vengono registrati gli indirizzi IP, versione 4, ceduti a terzi. IN-ADDR.ARPA è la radice di questo dominio. Per gli indirizzi IPv6, il dominio radice è: IP6.ARPA. Al primo livello dello spazio degli indirizzi, troveremo i primi 256 indirizzi IP assegnati, tra i quali ci sarà 62. Al secondo livello di ciascun indirizzo IP di primo livello, troveremo altri 256 indirizzi IP, tra i quali ci sarà 62.149. E così via. Seguendo la sintassi utilizzata per i nomi a dominio, ma in un ordine inverso: se in un nome a dominio il nome della singola macchina è posto alla sinistra, mentre la radice dei domini è a destra:
in un indirizzo IP l'ordine è invertito: il primo ottetto alla sinistra indica la rete ( 62, nel nostro esempio ), mentre l'ultimo ottetto alla destra indica la singola macchina ( 160, nel nostro esempio ). L'indirizzo IP completo viene, quindi, rappresentato nel modo seguente:
La responsabilità dell'organizzazione delegata al mantenimento di uno spazio di indirizzi consiste nella creazione, all'interno del suo file di zona, di un record PTR ( Pointer Record ), nel quale un indirizzo IP viene associato al nome di una macchina.
Il comando
oppure in modo interattivo:
dove
Restando in modalità interattiva, per effettuare una ricerca dell'indirizzo IP di un nome di dominio, è sufficiente inserire il nome di dominio:
Da notare il punto finale che segue ogni nome di server, compreso il punto finale. E' sempre meglio ricordarsi di aggiungere anche il punto finale, per far sì che
Questo è l'output che dovreste ricevere in risposta:
Oltre all'indirizzo IP ( 62.149.128.160 ) associato al server
Un'altra informazione importante restituita da
La chiave
dal quale apprendiamo che lo spazio dei nomi di appartenenza è
Proviamo, allora, ad eseguire la stessa interrogazione, ma chiedendo a
oppure con il comando
In entrambi i casi, abbiamo chiesto a
ed otterremo una risposta autorevole:
Il comando:
accetta tutti i campi previsti in un file di zona:
E' possibile richiedere tutti i campi disponibili, usando ANY come valore di
E' ovvio che alcuni campi del file di zona potrebbero non essere stati impostati, visto che la responsabilità di questi campi è dell'amministratore del server. Il comando
che, in realtà, non imposta nulla, ma restituisce tutti i valori presenti. Ci sono due parametri, molto utili, da un punto di vista diagnostico, che richiedono una attenzione particolare.
Questi due comandi impostano due livelli differenti di verbosità dell'output, output nel quale verranno mostrate informazioni aggiuntive, spesso molto utili alla comprensione dei valori ricevuti. Il valore di default di questi due parametri è:
Se attiviamo il primo livello di debug:
il livello superiore, d2, resta " off ". Il livello d2, infatti, deve essere attivato, con il comando corretto:
Normalmente,
dove "vc" indica "Virtual Circuit", cioè TCP. L'impostazione di default è "novc", che porta
che dice a
dice a
In caso contrario, infatti,
inviando una nuova interrogazione con un nome di dominio parziale, quale:
il comando
Il che non sarebbe esattamente ciò che cercavamo.
Il comando
In questo esempio, interroghiamo il Name Server
Come per
Il valore di default di
E' possibile anche ottenere una risposta più concisa:
Per eseguire un reverse lookup, utilizzare l'opzione
Una funzione molto interessante è quella attivata dal comando
Il comando
Il comando
dove
che dice a Ai primordi di Internet, quando ancora la sola rete esistente era ARPANET, esisteva una sola organizzazione che gestiva tutte le registrazioni dei nomi di dominio: DARPA. Quindi, esisteva un solo server centrale che conteneva tutte le informazioni relative a tutti i nomi a dominio esistenti: le interrogazioni WHOIS, quindi, erano molto semplificate. Quando ARPANET divenne Internet, negli anni '80, la National Science Foundation (NSF, un'agenzia governativa degli Stati Uniti che sostiene la ricerca e la formazione di base in tutti i campi non-medici della scienza e dell'ingegneria) stabilì che la registrazione dei nomi a dominio dovesse essere gestita da entità commerciali terze. InterNIC, Internet Network Information Center, fu fondata nel 1993 dalla National Science Foundation, ed era responsabile dell'allocazione dei nomi a dominio e degli indirizzi IP. Più tardi, nel 1998, InterNIC, con IANA (Internet Assigned Numbers Authority), fu messa sotto il controllo della Internet Corporation for Assigned Names and Numbers (ICANN), un'organizzazione noprofit alla quale lo US Department of Commerce assegnò il compito di gestire molte e diverse mansioni relative a Internet. InterNIC era raggiungibile all'indirizzo web:
InterNIC, a sua volta, appaltò i vari compiti a lei assegnati a 3 aziende esterne: Network Solutions (acquisita, nel 2000, da Verisign), AT&T, General Atomics. Nel 1999, la gestione dei TLD (Top-Level Domain):
venne assegnata a ICANN. Nel 2005, il numero dei top-level domain era cresciuto enormemente, soprattutto per il sopraggiungere di molti nuovi country-code (top-level domain di vari paesi, diversi dagli USA). Questo portò alla nascita di una complessa rete di Registry e Registrar, che andavano a comporre la nuova infrastruttura internazionalizzata di Internet. I Registry sono entità che gestiscono i top-level domain. Un Internet registry è responsabile della allocazione e assegnazione degli indirizzi IP ai computer, ai siti web, agli information system, agli autonomous system, a qualsiasi altra entità. Esistono due tipi di Internet registry:
Al momento esistono cinque Regional Internet Registry (RIR) nel mondo, ciascuno con la propria area di competenza:
Di Local Internet Registry (o Registrar), ovviamente, ce ne sono molti di più, ma ciascuno di essi opera su concessione rilasciata dal Regional Internet Registry (RIR) di competenza. Ciascuno di questi soggetti, Regional Internet Registry (RIR) e Local Internet Registry (o Registrar) mantiene un proprio database WHOIS. Mentre i database dei Regional Internet Registry (RIR) mantengono quelli che vengono definiti thin record (record sottili), contenenti solo le informazioni sui Local Internet Registry (o Registrar), i database dei corrispondenti Local Internet Registry (o Registrar) mantengono quelli che vengono definiti thick record (record spessi), contenenti le informazioni dei soggetti registranti, cioè dei reali detentori dei domini. Il comando whois cerca un oggetto in uno dei database WHOIS. WHOIS, in realtà, è un vero e proprio protocollo di interrogazione, descritto nella RFC 3912. Se i comandi
Ma, attenzione: se non specificate un server WHOIS da interrogare, il comando interrogherà il database del Regional Internet Registry (RIR) di competenza, responsabile di quel TLD (top-level domain), restituendovi, quindi, il thin record, che, come abbiamo visto, non contiene informazioni sul detentore finale del nome di dominio. Eseguendo, per esempio:
otterremo informazioni molto generiche, come la data di registrazione e la data di scadenza, con le informazioni sul Local Internet Registry (o Registrar) che ha effettivamente assegnato il nome di dominio, compreso l'indirizzo del suo server WHOIS:
Per ottenere informazioni sul reale detentore di un nome a dominio, quindi, dovremo specificare il server WHOIS del Local Internet Registry (o Registrar), al quale richiedere il thick record:
e, magari, una porta specifica:
ricordando, però, che alcuni Local Internet Registry (o Registrar) bloccano le interrogazioni WHOIS da linea di comando, veicolando l'utente sulle proprie pagine web, dove è possibile effettuare la stessa interrogazione, con la protezione CAPTCHA, così da limitare la possibilità di attacchi DoS (Denial of Service). Le versioni attuali di whois tentano di identificare il server corretto da interrogare per l'oggetto specificato. Se l'identificazione si rivela impossibile, whois si connette all'indirizzo:
per i NIC handle, oppure:
per gli indirizzi IP (IPv4, IPv6) e per i nomi di rete. Ricorda che per cercare un NIC handle, è necessario preporre un caratttere punto esclamativo prima del NIC (separato da uno spazio dal NIC stesso):
Una lista affidabile di server WHOIS è reperibile alla pagina Directory of Internet Whois Servers, aggiornata al marzo del 2004. Il NIC handle ( NIC: Network Information Center, presso lo Stanford Research Institute, SRI International, nato, originariamente, presso la Stanford University, nel 1946. Il Network Information Center gestiva il server NICNAME/WHOIS, dedicato agli utenti di ARPANET ) è un codice identificativo alfanumerico che viene assegnato al soggetto richiedente, al momento del rilascio di un nome a dominio o di un gruppo di indirizzi IP. Per ogni interrogazione inviata, è possibile richiedere il nome del server utilizzato:
Per consultare il file di help:
|
||||
I comandi Linux: la rete ( 2 ) | Le guide di .bit: contenuto originale |