[Articolo] Il DNS: come funziona la risoluzione dei nomi

Oggi vediamo cosa succede quando sulla barra del browser scriviamo il nome di un sito, come ad esempio http://www.google.it, e quale arcano procedimento ci permette di collegarci realmente al sito desiderato.

Difficoltà articolo (0->10): 4

Oggi vediamo cosa succede quando sulla barra del browser scriviamo il nome di un sito, come ad esempio http://www.google.it, e quale arcano procedimento ci permette di collegarci realmente al sito desiderato.

google.it
Apertura di http://www.google.it da browser.

Alla base di tutto il processo si trova il protocollo DNS, il cui acronimo è Domain Name System, che è il sistema che si occupa di tradurre il nome completo di una risorsa di rete (URL) nel relativo indirizzo IP, in modo univoco. Dunque, questo protocollo ricopre un ruolo fondamentale per Internet e più in generale per una buona parte dei servizi di rete.

Ricordiamo che ogni dispositivo o risorsa collegata ad una rete (laptop, smartphone, sito web, server, …) deve possedere un indirizzo numerico chiamato indirizzo IP, nella forma x.x.x.x e che identifica in modo univoco quel dispositivo, un po’ come i numeri telefonici sono associati in modo univoco ad un telefono (non possono esistere 2 cellulari con lo stesso numero!).

Prendiamo un esempio di navigazione su Internet: vogliamo aprire nel browser la pagina di Google (www.google.it), ma cosa succede realmente? Il nostro sistema operativo manderà una richiesta al server DNS: “Ehi, devo andare su http://www.google.it e non conosco il suo indirizzo IP, qual’è?”. Il server DNS ci risponderà: “L’indirizzo IP di http://www.google.it è 173.194.35.23, puoi usare questo!”. Dunque, il nostro sistema operativo userà questo indirizzo IP per contattare il sito (il server web che gestisce il sito) e richiedere la pagina desiderata.

dns-richiesta-google
Risoluzione http://www.google.it in indirizzo IP.

Molto famosi sono i server DNS di Google i quali hanno indirizzi che possono essere facilmente memorizzabili, e che sono liberamente utilizzabili da ciascuno di noi:

  • IP del DNS primario: 8.8.8.8
  • IP del DNS secondario 8.8.4.4

Nulla vieta di usare altri server DNS che non siano quelli di Google. Per le linee Internet casalinghe, tipicamente viene usato un server DNS del proprio fornitore di connettività, che ci viene assegnato automaticamente dal fornitore:

Config DNS ADSL
Parametri di rete forniti in automatico da un fornitore italiano di rete.

E’ chiaramente comprensibile che il DNS sia un sistema fondamentale per il corretto funzionamento di Internet, senza il quale ci risulterebbe molto più difficoltosa la navigazione e l’utilizzo di moltissimi sistemi. Pensate per esempio a dover ricordare anche solamente alcuni dei vostri siti preferiti tramite indirizzo IP in questo modo:

Tutto bello, ma ora se vogliamo trovare l’indirizzo IP associato ad un nome, come posso fare? Qual’è il procedimento inverso? Semplice, ci sono vari strumenti di sistema che possono aiutarci in questo, tra cui:

  • ping
  • nslookup
  • dig (su Linux)
ping www.facebook.it
ping su Windows.
nslookup www.facebook.it
nslookup su Windows.

Adesso che abbiamo visto cos’è e come funziona il DNS, andiamo un po’ più nel dettaglio per i curiosi ;-)…

Abbiamo detto finora che il server DNS esaudisce ogni nostra richiesta traducendo un nome in indirizzo IP, questo è vero, ma non del tutto. Quando facciamo una richiesta, il primo ad essere contattato non è il server DNS, ma un file specifico all’interno del proprio sistema operativo, qualunque sia il sistema, Windows, MacOS, o Linux. Il file in questione si chiama file hosts, su Windows si trova  di default all’interno della cartella di sistema “C:\Windows\System32\drivers\etc\” mentre su Linux in “/etc/“. Pertanto, quando vogliamo aprire una determinata pagina web, prima viene controllato questo file, per vedere se l’URL è contenuto al suo interno e:

  • se il file hosts contiene la corrispondenza URL -> IP, allora viene usato questo indirizzo IP per aprire la pagina desiderata.
  • se il file hosts non contiene l’URL, allora viene contattato il server DNS a cui viene chiesto di risolvere l’URL in indirizzo IP.

