Il DNS cosa è e come funziona

L’argomento DNS seppur molti lo possano dar per scontato è in realtà vasto motivo per cui in quest’articolo il mio scopo è solo quello di introdurlo e far capire a grandi linee cosa sia.

Dopo questa doverosa premessa andiamo a spiegare cosa è il servizio DNS.

La sigla DNS sta per Domain Name System (tradotto è sistema dei nomi di dominio) e permette la traduzione di un nome di un dominio (ad esempio www.ascybersec.com ) o di un nodo della rete nel corrispondente indirizzo IP; infatti cosa non nota a tutti è che quando noi andiamo su un qualunque browser ,(il browser è il software usato per navigare in internet, ad esempio Chrome, Firefox, Safari, Edge, Opera, ecc. ), e digitiamo nella barra degli indirizzi un sito web in realtà quest’ultimo è raggiungibile mediante il suo indirizzo IP; è come quando fate una chiamata al telefono ed usate la rubrica telefonica, in quest’ultima avete un nome al quale è associato il numero di telefono ma a voi probabilmente è più semplice ricordare il nominativo di chi volete chiamare rispetto al suo numero, sarà poi la rubrica del vostro telefono a tradurlo nel numero associato, analogamente il DNS si comporta come un’immensa rubrica che converte il nome del sito web che volete visitare nel suo corrispondente indirizzo IP.

Questo procedimento avviene anche quando vogliamo raggiungere un determinato device all’interno di una LAN, abbiamo quindi che un server DNS è un database i cui record sono l’associazione tra un dominio (o un device di una rete) ed il corrispondente indirizzo IP.

Abbiamo la possibilità di gestire un DNS locale il quale ci permette di trovare gli altri device (PC, scanner, stampanti, IoT, ecc.) della nostra rete ed anche, con opportune soluzioni, di fare una cache degli indirizzi IP dei domini web (ovvero siti internet) che usiamo più spesso potenzialmente velocizzando la nostra navigazione Internet / Intranet.

Nel caso in cui il nostro server DNS interno non è in grado di trovare nei suoi record quello che stiamo cercando, se è stato correttamente configurato, a sua volta inoltra la richiesta ad un server DNS esterno che può essere quello del nostro ISP, (ovvero il fornitore della nostra connessione internet), oppure uno che abbiamo definito noi.  Se neppure quest’ulteriore server DNS ha modo di trovare quello che stiamo cercando, teoricamente, (si deve sempre tenere conto della sua configurazione), dovrebbe inoltrare la richiesta ad un altro server DNS chiamato “root DNS” altresì chiamato “root nameserver” che dovrebbe essere l’ultimo livello di ricerca prima di restituire un eventuale errore.

Quanto fin qui espresso è solo un’introduzione sommaria sul servizio DNS inidonea alla vera comprensione dell’argomento in quanto c’è ancora molto da dire motivo per cui se volete veramente capire cosa è, come funziona e come configurarlo per migliorare la vostra esperienza vi consiglio di prenotarvi una consulenza specifica.

Alcune anticipazioni? Perché no … ecco alcune cosa di cui si può discutere nella consulenza

  • Approfondimenti su quanto detto sui DNS, su cosa sono e come funzionano; spiegazione di ulteriori concetti non detti quali il “DNS resolver” o il “DNS inverso”, ecc. ecc.
  • Tenete alla vostra privacy? Ecco cosa dovete sapere…
  • Sicurezza: Server DNS che bloccano la navigazione su siti classificati come malevoli o compromessi
  • Velocità: quali sono i server DNS più veloci?

Che cos’è la virtualizzazione e quali vantaggi comporta

La virtualizzazione è una tecnologia che permette l’astrazione delle risorse fisiche (hardware) commutandole in risorse virtuali allocabili e quindi l’utilizzo contemporaneo di sistemi operativi anche differenti.

La macchina fisica ospitante è chiamata “host” e le sue risorse possono essere suddivise in diverse macchine ospiti (guest) che possono, ove vi siano i presupposti, anche lavorare contemporaneamente.
Il principale limite sta quindi nelle risorse disponibili per virtualizzare (ad esempio le CPU, la RAM, lo spazio sul disco , ecc).
Ogni host rende disponibile le proprie risorse fisiche come risorse virtuali; quando si va a configurare una macchina virtuale l’operatore va quindi ad assegnare una parte di queste risorse alla macchina guest. Le risorse complessive disponibili della macchina host vanno quindi a diminuire progressivamente con l’aumentare delle assegnazioni di queste alle macchine guest. Con alcune soluzioni software è possibile modificare l’assegnazione di queste risorse successivamente alla creazione della macchina guest, qui abbiamo poi le versioni più evolute che permettono tale modifica “a caldo” ovvero fin che la macchina è in esecuzione oppure altre che necessitano che la macchina virtuale venga spenta per poter modificare le risorse ad esse allocate.

