Dnsmasq

Software captura de pantalla:
Dnsmasq
Detalles de software:
Versión: 2.77 Actualizado
Fecha de carga: 2 Sep 17
Promotor: Simon Kelley
Licencia: Libre
Popularidad: 120

Rating: 2.8/5 (Total Votes: 5)

Dnsmasq es un software de código abierto de código abierto, totalmente gratuito, fácil de configurar y ligero, diseñado para actuar como servidor DHCP (Protocolo de configuración dinámica de host) y DNS (Sistema de nombres de dominio ) en sistemas operativos GNU / Linux y UNIX.

El software ha sido diseñado de tal manera que proporciona DNS, así como la funcionalidad DHCP a una red pequeña. Es capaz de servir los nombres de máquinas locales que no están en el DNS global y contiene numerosas características atractivas.


Potentes opciones de línea de comandos

Existe una amplia gama de opciones de línea de comandos disponibles para este proyecto, que se pueden ver de un vistazo ejecutando el comando & lsquo; dnsmasq --help & rsquo; en una aplicación Terminal. Entre ellos, podemos mencionar la capacidad de especificar una dirección local para escuchar, especificar el tamaño de la caché en las entradas, así como especificar un archivo de configuración personalizada.

Introducción a Dnsmasq

La instalación de Dnsmasq en un sistema operativo GNU / Linux se hace de la misma manera que lo haría con cualquier otro programa de código abierto que se distribuya como archivo de origen. Primero descargue el paquete, guárdelo en su computadora (preferiblemente su directorio de inicio) y extraiga su contenido usando una utilidad de administrador de archivos.

Luego, vaya a la ubicación en la que ha extraído el archivo en un emulador de terminal (por ejemplo, cd /home/softoware/dnsmasq-2.72 - reemplace & software con su nombre de usuario), ejecute el & lsquo; ./ configure & amp ;&erio; hacer & rsquo; comando para configurar y compilar el programa, seguido por el comando & lsquo; sudo make install & rsquo; para instalarlo en todo el sistema.


Se ejecuta en GNU / Linux, BSD y Mac OS X

Dnsmasq soporta múltiples sistemas operativos, incluyendo Linux (Debian, Gentoo, Slackware, Smoothwall, SUSE, IP-Cop, Firebox, floppyfw, LEAF, CoyoteLinux, Clarkconnect, Freesco, etc.), BSD (FreeBSD) y Mac OS X. Se ejecuta en plataformas de 32 y 64 bits.

