4002
Comment:
|
3048
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
Questa e` una configurazione "media" commentata per DnsMasq di Sarge, con funzione di dns proxy e di dhcp server. | Questa e` una configurazione "media" commentata per Dnsmasq di Sarge, con funzione di dns proxy e di dhcp server. |
Line 22: | Line 22: |
# dns standard di opendns: imposto i dns e blocco il loro sistema di # ridirezione pubblicitaria degli host inesistenti bogus-nxdomain=208.67.219.40 bogus-nxdomain=208.67.219.41 bogus-nxdomain=208.69.32.130 server=208.67.222.222 server=208.67.220.220 |
|
Line 72: | Line 80: |
=== Patch per eseguire uno script in occasione degli eventi del DHCP === | === DHCP su piu` interfacce === |
Line 74: | Line 82: |
Questa patch mi e` stata gentilmente fornita da Luca, un utente di Dnsmasq. Puo` essere applicata a dnsmasq 2.22 (anche al sorgente con le patch Debian) ma va rivista parecchio per applicarla alla versione attuale (2.30). | 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 }}} |
Line 78: | Line 95: |
Una volta applicata la patch, e` disponibile una nuova opzione nel file di configurazione {{{dnsmasq.conf}}}, che e` {{{ dhcp-lease-hook=/usr/local/bin/dhcp-lease.sh }}} La quale chiaramente definisce il nome del file da eseguire ogni qual volta lo stato di un lease cambia. |
=== Patch per eseguire uno script in occasione degli eventi del DHCP === |
Line 84: | Line 97: |
Prima di eseguire il file indicato, dnsmasq setta una serie di variabili di ambiente, il cui elenco e significato puo` essere estratto dal seguente esempio di script "dhcp-lease.sh", che si limita a loggare tutti gli eventi ed e` utile per debug: {{{ #!/bin/bash # variabili: # PATH Il path # EVENT Il tipo di evento. ALLOCATE (prima connessione), REFRESH, PRUNE (release), LOAD (start o restart del demone) # CLID # FQDN # HOSTNAME L'hostname cosi` come passato dal client o definito nella conf # HWADDR MAC address # IPADDR Indirizzo ip # EXPIRATION Data unix di scadenza del lease # OLD_CLID Le variabili "old_*" contengono il valore precedente nel caso di refresh # OLD_FQDN Altrimenti sono vuote. # OLD_HOSTNAME # OLD_HWADDR # OLD_EXPIRATION echo "Timestamp" `/bin/date` >> /tmp/lease.log echo "Path " $PATH >> /tmp/lease.log echo "Event" $EVENT >>/tmp/lease.log echo "clid" $CLID >>/tmp/lease.log echo "fqdn" $FQDN >>/tmp/lease.log echo "hostname" $HOSTNAME >>/tmp/lease.log echo "hwaddr" $HWADDR >>/tmp/lease.log echo "ipaddr" $IPADDR >>/tmp/lease.log echo "expiration" $EXPIRATION >>/tmp/lease.log echo "old_clid" $OLD_CLID >>/tmp/lease.log echo "old_fqdn" $OLD_FQDN >>/tmp/lease.log echo "old_hostname" $OLD_HOSTNAME >>/tmp/lease.log echo "old hwaddr" $OLD_HWADDR >>/tmp/lease.log echo "old_expiration" $OLD_EXPIRATION >>/tmp/lease.log echo "---------------------" >>/tmp/lease.log }}} |
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. |
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 # block win2k dns requests filterwin2k # resolv.conf alternativo (creare il file!) resolv-file=/etc/resolv.conf.dnsmasq # dns standard di opendns: imposto i dns e blocco il loro sistema di # ridirezione pubblicitaria degli host inesistenti bogus-nxdomain=208.67.219.40 bogus-nxdomain=208.67.219.41 bogus-nxdomain=208.69.32.130 server=208.67.222.222 server=208.67.220.220 # Add local-only domains here, queries in these domains are answered # from /etc/hosts or DHCP only. local=/teknia.local/ # 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=teknia.local # 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
Patch per eseguire uno script in occasione degli eventi del DHCP
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.