Vediamo com’è fatto il file hosts, e ricordiamo che possiamo divertirci inserendo al suo interno tutto ciò che vogliamo, se abbiamo necessità particolari.

Windows file hosts
File hosts su Windows.

Il file hosts ha una sua formattazione, come spiegato all’inizio del file una volta aperto, e viene dunque consultato prima di inoltrare la

Dobbiamo sapere inoltre che l’associazione di un nome con un indirizzo IP può non essere singola, ma un nome potrebbe avere associati più indirizzi IP. Come mai? Cosa succede allora? Questo avviene in genere per siti importanti, relativi ad enti o grandi realtà, quando dietro di essi ci sono non un pc o comunque una solo server, ma spesso molti sistemi/server differenti che hanno la funzionalità di:

  • bilanciatori di carico
  • ridondanza

Immaginate se dietro http://www.google.it ci fosse un solo server a rispondere alle richieste di milioni di persone che si collegano. Cosa succederebbe se dovesse avere un problema o un blocco? Saremmo tutti fermi non potendo più aprire la pagina di Google! Ad esempio al sito di Ducati corrispondono 2 indirizzi IP principali:

nslookup www.ducati.it
IP multipli associati ad un sito.

Con questo articolo abbiamo visto solo la punta dell’iceberg del protocollo DNS e del suo funzionamento, ma per approfondimenti ecco alcuni link:

roghan

[Articolo] L’indirizzo IP e la Rete

Ho deciso di scrivere un post che cercherà di spiegare cos’è un indirizzo IP e quale visibilità ha un dispositivo collegato a Internet rispettivamente dietro ad un modem, un router, e un firewall.

Difficoltà articolo (0->10): 3

Requisiti: nessuno in particolare.

Ho deciso di scrivere un post che cercherà di spiegare cos’è un indirizzo IP e quale visibilità ha un computer su Internet, dopo che molte volte mi sono state rivolte domande a riguardo. Buona lettura ;-).

Ogni dispositivo collegato ad Internet (computer, palmare, cellulare, …), e più in generale a qualsiasi rete, è dotato di un proprio indirizzo che lo identifica in modo univoco. Possiamo pensare ai cellulari: ogni cellulare ha un proprio numero univoco, e quindi diverso da tutti gli altri (anche se in realtà il numero viene assegnato alla scheda sim, ma questo è un altro argomento), e questo numero ha una struttura fissa composta da 10 numeri. E’ naturale pensare che non possano esistere due cellulari diversi con lo stesso numero X, altrimenti se entrambi fossero accesi e qualcuno volesse chiamare proprio il numero X cosa succederebbe? La rete telefonica non saprebbe a quale dei due cellulari inoltrare la telefonata! Quello che succede per i cellulari può essere paragonato ai computer e a Internet. Ogni computer, al momento che si collega ad una qualunque rete (sia su Internet che all’interno di una rete locale (LAN)), deve possedere un proprio indirizzo IP, assegnato dal suo Internet Service Provider – ISP (Alice, Tele2, Tiscali, …) ed avente la forma X.X.X.X, dove ogni X può essere un qualsiasi numero da 0 a 255 (con alcune eccezioni). Esempi di indirizzi IP sono 192.168.3.45, oppure 155.123.111.13, ma anche 2.3.4.5 è un indirizzo valido.

indirizzo_ip

Per conoscere il proprio indirizzo è possibile utilizzare un comando specifico da terminale. In caso di windows è necessario aprire il prompt dei comandi e digitare:

ipconfig

e tra i dati visualizzati si potrà vedere proprio l’indirizzo IP. Ovviamente facciamo attenzione a controllare la scheda giusta, se abbiamo più schede di rete all’interno del computer, e solitamente la scheda di rete è identificata come “Ethernet Adapter”, “LAN Adapter”, “Ethernet Wireless Adapter” nel caso di una scheda wireless, ecc. Ecco un esempio (l’indirizzo IP è 192.168.1.2, assegnato appunto alla scheda “Ethernet Adapter”):

