Servidor DHCP e DND dnsmasq

De Manuais Informática - IES San Clemente.
Revisión del 11:59 22 feb 2019 de Bruno (discusión | contribs.) (→‎dnsmasq como servidor DNS)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

Dnsmasq é un unha alternativa lixeira e sinxela de configurar que integra, servidor DNS e DHCP. Básicamente está deseñado para prover as funcións de servidor DNS caché, e opcionalmente DHCP, para redes pequenas. Pode servir nomes as máquinas locais que non están no DNS global. O servidor DHCP intégrase co servidor DNS e permite que as máquinas que reciben concesións vía DHCP aparezan con nomes configurados no DNS. Dnsmasq soporta concesións estáticas e dinámicas e tamén BOOTP/TFTP para o arranque de máquinas por rede.

dnsmasq como servidor caché

O primeiro é instalar o paquete dnsmasq

sudo apt-get install dnsmasq

A partires deste momento, o servidor xa funciona coma servidor DNS caché. Pódese comprobar, que o servidor DNS que había configurado no ficheiro /etc/resolv.conf antes de instalar ou iniciar o servizo dnsmasq foi substituido por 127.0.0.1. Dnamasq reenviará todas as consultas ao servidor que estaba definido en /etc/resolv.conf antes de iniciar o servizo.

O servizo pode iniciarse, pararse e reiniciarse con ...

sudo service dnsmasq start
sudo service dnsmasq stop
sudo service dnsmasq restart

Tamén podemos reenviar as consultas dun determinado dominio a outro servidor diferente ao que había en /etc/resolv.conf

server=/exemplo.org/192.168.0.1

... pero tamén é posible facelo, por exemplo para as consultas inversas (cando preguntamos por enderezos en vez de nomes)

server=/3.168.192.in-addr.arpa/10.1.2.3

Configuración básica

O ficheiro de configuración principal é /etc/dnsmasq.conf[1]

Por defecto, escoita todas as peticións DNS e DHCP en todas as interfaces. Se queremos restrinxilas, introducimos unha liña coma a seguinte por cada interface.

interface=eth0

Todo o contido que hai no ficheiro /etc/hosts vai poder ser resolto polo servidor DNS dnsmasq. Tamén se pode facer que non se lea o ficheiro /etc/hosts ou que se lea a maiores outro diferente

no-hosts  # para deshabilitar a lectura do ficheiro /etc/hosts
addn-hosts=/ruta/ao/ficheiro/de/hosts  # para que se cargue outro ficheiro hosts

dnsmasq como servidor DNS

Este servidor non emprega o concepto de zonas coma calquera outro servidor. Aquí especifícanse os nomes completos no ficheiro /etc/hosts

Tamén podemos especificar os rexistros tipo A da seguinte maneira:

address=/eq2.home.lan/192.168.0.2

e os PTR desta outra:

ptr-record=2.0.168.192.in-addr.arpa.,"eq2.home.lan"

e os mx desta outra

mx-host=maildomain.com,servermachine.maildomain.com,50

e os TXT

txt-record=texto.sitio.lan,"Aqui vai o texto"
txt-record=sitio.lan,"v=spf1 a mx ip4:10.23.5.0/24 ~all"

dnsmasq como servidor DHCP

Engadir rangos para o DHCP é bastante sinxelo. Basta indicar os enderezos inicial e final, e tamén o tempo de concesión.

dhcp-range=192.168.1.201,192.168.1.230,24h

Non é necesario realizar máis configuracións porque dnsmasq proporcionará, además do enderezo IP, a mesma máscara co servidor, a mesma porta de enlace co servidor e como servidor DNS, enviará o enderezo IP do servidor xa que o servidor dnsmasq é tamén servidor DNS. Cando os PCs clientes pidan enderezo IP ao servidor DHCP, normalmente o cliente subministrará o seu nome de PC. Dito nome será utilizado por dnsmasq para asocialo ao enderezo IP que que lle foi asignado al PC e así resolver correctamente cualquera consulta DNS a ese nome.

Tamén podemos forzar a que un determinado rango teña unha máscara determinada. Isto pode ser útil se hai axentes relay na rede da organización

dhcp-range=192.168.0.50,192.168.0.150,255.255.255.0,12h

A medida que o servidor DHCP vai concedendo enderezos IPs a todos os PCs que lla solicitan, este vainas almacenando no arquivo de concesións /var/lib/misc/dnsmasq.leases onde garda a data e a hora da cesión.

Para facer reservas estáticas ...

dhcp-host=11:22:33:44:55:66,192.168.0.60

Tamén podemos facer que en vez de empregar o hostname desa reserva no DNS se empregue outro asignado no servdor

dhcp-host=11:22:33:44:55:66,aula1pc1,192.168.0.60,45m

Para establecer opcións adicionais, como router, nome de dominio, servidor ntp ... debemos especificar o número de opción ou o seu nome:

dhcp-option=3,1.2.3.4
dhcp-option=option:router,1.2.3.4

Os números e opcións soportados pódense ver executando o comando dnsmasq --help dhcp

Opciones DHCP conocidas:
  1 netmask
  2 time-offset
  3 router
  6 dns-server
  7 log-server
  9 lpr-server
 13 boot-file-size
 15 domain-name
 16 swap-server
 17 root-path
 18 extension-path
 19 ip-forward-enable
 20 non-local-source-routing
 21 policy-filter
 22 max-datagram-reassembly
 23 default-ttl
 26 mtu
 27 all-subnets-local
 31 router-discovery
 32 router-solicitation
 33 static-route
 34 trailer-encapsulation
 35 arp-timeout
 36 ethernet-encap
 37 tcp-ttl
 38 tcp-keepalive
 40 nis-domain
 41 nis-server
 42 ntp-server
 44 netbios-ns
 45 netbios-dd
 46 netbios-nodetype
 47 netbios-scope
 48 x-windows-fs
 49 x-windows-dm
 60 vendor-class
 64 nis+-domain
 65 nis+-server
 66 tftp-server
 67 bootfile-name
 68 mobile-ip-home
 69 smtp-server
 70 pop3-server
 71 nntp-server
 74 irc-server
 77 user-class
 93 client-arch
 94 client-interface-id
 97 client-machine-id
119 domain-search
120 sip-server
121 classless-static-route
125 vendor-id-encap
255 server-ip-address

Referencias externas