Differences between revisions 13 and 14
Revision 13 as of 2009-04-12 17:33:25
Size: 3593
Editor: localhost
Comment: converted to 1.6 markup
Revision 14 as of 2016-12-12 22:08:17
Size: 4181
Editor: Kurgan
Comment:
Deletions are marked like this. Additions are marked like this.
Line 103: Line 103:
=== Patch per eseguire uno script in occasione degli eventi del DHCP ===
Line 105: Line 104:
Le versioni piu` recenti di Dnsmasq supportano la possibilita` di lanciare script quando ci sono eventi (assegnazione e scadenza di lease) legati al DHCP.
E` possibile senza difficolta` compilarsi su Debian Sarge i sorgenti della testing, che hanno questa funzione.

=== Integrazione Bind - Dnsmasq ===

Puo` essere comodo installare bind per avere un resolver ricorsivo e anche dnsmasq per avere le sue funzioni accessorie (dhcp, ecc) sulla stessa macchina. Per farlo, e` sufficiente dire a Bind di ascoltare su una porta diversa dal default, e a Dnsmasq di interrogare Bind su quella porta.

Su Debian, la configurazione e` la seguente:

 * File /etc/bind/named.conf.options
 {{{
 // configurazione per interagire con dnsmasq
 // ascolto in locale su 127.0.0.1 porta 5353 (e in nessun altro posto)
 listen-on port 5353 { 127.0.0.1; };
 // consento la ricorsione per dnsmasq che mi interroga
 allow-recursion { 127.0.0.1/8; };
}}}

 * File /etc/default/bind9 (per disattivare ipv6 in toto se non lo si usa)
 {{{
 OPTIONS="-u bind -4"
}}}

 * File /etc/dnsmasq.conf
 {{{
 # non leggere il resolv.conf, usa solo il server indicato:
 no-resolv
 server=127.0.0.1#5353
}}}

DnsMasq

Questa e` una configurazione "media" commentata per Dnsmasq di Sarge, con funzione di dns proxy e di dhcp server.

Se si usa il ppp per connettersi, e` possibile indicare come resolv-file il file /etc/ppp/resolv.conf che contiene i DNS passati dal provider al momento della connessione.

Il file e` /etc/dnsmasq.conf

# Configuration file for dnsmasq.

# Never forward plain names (with a dot or domain part)
domain-needed
# Never forward addresses in the non-routed address spaces.
bogus-priv

# imposto un TTL per i record locali serviti dal dns ai client (vengono da /etc/hosts)
local-ttl=5

# block win2k dns requests
filterwin2k

# resolv.conf alternativo (creare il file!)
resolv-file=/etc/resolv.conf.dnsmasq


# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
local=/dominio.locale/

# If you want dnsmasq to listen for requests only on specified interfaces
# (and the loopback) give the name of the interface (eg eth0) here.
# Repeat the line for more than one interface.
#interface=

# Aggiungi un dominio alle entry del file hosts che non hanno dominio (vedi "domain")
expand-hosts

# niente cache per i risultati negativi
no-negcache

# log
log-queries


# DHCP options

# il dominio per gli host assegnati dal DHCP
domain=dominio.locale
# range delle macchine servite
dhcp-range=192.168.3.10,192.168.3.100,240h
# il server e` autoritativo
dhcp-authoritative

# Opzioni DHCP
# 1- subnet mask
# 3- default gateway
# 6- dns server
# 28- broadcast address
# 44- wins server
# 46- netbios node type

dhcp-option=44,192.168.3.1


# host statici, uno per riga (mac,ip)
#dhcp-host=11:22:33:44:55:66,192.168.0.60

# If this line is uncommented, dnsmasq will read /etc/ethers and act
# on the ethernet-address/IP pairs found there just as if they had
# been given as --dhcp-host options. Useful if you keep
# MAC-address/host mappings there for other purposes.
#read-ethers

DHCP su piu` interfacce

Se si vuole servire il DHCP su piu` interfacce, e` possibile farlo, ed e` anche possibile dividere le configurazioni in modo che gli host su una interfaccia prendano impostazioni (dns, gateway, eccetera) diverse rispetto a quelli sull'altra interfaccia.

dhcp-range=osimo,172.16.0.100,172.16.0.200,255.255.255.0,240h
dhcp-range=kurgan,10.1.45.100,10.1.45.200,255.255.255.0,240h

dhcp-option=osimo,44,10.0.0.251,172.16.0.1
dhcp-option=kurgan,44,10.1.42.254

Host sulla rete con gateway o dns o altre opzioni diverse

Se occorre per esempio dirigere alcuni host sulla rete a usare un gateway o un dns specifico, e` possibile farlo usando la direttiva "dhcp-host" e la direttiva dhcp-option con una indicazione di nome di una rete. In questo esempio la macchina indicata nel dhcp-host prende un ip dinamico dal pool generale, pero` prende come gateway un gateway speciale che non e` quello che usano tutti.

# per i client del CED, che sono definiti in dhcp-host dopo, voglio un gateway diverso.
dhcp-option=ced,3,10.3.0.10

# host del CED: prendono delle opzioni differenti per gateway e dns
dhcp-host=00:19:99:35:8b:b8,net:ced

Integrazione Bind - Dnsmasq

Puo` essere comodo installare bind per avere un resolver ricorsivo e anche dnsmasq per avere le sue funzioni accessorie (dhcp, ecc) sulla stessa macchina. Per farlo, e` sufficiente dire a Bind di ascoltare su una porta diversa dal default, e a Dnsmasq di interrogare Bind su quella porta.

Su Debian, la configurazione e` la seguente:

  • File /etc/bind/named.conf.options
     // configurazione per interagire con dnsmasq
     // ascolto in locale su 127.0.0.1 porta 5353 (e in nessun altro posto)
     listen-on port 5353 { 127.0.0.1; };
     // consento la ricorsione per dnsmasq che mi interroga
     allow-recursion { 127.0.0.1/8; };
  • File /etc/default/bind9 (per disattivare ipv6 in toto se non lo si usa)
     OPTIONS="-u bind -4"
  • File /etc/dnsmasq.conf
     # non leggere il resolv.conf, usa solo il server indicato:
     no-resolv
     server=127.0.0.1#5353

LinuxDebian/DnsMasq (last edited 2017-09-07 18:12:44 by Kurgan)