No incluya automáticamente todos los subdominios en la dirección DNSMasq

10

¿Es posible configurar DNSMasq de modo que devuelva una dirección IP fija solo para una solicitud para ese dominio exacto, y no para sus subdominios? Es decir, quiero que vuelva una IP fija al resolver example.com, pero no a.example.com, b.example.cometc.

Michael Mrozek
fuente

Respuestas:

9
host-record=example.com,1.2.3.4

La página de manual de dnsmasq dice:

--host-record = <name> [, <name> ....] [<IPv4-address>], [<IPv6-address>]
Agregue registros A, AAAA y PTR al DNS. Esto agrega uno o más nombres al DNS con registros IPv4 (A) e IPv6 (AAAA) asociados. Un nombre puede aparecer en más de un registro de host y, por lo tanto, se le puede asignar más de una dirección. Solo la primera dirección crea un registro PTR que vincula la dirección al nombre. Esta es la misma regla que se usa para leer archivos host. Se considera que las opciones de registro de host se leen antes de los archivos de host, por lo que un nombre que aparece allí inhibe la creación de registros PTR si también aparece en el archivo de hosts. A diferencia de los archivos hosts, los nombres no se expanden, incluso cuando expand-hosts está vigente. Los nombres cortos y largos pueden aparecer en el mismo registro de host , por ejemplo. --host-record = laptop, laptop.thekelleys.org, 192.168.0.1,1234 :: 100

Pocketpc
fuente
La pregunta lleva la etiqueta "internal-dns", donde "host-record" se aplica a dns externos, también conocidos como dns autorizados.
Pro Backup
tenga en cuenta que si está tratando de hacerse cargo de un registro de host existente en Internet (por ejemplo, reescribirlo para su LAN), si omite la dirección v6 y el host tiene una dirección v6 real en Internet, dnsmasq devolverá su v4 anulado dirección como A, y el registro real de Internet v6 AAAA. especifique ambos si no desea que los hosts con capacidad v6 no "caigan" al host de Internet real a través de v6. Estaba reescribiendo archive.ubuntu.com para apuntar a mi espejo local, y solo especifiqué la dirección v4 en mi LAN; resulta que también tiene una dirección v6 y necesitaba asegurarme de que también lo configuré en dnsmasq.
colarse el
3

¿Cómo es tu archivo de configuración? dnsmasq resolverá solo subdominios si su entrada comienza con punto.

Ejemplo: address=/.subdomain.pc01.domain.com/192.168.1.2

Si lo tienes de esta manera:

address=/subdomain.pc01.domain.com/192.168.1.2

También resolverá asd.subdomain.pc01.domain.com:

$ host asd.subdomain.pc01.domain.com
asd.subdomain.pc01.domain.com has address 192.168.1.2
JorgeeFG
fuente
Punto interesante, pero si lees la pregunta con cuidado, esto no es lo que pedía el OP.
jcharaoui
1

Simplemente agregue una entrada para ese dominio específico en el archivo de hosts en el servidor que ejecuta DNSMasq

Mathias R. Jessen
fuente
Eso no funciona DNSMasq devuelve la misma IP fija para todos los subdominios del dominio ingresado
Michael Mrozek
1

Desde la página de manual de dnsmasq (para --server, pero también se aplica a --address):

Los dominios más específicos tienen prioridad sobre los dominios menos específicos, por lo que: --server = / google.com / 1.2.3.4 --server = / www.google.com / 2.3.4.5 enviará consultas para * .google.com a 1.2. 3.4, excepto * www.google.com, que irá a 2.3.4.5

Entonces, la única solución que puedo ver es agregar registros individuales para cada uno de los subdominios necesarios. Obviamente no es ideal, pero es lo mejor que dnsmasq puede proporcionar en este momento (que puedo encontrar).

tianon
fuente