dnsmasq (Español)

dnsmasq proporciona un servidor DNS, un servidor DHCP con soporte para DHCPv6 y PXE, y un servidor TFTP. Está diseñado para ser liviano y consumir poco, adecuado para enrutadores y cortafuegos con recursos limitados. dnsmasq también se puede configurar para almacenar en caché las consultas a DNS con el fin mejorar las velocidades de búsqueda de DNS de los sitios visitados con anterioridad.

Esta traducción de dnsmasq fue revisada el 2019-11-06. Si existen cambios puede actualizarla o avisar al equipo de traducción.

Instalación

Instale el paquete dnsmasq.

Iniciar el demonio

Inicie/active el servicio dnsmasq.service.

Para ver si dnsmasq se inició correctamente, consulte el «journal» de systemd:

# journalctl -u dnsmasq.service

La red también deberá reiniciarse para que el cliente DHCP pueda crear un nuevo archivo /etc/resolv.conf.

Configuración

Para configurar dnsmasq, necesita editar /etc/dnsmasq.conf. El archivo contiene extensos comentarios que explican sus opciones. Para todas las opciones disponibles, consulte dnsmasq(8).

Advertencia: dnsmasq activa de forma predeterminada su servidor DNS. Si no lo necesita, debe desactivarlo explícitamente definiendo el puerto DNS en 0:
port=0

Servidor DNS

Para configurar dnsmasq como un demonio para el almacenamiento de DNS en un solo equipo, especifique una directiva , añadiendo la dirección IP del equipo local:

listen-address=::1,127.0.0.1

Para utilizar este equipo con el fin de que su dirección IP de LAN escuche otros equipos en la red. Se recomienda utilizar una IP LAN estática en este caso. Por ejemplo:

listen-address=::1,127.0.0.1,192.168.1.1

Establezca el número de nombres de dominio almacenables en caché con la opción (el valor predeterminado es ):

cache-size=1000

Para validar con DNSSEC cargue los anclajes de confianza de DNSSEC proporcionados por el paquete dnsmasq y configure la opción dnssec:

conf-file=/usr/share/dnsmasq/trust-anchors.conf
dnssec

Consulte dnsmasq(8) para ver más opciones que quizás pueda querer usar.

Archivo de direcciones DNS y de reenvío

Después de configurar dnsmasq, necesita añadir las direcciones del equipo local como los únicos servidores de nombres en /etc/resolv.conf. Esto hace que todas las consultas se envíen a dnsmasq.

Como dnsmasq no es un servidor DNS recursivo, debe configurar el reenvío a un servidor DNS externo. Esto se puede hacer automáticamente usando openresolv o especificando manualmente la dirección del servidor DNS en la configuración de dnsmasq.

openresolv

Si su administrador de red admite resolvconf, en lugar de modificar directamente /etc/resolv.conf, puede utilizar openresolv para generar archivos de configuración para dnsmasq.

Edite /etc/resolvconf.conf y añada las direcciones de loopback como servidores de nombres, y configure openresolv para escribir la configuración de dnsmasq:

Ejecute para que se creen los archivos de configuración. Si los archivos no existen dnsmasq.service no podrá iniciarse.

Edite el archivo de configuración de dnsmasq para usar la configuración generada de openresolv:

# Leer la configuración generada por openresolv
conf-file=/etc/dnsmasq-openresolv.conf
resolv-file=/etc/dnsmasq-resolv.conf
Reenvío manual

Primero debe establecer las direcciones del servidor local como los únicos servidores de nombres en /etc/resolv.conf:

Consulte Domain name resolution#Overwriting of /etc/resolv.conf sobre cómo proteger el archivo /etc/resolv.conf de ser modificado.

Las direcciones del servidor DNS ascendente deben especificarse en el archivo de configuración de dnsmasq como . También añada para que dnsmasq no lea innecesariamente /etc/resolv.conf, que solo contiene las direcciones del equipo local.

Ahora las consultas DNS se resolverán con dnsmasq, solo se verificará si los servidores externos no pueden responder a la consulta desde su caché.

Añadir un dominio personalizado

Es posible agregar un dominio personalizado a los equipos de nuestra red (local):

local=/lan/
domain=lan