Spieghiamo con un esempio:

Abbiamo un server con due processori a 4 core fisici e 8 core virtuali, 32GB di RAM e 1TB di spazio su disco.
Su questo server virtualizziamo un Windows server 2016, quindi gli associamo 4 core virtuali, 16 GB di RAM e 512 GB di disco.
Successivamente creiamo una macchina con Windows 10 pro, con 2 core virtuali, 4 GB di RAM e 128 GB di disco.

Noi avremo quindi un server virtuale con Windows server 2016 con 4 vcpu (virtual cpu), 16 GB RAM e 512 GB di hard disk virtuale, un’altra macchina con windows 10 pro con 2vcore, 4GB di RAM e 128 GB di hard disk virtuale.
Restano disponibili ancora delle risorse nella macchina host, noi possiamo associare queste risorse in un secondo momento ad un’altra macchina o potenziare una esistente ove ne sia l’esigenza.

L’esempio sopra era con una macchina relativamente modesta, ma possiamo trovare server equipaggiati con hardware ben superiore e non necessariamente sito in un unico host.
Ad esempio possiamo avere due macchine host con due processori Xeon cadauna aventi 20 core logici ognuno, questo ci dà ben 80 core logici (40 per host) che possiamo associare alle macchine virtuali che andiamo ad implementare; mettiamo poi che ogni host abbia 64GB di RAM e che abbiamo condiviso una SAN con uno spazio complessivo di 10TB.

Con una soluzione come quella sopra avremo più possibilità rispetto alla prima macchina, si potrebbe infatti bilanciare il carico di lavoro tra i due host facendo sì che se fisicamente uno dei due si rompe automaticamente tutte le macchine virtuali vengono spostate sull’altro host evitando di fatto il blocco dell’attività lavorativa. Per far questo è però importante calcolare bene le risorse utilizzate, infatti la somma delle risorse impegnate dei due host non deve superare il totale di quelle disponibili da un singolo host.
Ciò detto si potrebbero però implementare , ad esempio:
– nr 1 server Windows 2016 con 4vcpu, 16 GB RAM, 5TB disco virtuale (chiamiamo questa macchina “ServerDNS” )
– nr 1 server Windows 2016 con 12vcpu, 32GB RAM, 4TB disco virtuale ( chiamiamo questa macchina “ServerRDP” ).

Ed ecco che possiamo usare la macchina “ServerRDP” per far lavorare diversi utenti che prima lavoravano sul loro pc fisso Windows. Il pc fisso quindi viene sostituito da un thin client il cui costo può essere più contenuto.
I vantaggi di questa soluzione sono:
– riduzione di costi nella sostituzione dei pc fissi degli operatori
– riduzione dei costi nella manutenzione dei pc

Ma questi sono solo alcuni esempi astratti ed i concetti espressi andrebbero spiegati ed approfonditi più nel dettaglio, si deve infatti sempre tener conto delle licenze dei sistemi operativi e delle applicazioni, oltre a molti altri fattori che non ho esposto ma che possono essere spiegati meglio in altra sede.

Oltre a permetterci di ottimizzare in un modo migliore le nostre risorse hardware e di far eseguire più sistemi operativi indipendenti e diversi nella stessa macchina fisica vi sono altri vantaggi interessanti.

Con opportune soluzioni studiate ad hoc si possono creare macchine virtuali e fare il backup frequente,indipendente e completo di queste in modo che se qualcosa andasse a compromettere una o più macchine avremmo la possibilità di ripristinarle garantendo la continuità del nostro business.

Un altro vantaggio della virtualizzazione è che, come ho già accennato, le macchine virtuali possono essere distribuite su più host, quindi, con opportune soluzioni software, configurazioni e hardware possiamo potenzialmente spostare interi server senza dover necessariamente reinstallare e riconfigurare tutto riducendo, (ed alcuni casi azzerando), i tempi di fermo macchina e/o l’interruzione dell’attività per manutenzioni, migrazioni ecc..

Ovviamente tutto quello finora esposto è solo una generalizzazione il cui approfondimento e maggior chiarificazione piò avvenire solo con una consulenza specifica in cui si va ad analizzare le esigenze del cliente e quindi a creare soluzioni ad hoc esponendo di pro ed i contro.
Questi sono solo alcuni aspetti della virtualizzazione, c’è ancora molto da dire e da spiegare e molto cambia in base al contesto in cui la si vuole attuare motivo per cui, se l’argomento vi interessa, vi consiglio di fissare una consulenza in cui si va a spiegare meglio ogni singolo aspetto e come questo può essere applicato alla vostra realtà.