ipconfig
ipconfig su Windows

Da notare che aggiungendo l’opzione /all al comando verranno visualizzate tutte le informazioni relative alla rete (server DNS, gateway, …).

Nel caso di Linux invece il comando da digitare all’interno della shell è:

# ifconfig

(per maggiori dettagli vedere l’articolo rete in Linux).

A questo punto, possiamo provare a controllare l’IP visibile da Internet attraverso uno dei tanti siti che si trovano in giro sul web, ad esempio www.ip-adress.com. L’indirizzo visibile sul sito non corrisponde a quello della macchina? Potrebbe essere così, perché c’è il trucco :-). Come ho scritto su, è vero che ogni computer collegato ad Internet riceve un indirizzo univoco, ma solo se questo è collegato direttamente alla Rete. Molto spesso invece un computer si trova dietro ad un router, come nei sistemi casalinghi, o addirittura all’interno di una LAN più o meno complessa e comunque sempre dietro ad un router e/o firewall, come nei sistemi aziendali dove i pc sono molti. Dunque, esistono due tipi di indirizzi IP: pubblici e privati. La figura mostra un esempio tipico di connessione, dove i singoli computer (PC1, PC2, PC2) sono collegati ad Internet attraverso un router. E’ possibile osservare che ogni computer ha assegnato un indirizzo IP privato, e poi tutti sono collegati allo stesso router (passando per un hub/switch) che funge da punto di contatto tra i pc e Internet. A questo punto è naturale pensare che al router venga assegnato un indirizzo IP pubblico, essendo l’unico punto visibile sulla Rete “esterna”.

topologia_rete
Topologia di una rete

Più in generale, ogni computer o dispositivo collegato direttamente ad Internet (come utilizzando un modem, e non un router!) avrà un indirizzo pubblico, altrimenti se è posto dietro ad un router/firewall avrà un IP privato, ossia visibile solo nella rete locale. I motivi per cui viene assegnato un IP diverso ai computer che si trovano dietro ad un router sono molteplici:

  • utilizzando un router è possibile collegare ad Internet un elevato numero di computer o in più in generale dispositivi, altrimenti per ognuno servirebbe un modem diverso. Inoltre il numero di dispositivi collegati ad Internet sta aumentando sempre più, e poiché il numero totale dei possibili indirizzi IP è limitato (ricordiamo la struttura X.X.X.X, con numero massimo 255 per ogni X), un po’ come le targhe delle macchine, ai computer dietro ad un router vengono assegnati degli indirizzi privati, ossia non visibili da Internet. Ciò significa che due computer diversi, che si trovano dietro a router diversi, possono avere lo stesso indirizzo IP privato;
  • i computer collegati ad Internet attraverso un router risultano anche più protetti, in quanto solo il router risulterà visibile sul web, ma non i computer dietro ad esso e con gli indirizzi privati.

Un’altra precisazione, per chi non sapesse la differenza tra modem e router… Il modem (contrazione di modulator-demodulator) è un dispositivo che traduce i dati inviati da un solo computer in modo tale da trasmetterli sulla Rete, quindi un dispositivo un po’ stupido che esegue solamente questo compito. Quindi se avessimo 10 computer da collegare ad Internet avremmo bisogno di 10 modem. Un router invece è una sorta di “mini-computer”, che non solamente trasmette i dati a/da Internet, ma che ha in genere molte altre funzionalità, tipo quella di firewall (per la protezione dalle intrusioni esterne), di access point (per la creazione di una rete wireless), e la possibilità di collegare ad esso più computer. Quindi con un router è possibile collegare ad Internet un numero elevatissimo di dispositivi, ovviamente in base al tipo e qualità del router. Ci possono essere router casalinghi, da poche decine di euro (TP-Link, Netgear, …), o router professionali dal costo di migliaia di euro (Cisco, Juniper, …). Per maggiori approfondimenti (oltre alla consueta wikipedia):