Novedades en esta versión:

  • Genera un error cuando se configura con un bucle CNAME, en lugar de un bloqueo. Gracias a George Metz por detectar este problema.
  • Calcule la longitud del paquete de respuesta de error TFTP correctamente. Esto corrige un problema cuando el mensaje de error en un paquete TFTP excede el límite arbitrario de 500 caracteres. El mensaje fue truncado correctamente, pero no la longitud del paquete, por lo que se añadieron datos adicionales. Este es un posible riesgo de seguridad, ya que los datos adicionales provienen de un búfer que también se utiliza para DNS, por lo que las consultas o respuestas DNS anteriores pueden ser filtradas. Gracias a Mozilla por financiar la auditoría de seguridad que detectó este error.
  • Corregir error lógico en el código de netlink de Linux. Esto podría causar dnsmasq para entrar en un lazo apretado en sistemas con un número muy grande de interfaces de red. Gracias a Ivan Kokshaysky por el diagnóstico y parche.
  • Solucionar el problema con --dnssec-timestamp en el que la recepción de SIGHUP erróneamente se compromete a comprobar la marca de tiempo. Gracias a Kevin Darbyshire-Bryant por este trabajo.
  • Bump zone serial en la recarga de / etc / hosts y amigos al proporcionar DNS autorizado. Gracias a Harrald Dunkel por detectar esto.
  • Maneje las direcciones IPv6 con mapeo v4 en el dominio --synth. Estos tienen representación estándar como :: ffff: 1.2.3.4 y ahora se convierten a nombres como --ffff-1-2-3-4.
  • Maneje la vinculación de los servidores ascendentes a una interfaz (--server=1.2.3.4@eth0) cuando la interfaz nombrada es destruida y recreada en el kernel. Gracias a Beniamino Galvani por el parche.
  • Permitir registros comodín CNAME en zonas autoritativas. Por ejemplo --cname = *. Example.com, default.example.com Gracias a Pro Backup por patrocinar este desarrollo.
  • Coloque el backlog permitido de conexiones TCP de 5 a 32, y convierta esta opción en una opción configurable en tiempo de compilación. Gracias a Donatas Abraitis por diagnosticar esto como un problema potencial.
  • Agregue la variable de entorno DNSMASQ_REQUESTED_OPTIONS al script de arrendamiento-cambio. Gracias a ZHAO Yu por el parche.
  • Fijar foobar en el código rrfilter, que podría causar respuestas malformadas, especialmente cuando la validación de DNSSEC en, y el servidor de retorno responde con los RR en un orden en particular. El único servidor DNS conocido para hacerle cosquillas es Nominum's. Gracias a Dave Taht por detectar el error y ayudar en la solución.
  • Corrige la página de manual que decía que sólo la dirección primaria de una interfaz es usada por --interface-name.
  • Make --localise-queries se aplica a los nombres de --interface-name. Gracias a Kevin Darbyshire-Bryant y Eric Luehrsen por empujar esto.
  • Mejorar el manejo de la conexión cuando se habla con servidores TCP upstream. Específicamente, prepárate para abrir una nueva conexión TCP cuando queramos realizar varias consultas, pero el servidor de entrada acepta menos consultas por conexión.
  • Mejorar el registro de servidores ascendentes cuando hay muchas entradas de "direcciones locales solamente". Gracias a Hannu Nyman por el parche.
  • Haga que --bogus-priv se aplique a IPv6, para los prefijos especificados en RFC6303. Gracias a Kevin Darbyshire-Bryant por trabajar en esto.
  • Permitir el uso de direcciones MAC con --tftp-unique-root. Gracias a Floris Bos por el parche.
  • Agregar la opción --dhcp-reply-delay. Gracias a Floris Bos por el parche.
  • Añada la función de ajuste de mtu a --ra-param. Gracias a David Flamand por el parche.
  • Capture la salida STDOUT y STDERR de dhcp-script e inicie la sesión como parte del flujo de registro dnsmasq. Facilita la vida para diagnosticar problemas inesperados en los scripts. Gracias a Petr Mensik por el parche.
  • Genera errores fatales al no analizar la salida del script dhcp en el modo "init". Evita errores extraños cuando el script emite mensajes de error accidentalmente. Gracias a Petr Mensik por el parche.
  • Haga que --rev-server para una subred RFC1918 funcione incluso en presencia del indicador --bogus-priv. Gracias a Vladislav Grishenko por el parche.
  • Extender --ra-param mtu: campo para permitir un nombre de interfaz. Esto permite que la MTU de una interfaz WAN sea anunciada en las interfaces internas de un enrutador. Gracias a Vladislav Grishenko por el parche.
  • Haga el cheque ICMP-ping para la dirección en uso para DHCPv4 cuando el cliente especifica una dirección en DHCPDISCOVER, y cuando una dirección está configurada localmente. Gracias a Alin Nastac por detectar el problema.
  • Agregar nueva etiqueta DHCP "known-othernet" que se establece cuando sólo existe un host dhcp para otra subred. Se puede utilizar para garantizar que los hosts privilegiados no reciben direcciones de "invitado" por accidente. Gracias a Todd Sanket por la sugerencia.
  • Eliminar la inclusión automática histórica del soporte de IDN al crear soporte de internacionalización. Esto no encaja ahora hay una selección de bibliotecas de IDN. Asegúrese de incluir -DHAVE_IDN o -DHAVE_LIBIDN2 para el soporte de IDN.

