Difference between revisions of "Dnsmasq (Italiano)"

From ArchWiki
Jump to: navigation, search
m (aggiornato)
(simplification and beautification of wikilinks, fixing whitespace, capitalization and section fragments (https://github.com/lahwaacz/wiki-scripts/blob/master/link-checker.py (interactive)))
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
{{Lowercase_title}}
 
[[Category:Domain Name System (Italiano)]]
 
[[Category:Domain Name System (Italiano)]]
 
[[en:Dnsmasq]]
 
[[en:Dnsmasq]]
 +
[[es:Dnsmasq]]
 +
[[ja:Dnsmasq]]
 +
[[pt:Dnsmasq]]
 
[[ru:Dnsmasq]]
 
[[ru:Dnsmasq]]
 
[[zh-CN:Dnsmasq]]
 
[[zh-CN:Dnsmasq]]
{{Lowercase_title}}
 
 
 
dnsmasq fornisce un servizio di cache DNS e di server DHCP. Come Domain Name Server (DNS), può conservare i risultati delle richieste di risoluzione per migliorare la velocità di connessione ai siti già visitati. Come server DHCP. {{Pkg|dnsmasq}} può essere usato per fornire indirizzi IP interni ed instradare i computer in una LAN. Uno o entrambi questi servizi possono essere utilizzati. dnsmasq è considerato leggero e semplice da configurare; è progettato sia per l'uso su di un personal computer, che per una rete con meno di 50 computer. Fornisce anche il servizio di server [[PXE]].
 
dnsmasq fornisce un servizio di cache DNS e di server DHCP. Come Domain Name Server (DNS), può conservare i risultati delle richieste di risoluzione per migliorare la velocità di connessione ai siti già visitati. Come server DHCP. {{Pkg|dnsmasq}} può essere usato per fornire indirizzi IP interni ed instradare i computer in una LAN. Uno o entrambi questi servizi possono essere utilizzati. dnsmasq è considerato leggero e semplice da configurare; è progettato sia per l'uso su di un personal computer, che per una rete con meno di 50 computer. Fornisce anche il servizio di server [[PXE]].
  
 
== Installazione ==
 
== Installazione ==
  
[[pacman (Italiano)|Installare]] il pacchetto {{Pkg|dnsmasq}} dai [[Official Repositories (Italiano)|repository ufficiali]].
+
[[pacman (Italiano)|Installare]] il pacchetto {{Pkg|dnsmasq}} dai [[Official repositories (Italiano)|repository ufficiali]].
  
 
== Configurazione della cache DNS ==
 
== Configurazione della cache DNS ==
Line 71: Line 73:
 
La seconda opzione consiste nell'aprire le impostazioni di NetworkManager (solitamente facendo click con il tasto destro sopra l'applet) ed inserire le impostazioni manualmente. La configurazione dipenderà dal tipo di front-end utilizzato; il processo solitamente consiste nel fare click con li tasto destro sull'applet, modificare (o creare) un profilo, e successivamente impostare il tipo di DHCP in 'Automatic (specify addresses).' Gli indirizzi DNS dovranno essere inseriti e solitamente si utilizza questa forma: {{ic|127.0.0.1, DNS-server-one, ...}}.
 
La seconda opzione consiste nell'aprire le impostazioni di NetworkManager (solitamente facendo click con il tasto destro sopra l'applet) ed inserire le impostazioni manualmente. La configurazione dipenderà dal tipo di front-end utilizzato; il processo solitamente consiste nel fare click con li tasto destro sull'applet, modificare (o creare) un profilo, e successivamente impostare il tipo di DHCP in 'Automatic (specify addresses).' Gli indirizzi DNS dovranno essere inseriti e solitamente si utilizza questa forma: {{ic|127.0.0.1, DNS-server-one, ...}}.
  
Ed infine, NetworkManager può essere usato con dhclient usando ({{AUR|networkmanager-dhclient}}).
+
Ed infine, NetworkManager può essere usato con dhclient usando ({{AUR|networkmanager-dhclient}}{{Broken package link|package not found}}).
  
 
===== Configurazione personalizzata =====
 
===== Configurazione personalizzata =====
Line 99: Line 101:
  
 
==Avviare il demone==
 
==Avviare il demone==
 