roghan

Connettere una macchina virtuale attraverso un proxy

Vediamo oggi come configurare una VM, ospitata all’interno di un sistema operativo host Windows, in modo da poterla collegare ad Internet passando attraverso un proxy. Ad esempio questo è necessario in alcuni ambienti dove la navigazione su Internet è possibile solo attraverso un proxy, per motivi di policy interne di sicurezza (aziendale per esempio…). […]

Difficoltà articolo (0->10): 5

Requisiti: conoscenze minime di software di virtualizzazione lato desktop.

Vediamo oggi come configurare una VM, ospitata all’interno di un sistema operativo host Windows, in modo da poterla collegare ad Internet passando attraverso un proxy. Ad esempio questo è necessario in alcuni ambienti dove la navigazione su Internet è possibile solo attraverso un proxy, per motivi di policy interne di sicurezza (aziendale per esempio…). Ecco un’immagine della nostra semplice infrastruttura:

Test infrastructure
Infrastruttura

Innanzitutto il nostro test è stato eseguito facendo uso di VMware Player, anche se può essere applicato bene anche nel caso di altri software di virtualizzazione lato desktop (Oracle VirtualBox …). Importante è anche bene conoscere come funziona la parte della connettività con un ambiente virtuale, e questo è un requisito fondamentale per poter poi andare a configurare i parametri corretti. E’ un argomento lungo, e necessiterebbe di un articolo a parte, ma in rete si trovano decine di post dettagliati come questo:

http://www.carbonwind.net/Virtualization/VMware-Player-Networking-Options/VMware-Player-Networking-Options.htm

Dunque, dobbiamo identificare qual’è la scheda di rete connessa ad Internet, se già non lo sappiamo, e per far ciò possiamo utilizzare il comando ipconfig come in figura.

Comando ipconfig
Comando ipconfig

In questo caso ci sono 3 schede di rete, e quella connessa ad Internet è quella con label “Local Area Connection”. Da notare che l’installazione di VMware Player\Workstation comporta la creazione di almeno due nuove schede di rete virtuali, come visibile sempre in figura. La creazione di questi 2 adapter virtuali è necessaria per il corretto funzionamento delle connessioni virtuali della VM, come è spiegato in dettaglio al link sopra indicato. In breve, la scheda di rete VMnet1 è usata dalla VM nel caso in cui sia selezionata l’opzione “Bridged” (vedere più sotto), mentre la VMnet8 nel caso venga usata l’opzione “NAT”.

Dunque, andiamo alla sezione di configurazione delle connessioni di rete di Windows, come in figura.

Network connections
Network connections di Windows

Selezioniamo le proprietà della schede di rete connessa ad Internet (“Local Area Connection”).

All’interno della finestra delle proprietà spostiamoci nel tab “Sharing“, e mettiamo una spunta alla proprietà “Allow other network users to connect through this computer’s Internet connection” controllando che sotto “Home networking connection” sia specificata la scheda di rete VMnet8 (la scheda di rete usata dalla VM). In questo modo i pacchetti inviati dalla VM potranno essere inoltrati verso il proxy e la rete esterna passando dalla scheda di rete specificata (qui appunto la “Local Area Connection”).

Internet Connection Sharing
Internet Connection Sharing

Adesso dobbiamo configurare la scheda di rete della VM. Apriamo VMware Player e la configurazione della nostra VM, e posizioniamoci all’interno delle proprietà alla voce “Network Adapter“. Qui selezioniamo le voci come nella figura sottostante, abilitando “Connect at power on” (praticamente è l’analogo del collegamento del cavo di rete alla scheda di rete, virtuale in questo caso) e scegliendo “NAT“.
VMware networking configuration

L’ultimo step è quello di avviare la VM e di configurare il sistema operativo della VM (Windows, XP, 7, 8, Linux, …) per l’utilizzo del proxy (ovviamente dobbiamo conoscere indirizzo IP e porta del proxy da usare):

oppure possiamo configurare le singole applicazioni all’interno della VM (browser, chat, …) per l’accesso tramite proxy.

roghan