Novedades en la versión 2.72:

  • Añada el modo ra-advrouter, para la compatibilidad con IPv6 móvil RFC-3775.
  • Agregar soporte para "ipsets" en * BSD, usando pf. Gracias a Sven Falempim por el parche.
  • Corregir la condición de carrera que podría bloquear dnsmasq cuando una interfaz baja y sube rápidamente. Gracias a Conrad Kostecki por ayudar a perseguir esto.
  • Agregar métodos DBus SetFilterWin2KOption y SetBogusPrivOption. Gracias al proyecto Smoothwall para el parche.
  • Solucionar fallas al crear contra Nettle-3.0. Gracias a Steven Barth por detectar esto y encontrar la solución. Al asignar las concesiones DHCP existentes a los intefaces mediante la comparación de redes, maneje el caso de que dos o más interfaces tengan la misma parte de red, pero diferentes longitudes de prefijo (favorecen la longitud de prefijo más larga.) Gracias a Lung-Pin Chang por el parche. >
  • Añada un modo que detecta y elimina los bucles de reenvío de DNS, es decir, una consulta enviada a un servidor ascendente devuelve como una nueva consulta a dnsmasq y, por lo tanto, se reenvía de nuevo, dando lugar a una consulta que realiza bucles muchas veces antes de ser eliminada. Los servidores ascendentes que están en bucle están desactivados y este evento se registra. Gracias a Smoothwall por su patrocinio de esta característica.
  • Amplíe --conf-dir para permitir el filtrado de archivos. Así que --conf-dir = / etc / dnsmasq.d, *. Conf cargará todos los archivos en /etc/dnsmasq.d que terminen en .conf
  • Corregir el error cuando resultó en NXDOMAIN respuestas en lugar de NODATA en algunas circunstancias.
  • Corregir el error que causó que dnsmasq no respondiera si no pudo enviar paquetes debido a una interfaz de red desapareciendo. Gracias a Niels Peen por detectar esto.
  • Solucionar el problema con la opción --local-service en las plataformas big-endian. Gracias a Richard Genoud por el parche.

Novedades en la versión 2.68:

  • Utilice direcciones aleatorias para asignaciones temporales de direcciones DHCPv6, en lugar de direcciones estáticas determinadas por algoritmos.
  • Corregir el error que significaba que DHCPv6 DUID no estaba disponible en secuencias de comandos de DHCP durante la vida del proceso dnsmasq que creó el DUID de novo. Una vez que el DUID fue creado y almacenado en el archivo de arrendamiento y dnsmasq reiniciado, este error desapareció.
  • Corrección del error introducido en 2.67 que podría resultar en NXDOMAIN erróneo devuelve consultas CNAME.
  • Corregir errores de compilación en MacOS X y en openBSD.
  • Permitir que las especificaciones de subred en --auth-zone sean nombres de interfaz, así como literales de dirección. Esto hace posible configurar DNS autoritativo cuando los rangos de direcciones locales son dinámicos y funciona mucho mejor que el trabajo anterior alrededor del cual eximió rangos DHCP construidos desde el filtrado de direcciones IP. Como consecuencia, se elimina ese trabajo. Bajo ciertas circunstancias, este cambio romperá la configuración existente: si está confiando en la excepción de rango construido, debe cambiar --auth-zone para especificar la misma interfaz que se utiliza para construir sus rangos DHCP, probablemente con un valor de arrastre "/ 6" así: --auth-zone = example.com, eth0 / 6 para limitar las direcciones a las direcciones IPv6 de eth0.
  • Solucionar problemas al publicar los prefijos IPv6 eliminados. Si se elimina el prefijo (en lugar de reemplazarlo), no se anuncia con cero tiempo preferido. Gracias a Tsachi por el informe de errores.
  • Corregir segfault con algunos CNAME configurados localmente. Gracias a Andrew Childs por detectar el problema.
  • Corrige la pérdida de memoria al volver a leer / etc / hosts y amigos, introducido en 2.67.
  • Compruebe la interfaz de llegada de las solicitudes entrantes de DNS y TFTP a través de IPv6, incluso en el modo --bind-interfaces. Esto no es posible para IPv4 y puede generar advertencias espeluznantes, pero como siempre es posible para IPv6 (la API siempre existe) entonces debemos hacerlo siempre.
  • Ajusta las reglas de las longitudes de prefijo en --dhcp-range para IPv6. La nueva regla es que la longitud de prefijo especificada debe ser mayor o igual que la longitud del prefijo de la dirección correspondiente en la interfaz local.