En este ejemplo, es posible enviar un ping a un servidor/dispositivo (por ejemplo, definido en el archivo como .

Descomente para añadir el dominio personalizado a las entradas del equipo:

expand-hosts

Sin esta configuración, deberá añadir el dominio a las entradas de .

Prueba

Para realizar una prueba de velocidad de búsqueda, elija un sitio web que no se haya visitado desde que se inició dnsmasq (drill es parte del paquete ldns):

$ drill archlinux.org | grep "Query time"

Al ejecutar nuevamente la orden, se usará la IP del DNS almacenada en la caché y se obtendrá un tiempo de búsqueda más rápido si dnsmasq está configurado correctamente:

$ drill archlinux.org | grep "Query time"
;; Query time: 18 msec

Para comprobar si la validación de DNSSEC funciona, consulte DNSSEC#Testing.

Servidor DHCP

De manera predeterminada, dnsmasq tiene la funcionalidad DHCP desactivada; si desea usarla, debe activarla. Aquí están las configuraciones importantes:

Consulte dnsmasq(8) para conocer más detalles.

Prueba

Desde un equipo que está conectado al que tiene dnsmasq, configúrelo para utilizar DHCP para la asignación automática de direcciones IP, luego intente iniciar sesión normalmente en la red.

Si inspecciona el archivo en el servidor, debería poder ver su asignación.

Servidor TFTP

dnsmasq tiene un servidor TFTP incorporado.

Para utilizarlo, cree un directorio para la raíz de TFTP (por ejemplo ) para colocar los archivos transferibles.

Para mayor seguridad, se recomienda utilizar el modo seguro TFTP de dnsmasq. En modo seguro, solo los archivos propiedad del usuario pasarán a través de TFTP. Necesitará hacer chown a la raís de TFTP y a todos los archivos para que pertenezcan al usuario a fin de que pueda usar esta característica.

Active TFTP:

enable-tftp
tftp-root=/srv/tftp
tftp-secure

Consulte dnsmasq(8) para más opciones.

Servidor PXE

PXE requiere servidores DHCP y TFTP, ambas funciones pueden ser provistas por dnsmasq.

  1. configurar #Servidor TFTP y #Servidor DHCP;
  2. copiar y configurar un gestor de arranque compatible con PXE (por ejemplo, PXELINUX) sobre la raíz TFTP;
  3. active PXE en /etc/dnsmasq.conf:

Para enviar simplemente un archivo:

dhcp-boot=lpxelinux.0

Para enviar un archivo dependiendo de la arquitectura del cliente:

pxe-service=x86PC, "PXELINUX (BIOS)", "bios/lpxelinux"
pxe-service=X86-64_EFI, "PXELINUX (EFI)", "efi64/syslinux.efi"
dhcp-match=set:efi-x86_64,option:client-arch,7
dhcp-match=set:efi-x86_64,option:client-arch,9
dhcp-match=set:efi-x86,option:client-arch,6
dhcp-match=set:bios,option:client-arch,0
dhcp-boot=tag:efi-x86_64,"efi64/syslinux.efi"
dhcp-boot=tag:efi-x86,"efi32/syslinux.efi"
dhcp-boot=tag:bios,"bios/lpxelinux.0"

Consulte dnsmasq(8) para conocer más opciones.

El resto depende del gestor de arranque.

Consejos y trucos

Impedir que OpenDNS redirija las consultas de Google

Para evitar que OpenDNS redirija todas las consultas de Google a su propio servidor de búsqueda, añada a /etc/dnsmasq.conf:

Anular direcciones

En algunos casos, como cuando esté operando un portal cautivo, puede ser útil resolver nombres de dominios específicos en un conjunto de direcciones codificadas. Esto se hace con la configuración address:

address=/example.com/1.2.3.4

Además, es posible devolver una dirección específica para todos los nombres de dominio que no son contestados desde o DHCP utilizando un comodín especial:

address=/#/1.2.3.4

Tener más de una instancia

Si queremos que dos o más servidores dnsmasq funcionen por interfaz(ces).

Estático

Para hacer esto de forma estática, servidor por interfaz, utilice las opciones y . Esto obliga a dnsmasq a iniciarse en segundo lugar.

Dinámico

En este caso, podemos excluir por interfaz y enlazar cualquier otra:

except-interface=lo
bind-dynamic

Lista negra de dominios

Para poner en la lista negra dominios, es decir, responder consultas para ellos con NXDOMAIN, utilice la opción address sin especificar la dirección IP:

address=/blacklisted.example/
address=/another.blacklisted.example/

Para facilitar su uso, coloque la lista negra en un archivo separado, por ejemplo /etc/dnsmasq.d/blacklist.conf y cárguelo desde /etc/dnsmasq.conf con o .

Véase también

gollark: The what?
gollark: I actually updated the licenses recently so you should probably read it if you use potatOS, have read the license agreement, know anyone who has read the license agreement, or know about the license agreement.
gollark: https://pastebin.com/NdUKJ07j
gollark: You should link to the potatOS license agreement.
gollark: No, I can on potatOS computers, but those use CraftOS+a 20 line script.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.