Trucchi per scaricare i video da youtube in Linux

L’argomento di oggi è youtube: vedremo come è possibile scaricare i video con Linux, e quali sono le principali opzioni. Il programma di cui abbiamo bisogno per scaricare i video è youtube-dl, il quale è disponibile nei repository delle principali distribuzioni Linux. Questo software funziona unicamente da linea di comando, e il suo utilizzo è semplice se conosciamo le opzioni giuste da usare ;-), anzi secondo me è anche più semplice di altri software con GUI analoghi! […]

L’argomento di oggi è youtube: vedremo come è possibile scaricare i video con Linux, e quali sono le principali opzioni. Il programma di cui abbiamo bisogno per scaricare i video è youtube-dl, il quale è disponibile nei repository delle principali distribuzioni Linux. Questo software funziona unicamente da linea di comando, e il suo utilizzo è semplice se conosciamo le opzioni giuste da usare ;-), anzi secondo me è anche più semplice di altri software con GUI analoghi!

YouTube-Logo

1 – Scaricare un video da youtube

Il primo passo sarà quello di installare youtube-dl, o tramite repository, oppure scaricando il software dal sito ufficiale.

Dopo averlo installato, al primo avvio occupiamoci di aggiornare il programma alla versione più recente con l’opzione U:

# youtube-dl -U
Updating to latest version...
Updated youtube-dl. Restart youtube-dl to use the new version.

Passiamo subito a vedere come è possibile scaricare i video inclusi di audio.

Scelto il video da scaricare, prima di tutto controlliamo con quali formati è disponibile, in modo da scegliere quello riteniamo più adatto:

$ youtube-dl -F video_da_scaricare

Il comando restituisce un elenco dei formati disponibili, con annessa risoluzione grafica. Vediamo un esempio:

$ youtube-dl -F http://www.youtube.com/watch?v=oyauS1x54hM&feature=fvwrel
Setting language
oyauS1x54hM: Downloading video webpage
oyauS1x54hM: Downloading video info webpage
oyauS1x54hM: Extracting video information
Available formats:
37 : mp4 [1080x1920]
45 : webm [720x1280]
22 : mp4 [720x1280]
35 : flv [480x854]
43 : webm [360x640]
34 : flv [360x640]
18 : mp4 [360x640]
5 : flv [240x400]
17 : mp4 [144x176]

E’ possibile osservare sulla sinistra una serie di numeri, mentre sulla destra vengono mostrati il formato (mp4, webm, …) e la risoluzione. La risoluzione e il formato decretano la qualità generale del video. Nella seguente tabella di wikipedia sono messi a confronto i formati:

http://en.wikipedia.org/wiki/YouTube#Quality_and_codecs

Nel caso in cui siano disponibili più formati (come nell’esempio precedente),è possibile scegliere quello più adatto alle proprie necessità. Se dobbiamo scaricare una grande quantità di video, o se la qualità non è l’elemento principale, possiamo scegliere una risoluzione media, tipo 360×640. Se dobbiamo invece scaricare pochi video e ci interessa l’alta definizione, possiamo optare anche per una risoluzione alta, come 1080×1920. Dobbiamo ricordare che ad una maggior qualità audio/video corrisponde in genere un file di dimensioni maggiori. Nel caso dell’esempio la qualità massima è quella del formato mp4 con numero 37. Laddove possibile, personalmente preferisco il formato mp4 per avere una maggiore portabilità, rispetto ad esempio a flv.

Dunque, dopo aver scelto la qualità procediamo a scaricare il video con questo comando:

$ youtube-dl -t -f formato video_da_scaricare

Tornando all’esempio precedente abbiamo:

$ youtube-dl -t -f 37 http://www.youtube.com/watch?v=oyauS1x54hM&feature=fvwrel

Le opzioni usate in questo comando sono t, che imposta il nome del file scaricato uguale a quello del video youtube, e l’opzione f per specificare il formato da scaricare.

2 – Estrarre l’audio di un video come mp3

Una particolare funzionalità di youtube-dl è quella che permette di estrarre da un video solo la componente audio, ed in formato mp3. Per fare ciò, è necessario avere installato nel sistema ffmpeg, aggiornato all’ultima versione disponibile. Per estrarre l’audio in mp3 il comando da dare è il seguente:

# youtube-dl -t -f formato --extract-audio --audio-format mp3 --audio-quality 256k video_di_youtube

Con un esempio, il comando precedente diventerebbe:

# youtube-dl -t --max-quality 37 --extract-audio --audio-format mp3 --audio-quality 256k http://www.youtube.com/watch?v=mqVMZB5KPjY

3 – Ottenere informazioni audio/video di un file

Un software molto utile è Mediainfo, installabile sia con GUI che senza e in grado di fornire dettagliatissime informazioni audio e video di un file. Se il software non dovesse essere presente all’interno dei repository è possibile recuperarlo, per la maggior parte delle distribuzioni (anche per Windows e Mac OS X), a questo link:

http://mediainfo.sourceforge.net/it

Un esempio di utilizzo di Mediainfo è:

$ mediainfo Loca_Shakira-G5Q9vSXoKQ8.mp4
General
Complete name : Loca_Shakira-G5Q9vSXoKQ8.mp4
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
File size : 14.1 MiB
Duration : 3mn 7s
Overall bit rate mode : Variable
Overall bit rate : 634 Kbps
Encoded date : UTC 2011-07-17 07:38:03
Tagged date : UTC 2011-07-17 07:38:03
gsst : 0
gstd : 187120
gssd : BADC202E5HH1342530140109985
gshh : o-o.preferred.mil01s12.v15.nonxt8.c.youtube.com
----------------------------
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Baseline@L1.3
Format settings, CABAC : No
Format settings, ReFrames : 1 frame
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 3mn 7s
Bit rate : 534 Kbps
Maximum bit rate : 762 Kbps
Width : 400 pixels
Height : 226 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.236
Stream size : 11.9 MiB (84%)
Tagged date : UTC 2011-07-17 07:38:03
----------------------------
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
...

Buon download a tutti!!

roghan

Reti locali e scelta degli indirizzi IP

L’idea di questo articolo nasce da una discussione iniziata su un noto forum del web. In particolare vedremo in che modo devono essere scelti gli indirizzi IP all’interno di una LAN e il perché di questa scelta. Tipicamente all’interno di una rete locale vengono impiegati quegli indirizzi che sono chiamati “privati”, appartenenti ad una delle 3 categorie […]

L’idea di questo articolo nasce da una discussione iniziata su un noto forum del web. In particolare vedremo in che modo devono essere scelti gli indirizzi IP all’interno di una LAN e il perché di questa scelta. Tipicamente all’interno di una rete locale vengono impiegati quegli indirizzi che sono chiamati “privati”, appartenenti ad una delle 3 categorie:

  • 10.0.0.0-10.255.255.255
  • 172.16.0.0-172.31.255.255
  • 192.168.0.0-192.168.255.255

Per una descrizione sul funzionamento degli indirizzi IP e sulla differenza tra indirizzi pubblici e privati leggete quest’altro articolo.

lan

Tutti noi che abbiamo in casa un router ADSL, sia wireless che con connessione via cavo, facciamo inconsapevolmente uso degli indirizzi IP privati. Infatti spesso i router assegnano ai dispositivi connessi gli indirizzi compresi tra 192.168.1.0 e 192.168.1.255 (estremi esclusi), mentre per la connessione di management del router viene utilizzato il canonico 192.169.1.1. Ovviamente non tutti i router utilizzano esattamente questo range, infatti potrebbe essere invece utilizzato 192.168.0.0-192.168.0.255, o altri ancora comunque sempre facenti parte delle 3 categorie di indirizzi privati. Vediamone adesso il motivo.