Novedades en la versión 2.63:

  • La adición principal en esta versión es un nuevo modo, -bind-dynamic, que evita la vinculación de la dirección IP comodín y se encarga de las interfaces de red creadas dinámicamente, eliminando así las principales limitaciones de los dos modos de red existentes. li

Novedades en la versión 2.61:

  • Esta versión tiene mucho trabajo extra en el código DHCPv6 que debutó en 2.60.
  • Se han corregido muchos errores y se han añadido funciones adicionales.

  • La característica del anuncio del ranurador es ahora mucho más configurable, y hay un modo que permite a dnsmasq hacer los expedientes del DNS del AAAA para los anfitriones que utilizan direcciones de IPv6 de SLAAC y direcciones de IPv4 de DHCP.

Novedades en la versión 2.59:

  • Esta versión trata un par de problemas que han surgido con dnsmasq-2.58, lo que podría causar problemas en el inicio con direcciones IPv6 enlace-locales.
  • Uno es una regresión en dnsmasq, y el otro se debe a un cambio en el comportamiento de las interfaces de puente en los últimos kernels de Linux.

Novedades en la versión 2.58:

  • versión 2.58
  • Proporcione una definición de la macro SA_SIZE donde falta. Corrige el error de generación en openBSD.
  • No incluya un terminador cero al final de los mensajes enviados a / dev / log cuando / dev / log es un socket de datagrama. Gracias a Didier Rabound por detectar el problema.
  • Añada el indicador --dhcp-sequential-ip, para forzar la asignación de direcciones IP en orden ascendente. Tenga en cuenta que el modo pseudo-aleatorio predeterminado es en general mejor, pero algunas aplicaciones de despliegue del servidor necesitan esto.
  • Solucionar el problema en el que se envía un ID de servidor de 0.0.0.0 a un cliente cuando se utiliza un relé dhcp si un cliente renueva un contrato de arrendamiento después de reiniciar dnsmasq y antes de que cualquier cliente de la subred obtenga un nuevo contrato de arrendamiento. Gracias a Mike Ruiz por su ayuda en la persecución de este abajo.
  • No devuelva NXDOMAIN a una consulta AAAA si tenemos CNAME que apunta a un registro A solamente: NODATA es la respuesta correcta en este caso. Gracias a Tom Fernandes por detectar el problema.
  • Relaje la necesidad de suministrar una máscara de red en el rango --dhcp para las redes que utilizan un relé DHCP. Si bien esto todavía es deseable, en ausencia de una máscara de red dnsmasq usará un valor predeterminado basado en la clase (A, B o C) de la dirección. Esto debería por lo menos eliminar una causa de fallo misterioso para las personas que utilizan RFC1918 direcciones y relés.
  • Añada compatibilidad con la marca de conexión conntrack de Linux. Si está activada con --conntrack, la marca de conexión para las consultas DNS entrantes se copiará en las conexiones salientes utilizadas para responder a esas consultas. Esto permite firewall inteligente y material de contabilidad. Sólo está disponible si dnsmasq se compila con HAVE_CONNTRACK y agrega una dependencia en libnetfilter-conntrack. Gracias a Ed Wildgoose por la idea inicial, pruebas y patrocinio de esta función.
  • Proporcione un mensaje de error sano cuando alguien intente emparejar una etiqueta en --dhcp-host.
  • Ajusta el comportamiento de --dominio - necesario, para evitar problemas con los servidores de nombres recursivos aguas abajo de dnsmasq. El nuevo comportamiento sólo detiene consultas A y AAAA y devuelve NODATA en lugar de respuestas NXDOMAIN.
  • Solución de eficiencia para configuraciones DHCP muy grandes, gracias a James Gartrell y Mike Ruiz por su ayuda.
  • Permitir que la dirección del servidor TFTP en --dhcp-boot sea un nombre de dominio que se busca en / etc / hosts. Esto puede dar varias direcciones IP que se utilizan round-robin, por lo tanto, hacer TFTP servidor de equilibrio de carga. Gracias a Sushil Agrawal por el parche.
  • Cuando dos opciones dhcp marcadas para un número de opción concreto son válidas, utilice la que sea válida sin una etiqueta del rango dhcp. Permite sobreescribir el valor de una opción DHCP para un host particular, así como valores por red.
  • - dhcp-range = set: interface1, ......
  • - dhcp-host = set: myhost, .....
  • - dhcp-option = etiqueta: interface1, opción: nis-domain, "domain1"
  • - dhcp-option = etiqueta: myhost, opción: nis-domain, "domain2"
  • establecerá el dominio NIS en domain1 para los hosts del rango, pero
  • reemplazar a domain2 por un host en particular.
  • Corregir el error que resultó en archivos truncados y tiempos de espera para algunas transferencias TFTP. El error sólo ocurre con las transferencias netascii y necesita una relación desafortunada entre el tamaño del archivo, el tamaño del bloque y el número de líneas nuevas en el último bloque antes de que se manifieste. Muchas gracias a Alkis Georgopoulos por detectar el problema y proporcionar un caso de prueba completo.
  • Corregir la regresión en el servidor TFTP en las plataformas * BSD introducidas en la versión 2.56, debido a la confusión con la longitud de sockaddr. Muchas gracias a LoA & macr; c Pefferkorn por encontrar esto.
  • Apoyo a scope-ids en direcciones IPv6 de nameservers de /etc/resolv.conf y en - opciones de servidor. E
  • Por ejemplo, el servidor de nombres fe80 :: 202: a412: 4512: 7bbf% eth0
  • server = fe80 :: 202: a412: 4512: 7bbf% eth0. Gracias a
  • Michael Stapelberg por la sugerencia.
  • Actualice la traducción al polaco, gracias a Jan Psota.
  • Actualización de la traducción al francés. Gracias a Gildas Le Nadan.