+
Per avviare dnsmasq all'avvio:
Per avviare dnsmasq all'avvio, aggiungerlo all'array DAEMONS nel file {{ic|/etc/rc.conf}}:
+
{{bc|# systemctl enable dnsmasq}}
 
+
DAEMONS=(... dnsmasq network ...)
+
  
 
Per avviarlo immediatamente:
 
Per avviarlo immediatamente:
 
+
{{bc|# systemctl start dnsmasq}}
$ rc.d start dnsmasq
+
  
 
Per verificare se dnsmasq è stato avviato correttamente, controllare il log; dnsmasq inoltra i suoi messaggi al file {{ic|/var/log/messages.log}}. La configurazione di rete dovrà essere riavviata affinché il client DHCP possa creare un nouvo {{ic|/etc/resolv.conf}}.
 
Per verificare se dnsmasq è stato avviato correttamente, controllare il log; dnsmasq inoltra i suoi messaggi al file {{ic|/var/log/messages.log}}. La configurazione di rete dovrà essere riavviata affinché il client DHCP possa creare un nouvo {{ic|/etc/resolv.conf}}.
Line 113: Line 112:
 
=== DNS Caching ===
 
=== DNS Caching ===
  
Per effettuare un test di velocità per il lookup ad un sito che ancora non è stato visitato dall'avvio di dnsmasq ({{ic|dig}} fa parte del pacchetto {{Pkg|dnsutils}}):
+
Per effettuare un test di velocità per il lookup ad un sito che ancora non è stato visitato dall'avvio di dnsmasq ({{ic|dig}} fa parte del pacchetto {{Pkg|dnsutils}}{{Broken package link|replaced by {{Pkg|bind-tools}}}}):
  
 
  $ dig archlinux.org | grep "Query time"
 
  $ dig archlinux.org | grep "Query time"
Line 125: Line 124:
 
== Trucchi e consigli ==
 
== Trucchi e consigli ==
 
=== Prevenire che OpenDNS reindirizzino le query a Google ===
 
=== Prevenire che OpenDNS reindirizzino le query a Google ===
 
 
Per impedire che OpenDNS rediriga tutte le richieste a Google ai propri server di ricerca, aggiungere al file {{ic|/etc/dnsmasq.conf}}:
 
Per impedire che OpenDNS rediriga tutte le richieste a Google ai propri server di ricerca, aggiungere al file {{ic|/etc/dnsmasq.conf}}:
  
server=/www.google.com/<IP DNS ISP>
+
{{bc|1=server=/www.google.com/<IP DNS ISP>}}
  
 
=== Visualizzare i lease ===
 
=== Visualizzare i lease ===
cat /var/lib/misc/dnsmasq.leases
+
{{bc|$ cat /var/lib/misc/dnsmasq.leases}}

Latest revision as of 14:10, 2 April 2016

dnsmasq fornisce un servizio di cache DNS e di server DHCP. Come Domain Name Server (DNS), può conservare i risultati delle richieste di risoluzione per migliorare la velocità di connessione ai siti già visitati. Come server DHCP. dnsmasq può essere usato per fornire indirizzi IP interni ed instradare i computer in una LAN. Uno o entrambi questi servizi possono essere utilizzati. dnsmasq è considerato leggero e semplice da configurare; è progettato sia per l'uso su di un personal computer, che per una rete con meno di 50 computer. Fornisce anche il servizio di server PXE.

Installazione

Installare il pacchetto dnsmasq dai repository ufficiali.

Configurazione della cache DNS

Per configurare dnsmasq come demone per la cache delle richieste DNS su un singolo computer modificare il file /etc/dnsmasq.conf aggiungendo o de commentando l'indirizzo di localhost in ascolto:

listen-address=127.0.0.1

Per utilizzare questo computer come server DNS specificare l'indirizzo IP fisso sulla rete:

listen-address=<192.168.1.1> #IP di Esempio

File degli indirizzi DNS

Dopo aver configurato dnsmasq il client DHCP dovrà dare precedenza all'indirizzo di localhost rispetto agli indirizzi contenuti nel file di configurazione dei DNS (/etc/resolv.conf). Facendo questo, tutte le richieste verranno inviate a dnsmasq prima di provare a risolverle mediante DNS esterni. Dopo che è stato configurato il client DHCP sarà necessario riavviare il servizio di rete affinché le modifiche abbiano effetto.

dhcpcd

dhcpcd ha la caratteristica di preporre o posporre i nameserver al file /etc/resolv.conf creando o modificando rispettivamente i file /etc/resolv.conf.head e /etc/resolv.conf.tail:

echo "nameserver 127.0.0.1" > /etc/resolv.conf.head

dhclient

Per dhclient, de commentare nel file (o crearlo) /etc/dhclient.conf:

prepend domain-name-servers 127.0.0.1;

NetworkManager

NetworkManager ha la capacità di avviare dnsmasq dal suo file di configurazione. Aggiungere l'opzione dns=dnsmasq al file NetworkManager.conf (nella sezione [main] del file) e togliere dnsmasq dall'avvio automatico:

/etc/NetworkManager/NetworkManager.conf
[main]
plugins=keyfile
dns=dnsmasq

Creare la cartella di configurazione di dnsmasq per NetworkManager se non esiste:

mkdir /etc/NetworkManager/dnsmasq.d
Altri metodi

Se si utilizza il demone dnsmasq, allora sarà necessario aggiungere l'indirizzo di localhost al file resolv.conf (che NetworkManager andrà ad interrogare).

Dopo l'aggiornamento di NetworkManager alla versione 0.7, Arch Linux adesso richiama dhcpcd direttamente invece di dhclient più comunemente utilizzato come default. Dati gli argomenti utilizzati con dhcpcd, esso non legge più le configurazioni in /etc/resolv.conf.head, e /etc/resolv.conf.tail per scelta dei server DNS. Diverse opzioni sono disponibili.

La prima opzione potrebbe essere l'aggiunta di uno script al dispatcher di NetworkManager di preporre localhost in resolv.conf:

/etc/NetworkManager/dispatcher.d/localhost-prepend
#!/bin/bash                                       
# Prepone localhost in resolv.conf per dnsmasq

if [[ ! $(grep 127.0.0.1 /etc/resolv.conf) ]]; then
  sed -i '1s|^|nameserver 127.0.0.1\n|' /etc/resolv.conf
fi

renderlo eseguibile:

# chmod +x /etc/NetworkManager/dispatcher.d/localhost-prepend

La seconda opzione consiste nell'aprire le impostazioni di NetworkManager (solitamente facendo click con il tasto destro sopra l'applet) ed inserire le impostazioni manualmente. La configurazione dipenderà dal tipo di front-end utilizzato; il processo solitamente consiste nel fare click con li tasto destro sull'applet, modificare (o creare) un profilo, e successivamente impostare il tipo di DHCP in 'Automatic (specify addresses).' Gli indirizzi DNS dovranno essere inseriti e solitamente si utilizza questa forma: 127.0.0.1, DNS-server-one, ....

Ed infine, NetworkManager può essere usato con dhclient usando (networkmanager-dhclientAUR[broken link: package not found]).

Configurazione personalizzata

A partire da NetworkManager 0.9.6 è possibile creare una configurazione personalizzata per dnsmasq creando i file di configurazione nella cartella /etc/NetworkManager/dnsmasq.d/

DHCP Server Setup

Per default dnsmasq ha la funzionalità di server DHCP disabilitata, se si desidera utilizzarla dovrà essere attivata nel file /etc/dnsmasq.conf. Di seguito sono riportate le impostazioni più importanti:

# Ascolta solamente sulla interfaccia LAN NIC.  Così facendo apre per i 
# protocolli tcp/udp la porta 53 a localhost e per il protocollo udp la porta 67 all'esterno:
interface=<LAN-NIC>

# dnsmasq aprirà per i protocolli tcp/udp la porta 53 e udp la porta 67 all'esterno
# per aiutare con le interfacce dinamiche (assegnazione dinamica degli ip).
# Dnsmasq rifiuterà le richieste esterne, ma la paranoia può essere tale da 
# chiuderle e lasciare al kernel occuparsene:
bind-interfaces

# Range degli indirizzi IP da rendere disponibili ai pc della LAN
dhcp-range=192.168.111.50,192.168.111.100,12h

# Se si necessita di assegnare indirizzi statici, effettuare il bind tramite
# il MAC address della scheda:
dhcp-host=aa:bb:cc:dd:ee:ff,192.168.111.50

Avviare il demone

Per avviare dnsmasq all'avvio:

# systemctl enable dnsmasq

Per avviarlo immediatamente:

# systemctl start dnsmasq

Per verificare se dnsmasq è stato avviato correttamente, controllare il log; dnsmasq inoltra i suoi messaggi al file /var/log/messages.log. La configurazione di rete dovrà essere riavviata affinché il client DHCP possa creare un nouvo /etc/resolv.conf.

Test

DNS Caching

Per effettuare un test di velocità per il lookup ad un sito che ancora non è stato visitato dall'avvio di dnsmasq (dig fa parte del pacchetto dnsutils[broken link: replaced by bind-tools]):

$ dig archlinux.org | grep "Query time"

Eseguendo ancora il comando verrà utilizzato l'indirizzo IP dalla cache DNS ed il tempo di lookup sarà molto inferiore se dnsmasq è configurato correttamente.

DHCP Server

Da un computer che è collegato ad quello con dnsmasq, configurarlo per ottenere l'assegnamento dell'indirizzo IP mediante DHCP, successivamente tentare di accedere alla rete come di solito.

Trucchi e consigli

Prevenire che OpenDNS reindirizzino le query a Google

Per impedire che OpenDNS rediriga tutte le richieste a Google ai propri server di ricerca, aggiungere al file /etc/dnsmasq.conf:

server=/www.google.com/<IP DNS ISP>

Visualizzare i lease

$ cat /var/lib/misc/dnsmasq.leases