Quali implicazioni ci sarebbero ad usare un range differente da quello degli  indirizzi privati? Ad esempio cosa succede se in una LAN vengono assegnati ai PC gli indirizzi nel range 17.18.1.0-17.18.1.255? Se la LAN non è connessa ad Internet teoricamente tutto potrebbe funzionare tranquillamente, in quanto il dialogo tra i dispositivi della LAN avverrebbe come con qualunque altro indirizzo IP (privato o non). Il problema nasce al momento che  la LAN viene connessa ad Internet. Riprendendo il nostro esempio, se la LAN con indirizzi nel range 17.18.1.0-17.18.1.255 accedesse ad Internet, non sarebbe in grado di collegarsi ai dispositivi sul web che hanno veramente quegli indirizzi. Supponiamo che un PC della LAN, con indirizzo 17.18.1.10 voglia accedere ad un server su Internet con IP 17.18.1.200: a livello di routing, il PC che effettua la richiesta crederà di essere già all’interno della subnet del server, quindi tutte le richieste rimarranno nella rete locale senza essere inviate su Internet dal router.

Conclusione: dovendo assegnare indirizzi IP ad una rete locale è bene usare solamente gli indirizzi IP privati, in modo da non complicarsi la vita, anche se teoricamente in una LAN scollegata da Internet potrebbero essere usati anche indirizzi appartenenti ad altri range diversi da quelli privati. Più in generale, quest’ultimo caso lo consiglio solo per ambienti di test, e quando si vogliono fare esperimenti con le reti ;-), ma non per un uso prolungato.

roghan

1000 download per il mio manuale sull’anonimato!!!

Anonimato

E’ stata appena superata la soglia dei 1000 download per il mio manuale sull’anonimato in rete, “Come nascondere l’identità in Rete”! Grazie davvero a tutti!!!!!! Anche se rispetto ai numeri che si trovano solitamente sul web è un valore minimale, è per me una grande soddisfazione :-)!! Per chi fosse interessato, lo può liberamente scaricare da questo link:

Download manuale

Matteo

Come risolvere i problemi di connessione, il DNS – parte 2

Se la connessione ad Internet o la navigazione sul web non funzionano i motivi potrebbero essere molti, ed uno di questi potrebbe essere legato al server DNS utilizzato. Ad esempio non vengono più caricate le pagine web ma la connessione sembra stabilita? Come risolviamo il problema? Spesso quando la rete non va si pensa a tutto meno che a verificare il funzionamento del server DNS. Questo post rappresenta la seconda parte di un altro in cui spiegavo come risolvere i problemi in una rete locale senza l’uso del DNS. In questo articolo invece ci spostiamo ai problemi di connessione anche verso la grande Rete. […]

Se la connessione ad Internet o la navigazione sul web non funzionano i motivi potrebbero essere molti, ed uno di questi potrebbe essere legato al server DNS utilizzato. Ad esempio non vengono più caricate le pagine web ma la connessione sembra stabilita? Come risolviamo il problema? Spesso quando la rete non va si pensa a tutto meno che a verificare il funzionamento del server DNS. Questo post rappresenta la seconda parte di un altro POST in cui spiegavo come risolvere i problemi in una rete locale senza l’uso del DNS. In questo articolo invece ci spostiamo ai problemi di connessione anche verso la grande Rete.

Prima di affrontare la problematica ricordiamo che il DNS, acronimo di Domain Name System, è un protocollo di comunicazione che traduce i nomi delle macchine in indirizzi IP, ed è quindi fondamentale per la navigazione sul web. Infatti, durante la navigazione su Internet vengono solitamente digitati sul browser i nomi dei siti che vogliamo visitare, i quali vengono poi tradotti dal protocollo DNS in indirizzi IP. Ciò avviene in modo del tutto automatico e trasparente per l’utente, difatti è il sistema operativo stesso che si occupa di interrogare uno dei server DNS impostati e di ottenere come risposta l’indirizzo IP del sito da visitare. Per conoscere i server DNS configurati è sufficiente digitare da terminale: ipconfig /all in ambiente Windows, e ifconfig in Linux.