Novedades en la versión 2.57:

  • Esta versión corrige un par de regresiones en la versión anterior y añade soporte para la plataforma Android.

Novedades en la versión 2.56:

  • Añada un parche para permitir que dnsmasq obtenga los nombres de interfaz adecuados en una zona de Solaris. Gracias a Dj Padzensky por esto.
  • Mejora la heurística de análisis de tipo de datos para que --dhcp-option = option: domain-search ,. trata el valor como una cadena y no una dirección IP. Gracias a Clemens Fischer por detectar eso.
  • Añada soporte IPv6 al servidor TFTP. Muchas gracias a Jan 'RedBully' Seiffert por los parches.
  • Registrar consultas DNS en el nivel LOG_INFO, en lugar de LOG_DEBUG. Esto hace que las cosas sean coherentes con el registro DHCP. Gracias a Adam Pribyl por detectar el problema.
  • Asegúrese de que dnsmasq finaliza de forma limpia al usar syslog-async aunque no pueda establecer una conexión con syslogd.
  • Agregar la opción --add-mac. Esto es para soportar instalaciones de filtrado DNS actualmente experimentales. Gracias a Benjamin Petrin por el parche original.
  • Corregir el error, lo que significa que las etiquetas se ignoraron en la configuración del rango dhcp, especificando el servicio PXE-proxy. Gracias a Cristiano Cumer por detectar esto.
  • Subir un error si hay extra chatarra, no parte de una opción, en la línea de comandos.
  • Marca un par de mensajes de registro en cache.c como procedentes del subsistema DHCP. Gracias a Olaf Westrik por el parche.
  • Omita las marcas de tiempo de los registros cuando a) se registra en stderr y b) --keep-in-forground se establece. La instalación de registro en el otro extremo de stderr se puede assumned para suministrarlos. Gracias a John Hallam por el parche.
  • No se queje de cadenas de más de 255 caracteres en --txt-record, simplemente divida las cadenas largas en bloques de 255 caracteres.
  • Solucionar el bloqueo en doble libre. Este error sólo puede ocurrir cuando dhcp-script está en uso y, a continuación, sólo en circunstancias raras activado por la alta tasa de transacción DHCP y un script lento. Gracias a Ferenc Wagner por encontrar el problema
  • Sólo se registra que TFTP ha enviado un archivo después de que la transferencia se haya completado con éxito.
  • Una buena sugerencia de Ferenc Wagner: extender la opción --dominio para permitir este tipo de cosas: --domain = thekelleys.org.uk, 192.168.0.0 / 24, local que crea automáticamente
  • - local = / thekelleys.org.uk /
  • - local = / 0.168.192.in-addr.arpa /
  • Apriete la comprobación de sintaxis de contants hexadecimales en el archivo de configuración. Gracias a Fred Damen por detectar esto.
  • Añadir logo / icono dnsmasq, aportado por Justin Swift. Muchas gracias por eso.
  • Nunca coloque en caché las respuestas de DNS que tengan el conjunto de bits 'cd' o que resulten de las consultas remitidas con el conjunto de bits 'cd'. El bit 'cd' instruye a un servidor de validación DNSSEC aguas arriba a ignorar fallos de firma y devolver respuestas de todos modos. Sin este cambio, es posible contaminar la memoria caché de dnsmasq con datos erróneos haciendo una consulta con el conjunto de bits 'cd' y las consultas posteriores devolverían estos datos sin estar marcados como sospechosos. Gracias a Anders Kaseorg por señalar este problema.
  • Añada el indicador -proxy-dnssec para el cumplimiento de la RFC 4035. Dnsmasq borrará ahora el bit 'anuncio' en las respuestas devueltas desde los servidores de nombres de validación ascendente a menos que se establezca esta opción.
  • Permitir que un nombre de archivo de "-" para --conf-file lea stdin. Sugerencia de Timothy Redaelli.
  • Gire el orden de los registros SRV en las respuestas, para proporcionar equilibrio de carga de round-robin cuando todas las prioridades son iguales. Gracias a Peter McKinney por la sugerencia.
  • Editar contrib / MacOSX-launchd / uk.org.thekelleys.dnsmasq.plist para que no registre todas las consultas en un archivo de forma predeterminada. Gracias de nuevo a Peter McKinney.
  • De forma predeterminada, establecer una dirección IPv4 para un dominio pero no una dirección IPv6 hace que dnsmasq devuelva una respuesta NODATA para IPv6 (o viceversa). Así que --address = / google.com / 1.2.3.4 detiene las consultas IPv6 de * google.com de ser reenviadas. Permita anular este comportamiento definiendo la semática si el mismo dominio aparece en ambos --server y - address. En ese caso, el --address tiene prioridad para la familia de direcciones en la que aparece, pero el servidor tiene prioridad de la familia de direcciones que no aparece en - adddress
  • Así:
  • - dirección = / google.com / 1.2.3.4
  • - server = / google.com / #
  • Devolverá 1.2.3.4 para consultas IPv4 para * .google.com pero enviará consultas IPv6 al servidor de nombres corriente arriba. Del mismo modo al establecer una dirección IPv6 sólo esto permitirá el reenvío de consultas IPv4. Gracias a William por señalar la necesidad de esto.
  • Permita más de uno --dhcp-optsfile y --dhcp-hostsfile y haga que entiendan los directorios como argumentos de la misma manera que --addn-hosts. Sugerencia de John Hanks.
  • Ignore las solicitudes de nueva vinculación de arrendamientos que no conocemos. Rebind se emite, para que podamos llegar a escuchar una solicitud significaba para otro servidor DHCP. NAKing esto es incorrecto. Gracias a Brad D'Hondt por su ayuda con esto.
  • Corregir un error cosmético que produjo una salida extraña al probar las estadísticas de caché con algunas configuraciones. Gracias a Fedor Kozhevnikov por detectar esto.

Novedades en la versión 2.55:

  • Corregir un error cuando se está utilizando / etc / ethers. Gracias a Gianluigi Tiesi por encontrar esto.
  • Solucionar un error en netlink_multicast (). Gracias a Arno Wald por encontrar este.
  • Permitir que el dominio vacío "." en las opciones de búsqueda de dominio dhcp (119).

Programas parecidos

DNS-Tool
DNS-Tool

3 Jun 15

r53
r53

11 May 15

BIND
BIND

20 Jan 18

Otro software de desarrollador Simon Kelley

syslog-async
syslog-async

3 Jun 15

dhcp-helper
dhcp-helper

2 Jun 15

Comentarios a la Dnsmasq

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!