Vediamo adesso gli step da fare.

  1. ping verso Internet. L’operazione “classica” è di effettuare un ping verso un sito Internet. Importante è effettuare due prove con il comando ping, una utilizzando come destinazione il nome completo di un sito Internet (FQDN), l’altra utilizzando l’indirizzo IP diretto del sito. Nel caso in cui entrambi i ping non ricevano risposta, il problema è da ricercarsi nella connessione stessa e non c’entra niente il DNS. I problemi potrebbero essere dovuti al proprio fornitore di connettività, al router mal configurato, ai driver/moduli della scheda di rete, al sistema operativo, … Nel caso in cui invece il ping con il nome completo di un sito non funzioni, mentre viene restituita la risposta utilizzando l’indirizzo IP, il problema è da ricercarsi nel DNS (passare al punto successivo). Ecco un esempio esplicativo, in cui il server DNS configurato è errato oppure non è funzionante.

    ping_senza_dns
    Esempio con DNS errato o non impostato
  2. verifica del server DNS. Verificato che la connessione a Internet non risponde (e il ping di un sito utilizzando il nome completo), nonostante il comando ping abbia ricevuto almeno una risposta, controlliamo le impostazioni del DNS. Apriamo un terminale, digitiamo il comando nslookup e osserviamo l’output. Se viene segnalato un errore allora abbiamo trovato il problema: l’indirizzo IP del server DNS è errato oppure non funziona il server stesso! Attenzione, perché nel caso in cui non venga restituito errore ma solo “server unknown” il server DNS impostato è corretto, ma non è semplicemente abilitato il reverse lookup, una funzionalità dei server che può essere abilitata o meno. Qualora ci sia un errore nel server DNS impostato, è opportuno verificare manualmente la configurazione del sistema e provare a cambiare i server DNS utilizzati, ad esempio con quelli di OpenDNS: 208.67.222.222 e 208.67.220.220. Se viene invece visualizzato un output simile al seguente allora il DNS funziona perfettamente e ancora non abbiamo trovato il problema:

    nslookup
    Server DNS impostato correttamente
  3. Risoluzione FQDN locale. Dunque, facciamo il punto della situazione: il ping verso Internet funziona, i server DNS sono correttamente impostati e rispondono al comando nslookup. Nel caso in cui il server DNS utilizzato si trovi nella rete interna a cui siamo collegati, effettuiamo un local FQDN, ossia interroghiamo il server DNS chiedendo di risolvere il nome completo di una macchina locale. Se la richiesta ha esito negativo, ossia viene generato un errore, il problema è del server DNS. Contattare l’amministratore del server DNS (ad esempio in una rete aziendale) oppure cambiarlo nel caso in cui sia un indirizzo pubblico. Vediamo un esempio:
    local_fqdn
    Risoluzione FQDN locale con nslookup

    Nell’esempio è stata effettuata una richiesta al server DNS utilizzando il nome completo di un host, ed è stata ricevuta correttamente la risposta. Ricordo che il nome completo di un host, FQDN, è il nome intero che identifica la risorsa in rete, ad esempio hostname.dominio.it.

  4. Risoluzione hostname locale (se il server DNS è nella rete interna). Provare a risolvere un hostname senza suffisso (ad esempio pc1 è l’hostname di pc1.esempio.it), sempre utilizzando il comando nslookup. Nel caso in cui venga restituito un errore il problema non è del server DNS ma della componente client del proprio sistema operativo. Ecco un esempio, in cui nslookuprestituisce correttamente la risposta:

    query_local_hostname
    Risoluzione hostname locale con nslookup
  5. Risoluzione FQDN esterno. Proviamo a risolvere sempre tramite il comando nslookup un nome completo, FQDN, della rete esterna (ad esempio un sito Internet). Se viene restituito un errore il problema è nel server DNS utilizzato, quindi provare a cambiarlo o contattare l’amministratore del server/ISP. Se invece la risoluzione del nome restituisce esito positivo, ma comunque la navigazione non funziona, il problema è della macchina client.

Nei punti 4 e 5, se il test ha esito negativo, il problema è il servizio DNS del sistema che non funziona correttamente. Per risolvere il problema in Windows ci sono 3 step:

  1. aprire il terminale dei comandi e digitare ipconfig /flushdns;
  2. digitare net stop dnscache;
  3. digitare infine net start dnscache.

Il comando ipconfig /displaydns visualizza la cache del client DNS.

Nel caso di Linux invece la soluzione è più semplice perché basta riavviare il servizio nscd.

roghan