blob: 81c745a48b6e66b9c1cf186277d1ed416ff4228b [file] [log] [blame]
Simon Kelley849a8352006-06-09 21:02:31 +01001.TH DNSMASQ 8
2.SH NOMBRE
3dnsmasq \- Un ligero servidor DHCP y DNS con caché.
4.SH SINOPSIS
5.B dnsmasq
6.I [OPCION]...
Simon Kelley5aabfc72007-08-29 11:24:47 +01007.SH "DESCRIPCIÓN"
Simon Kelley849a8352006-06-09 21:02:31 +01008.BR dnsmasq
Simon Kelleyf2621c72007-04-29 19:47:21 +01009es un ligero servidor DNS, TFTP y DHCP. Su propósito es proveer servicios DNS
Simon Kelley849a8352006-06-09 21:02:31 +010010y DHCP a una red de área local.
11.PP
12Dnsmasq acepta búsquedas DNS y las responde desde un pequeño
13caché local, o las reenvía hacia un servidor DNS real recursivo.
14Carga el contenido de /etc/hosts, de tal forma que nombres de
15hosts locales los cuales no aparecen en el DNS mundial puedan ser
16resueltos. También responde a búsquedas DNS para hosts configurados
17vía DHCP.
18.PP
Simon Kelley5aabfc72007-08-29 11:24:47 +010019El servidor DHCP dnsmasq incluye soporte para asignación de direcciones
Simon Kelley03a97b62009-06-10 20:55:49 +010020estáticas y redes múltiples. Automáticamente envía un predeterminado sensible de
21opciones DHCP, y puede ser configurado para enviar cualquier opciones DHCP deseadas,
Simon Kelleyf2621c72007-04-29 19:47:21 +010022incluyendo opciones encapsuladas por vendedores. Incluye un servidor seguro
23TFTP solo-lectura para permitir el inicio vía red/PXE de hosts DHCP. Tambíen
24incluye soporte para BOOTP.
Simon Kelley849a8352006-06-09 21:02:31 +010025.PP
Simon Kelley5aabfc72007-08-29 11:24:47 +010026Dnsmasq
27incluye soporte IPv6 para DNS, pero no para DHCP.
Simon Kelley849a8352006-06-09 21:02:31 +010028.SH OPCIONES
29Nótese que en general parámetros ausentes son permitidos y deshabilitan
30funciones, por ejemplo "--pid-file=" deshabilita la escritura de un
31archivo PID. En BSD, a menos que la librería GNU getopt esté enlazada,
32la forma larga de las opciones no funciona en la línea de comandos,
33pero todavía es reconocida en el archivo de configuración.
34.TP
Simon Kelley03a97b62009-06-10 20:55:49 +010035.B --test
36Leer archivo(s) de configuración y revisar su sintaxis. Salir con código
370 si todo está bien, o un código no-cero en cualquier otro caso. No
38iniciar dnsmasq.
39.TP
Simon Kelley849a8352006-06-09 21:02:31 +010040.B \-h, --no-hosts
41No leer los nombres de hosts en /etc/hosts.
42.TP
43.B \-H, --addn-hosts=<archivo>
44Archivo de hosts adicional. Leer el archivo especificado adicionalmente
45a /etc/hosts. Si se brinda -h, leer solo el archivo especificado. Esta
Simon Kelley03a97b62009-06-10 20:55:49 +010046opción puede ser repetida para más de un archivo de hosts adicional. Si
47un directorio es brindado, entonces leer todos los archivos contenidos en
48ese directorio.
Simon Kelley849a8352006-06-09 21:02:31 +010049.TP
Simon Kelleyf2621c72007-04-29 19:47:21 +010050.B \-E, --expand-hosts
51Agregar el dominio a nombres sencillos (sin punto) en /etc/hosts de la
Simon Kelley316e2732010-01-22 20:16:09 +000052misma manera que con nombres derivados de DHCP. Nótese que esto no
53aplica a nombres de dominio en cnames, expedientes PTR, TXT, etc.
Simon Kelleyf2621c72007-04-29 19:47:21 +010054.TP
Simon Kelley849a8352006-06-09 21:02:31 +010055.B \-T, --local-ttl=<tiempo>
56Al responder con información desde /etc/hosts o desde el archivo
Simon Kelleyf2621c72007-04-29 19:47:21 +010057de arriendos DHCP, dnsmasq fija el tiempo de vida (TTL) a cero por
Simon Kelley849a8352006-06-09 21:02:31 +010058predeterminado, significando que el remitente no debrá cachear
59la información por sí mismo. Esto es lo correcto a hacer en casi
60todas las situaciones. Esta opción permite que se especifique
61cierto tiempo de vida (en segundos) para estas respuestas. Esto
62reduce la carga sobre el servidor al costo de que los clientes
63usaran datos añejos bajo algunas circunstancias.
64.TP
Simon Kelley824af852008-02-12 20:43:05 +000065.B --neg-ttl=<tiempo>
66Respuestas negativas desde servidores upstream normalmente contienen
67información time-to-live (tiempo de vida) en expedientes SOA que
68dnsmasq usa para hacer caché. Si las respuestas de servidores upstream
69omiten esta información, dnsmasq no mete la respuesta en el caché.
70Esta opción brinda un valor predeterminado para el time-to-live que
Simon Kelley8ef5ada2010-06-03 19:42:45 +010071dnsmasq usa para meter respuestas negativas en el caché aún en la
72ausencia de un expediente SOA.
73.TP
74.B --max-ttl=<tiempo>
75Fijar un valor TTL (tiempo de vida) máximo que será entregado a
76clientes. El TTL máximo especificado será otorgado a clientes en vez
77del TTL verdadero si es menor. El valor TTL real es mantenido en el caché
78para prevenir la inundación de los servidores DNS upstream.
Simon Kelley824af852008-02-12 20:43:05 +000079.TP
Simon Kelley849a8352006-06-09 21:02:31 +010080.B \-k, --keep-in-foreground
Simon Kelleyf2621c72007-04-29 19:47:21 +010081No ir hacia el fondo al iniciar, pero aparte de eso ejecutar como
82normal. La intención de esto es para cuando dnsmasq es ejecutado
Simon Kelley849a8352006-06-09 21:02:31 +010083bajo daemontools o launchd.
84.TP
85.B \-d, --no-daemon
86Modo debug: no hacer un fork hacia el fondo, no crear un archivo PID,
87no cambiar el ID del usuario, generar un cache dump completo al
88recibir un SIGUSR1, bitacorear a stderr al igual que a syslog, no
Simon Kelleyf2621c72007-04-29 19:47:21 +010089forkear procesos nuevos para manejar búsquedas TCP.
Simon Kelley849a8352006-06-09 21:02:31 +010090.TP
91.B \-q, --log-queries
92Bitacorear los resultados de búsquedas DNS manejadas por dnsmasq.
93Habilitar un dump de caché completo al recibir un SIGUSR1.
94.TP
95.B \-8, --log-facility=<facilidad>
96Fijar la facilidad a la cual dnsmasq deberá enviar mensajes syslog,
Simon Kelleyf2621c72007-04-29 19:47:21 +010097esto es DAEMON por predeterminado, y LOCAL0 cuando el modo debug está
98en operación. Si la facilidad brindada contiene por lo menos un carácter
99"/", se trata como un nombre de archivo, y dnsmasq bitacoreará a dicho
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100100archivo, en vez de syslog. Si la facilidad es '-' entonces dnsmasq
101bitacorea a stderr. (Errores durante la lectura de la configuración
Simon Kelleyf2621c72007-04-29 19:47:21 +0100102irán a syslog todavía, pero todo output desde un inicio exitoso, y todo
103output mientras en ejecución, irá a este archivo exclusivamente.)
Simon Kelley5aabfc72007-08-29 11:24:47 +0100104Al bitacorear a un archivo, dnsmasq cerrará y reabrirá el archivo al
105recibir un SIGUSR2. Esto permite que el archivo de bitácora sea rotado
106sin detener a dnsmasq.
Simon Kelleyf2621c72007-04-29 19:47:21 +0100107.TP
108.B --log-async[=<líneas>]
109Habilitar bitacoréo asincrónico y opcionalmente fijar el límite de número
110de líneas que serán enviadas a la coleta por dnsmasq cuando syslog está
111lento. Dnsmasq puede bitacorear asincrónicamente: esto le permite continuar
112funcionando sin ser bloqueado por syslog, y permite a syslog usar dnsmasq
113para búsquedas DNS sin riesgo de tranque. Si la coleta de líneas de bitácora
114se llena, dnsmasq bitacoreará el desbordamiento, y el número de mensajes
115perdidos. El tamaño predeterminado de coleta es 5, un valor sano sería 5-25,
Simon Kelley5aabfc72007-08-29 11:24:47 +0100116y un límite de 100 es impuesto.
Simon Kelley849a8352006-06-09 21:02:31 +0100117.TP
118.B \-x, --pid-file=<path>
119Especificar un path alterno donde dnsmasq debe guardar su PID.
120Normalmente es /var/run/dnsmasq.pid.
121.TP
122.B \-u, --user=<usuario>
123Especificar el userid al cual dnsmasq debe cambiarse despues de iniciar.
124Dnsmasq normalmente debe ser iniciado como root, pero soltará los
125privilegios root despues del inicio, cambiando a otro usuario.
126Normalmente este usuario es "nobody", pero eso se puede cambiar
127con esta opción.
128.TP
129.B \-g, --group=<grupo>
130Especificar el grupo como el cual dnsmasq correrá. El predeterminado
131es "dip", si está disponible, para facilitar el acceso a
Simon Kelleyf2621c72007-04-29 19:47:21 +0100132/etc/ppp/resolv.conf el cuál normálmente no es globalmente leíble.
Simon Kelley849a8352006-06-09 21:02:31 +0100133.TP
134.B \-v, --version
135Mostrar el número de versión.
136.TP
137.B \-p, --port=<puerto>
138Escuchar en el puerto <puerto> en vez del puerto estándar DNS (53).
Simon Kelley824af852008-02-12 20:43:05 +0000139Fijar esto a cero deshabilita completamente la función DNS, dejando
140solo DHCP y/o TFTP.
Simon Kelley849a8352006-06-09 21:02:31 +0100141.TP
142.B \-P, --edns-packet-max=<tamaño>
143Especificar el paquete UDP EDNS.0 más grande que es soportado por
Simon Kelley316e2732010-01-22 20:16:09 +0000144el reenviador DNS. Por predeterminado es 4096, lo cual es el
145tamaño recomendado en RFC5625.
Simon Kelley849a8352006-06-09 21:02:31 +0100146.TP
147.B \-Q, --query-port=<puerto>
148Enviar búsquedas outbound desde, y escuchar por respuestas en,
Simon Kelley3927da42008-07-20 15:10:39 +0100149el puerto UDP <puerto> en vez de usar puertos aleatorios. Nótese
150que usar esta opción hace que dnsmasq sea menos seguro contra
151ataques de spoofing DNS, pero puede ser más rápido y usar menos
152recursos.
153Fijar esta opción a zero hace que dnsmasq use un solo puerto,
154asignado por el sistema operativo (esto era el comportamiento
155predeterminado en versiones anteriores a 2.43).
156.TP
157.B --min-port=<puerto>
158No usar puertos menores a <puerto> como remitentes para búsquedas
159DNS outbound. Dnsmasq escoje puertos aleatorios como remitentes
160para búsquedas DNS outbound. Cuando esta opción es brindada, los
161puertos usados siempre serán mayores que el especificado. Esto es
162útil para sistemas detras de firewalls.
Simon Kelley849a8352006-06-09 21:02:31 +0100163.TP
Simon Kelleyf2621c72007-04-29 19:47:21 +0100164.B \-i, --interface=<nombre de interface>
165Escuchar solo en las interfaces especificadas. Dnsmasq automáticamente
Simon Kelley849a8352006-06-09 21:02:31 +0100166agrega la interface loopback a la lista de interfaces para usar cuando
167la opción
168.B \--interface
Simon Kelleyf2621c72007-04-29 19:47:21 +0100169es usada. Si ninguna opción
Simon Kelley849a8352006-06-09 21:02:31 +0100170.B \--interface
171o
172.B \--listen-address
173es brindada, dnsmasq escucha en todas las interfaces disponibles excepto
Simon Kelley5aabfc72007-08-29 11:24:47 +0100174cualquiera fijada con opciones
Simon Kelley849a8352006-06-09 21:02:31 +0100175.B \--except-interface
Simon Kelleyf2621c72007-04-29 19:47:21 +0100176Interfaces IP alias (por ejemplo, "eth1:0") no pueden ser utilizadas con
Simon Kelley849a8352006-06-09 21:02:31 +0100177.B --interface
178o
179.B --except-interface
180, usar --listen-address en vez.
181.TP
Simon Kelleyf2621c72007-04-29 19:47:21 +0100182.B \-I, --except-interface=<nombre de interface>
Simon Kelley849a8352006-06-09 21:02:31 +0100183No escuchar en la interface especificada. Nótese que el orden de
184las opciones
185.B \--listen-address
186.B --interface
187y
188.B --except-interface
Simon Kelley5aabfc72007-08-29 11:24:47 +0100189no importa y las opciones
Simon Kelley849a8352006-06-09 21:02:31 +0100190.B --except-interface
Simon Kelley5aabfc72007-08-29 11:24:47 +0100191siempre invalidan a las otras.
Simon Kelley849a8352006-06-09 21:02:31 +0100192.TP
Simon Kelleyf2621c72007-04-29 19:47:21 +0100193.B \-2, --no-dhcp-interface=<nombre de interface>
194No proveer DHCP ni TFTP en la interface especificada, pero sí
Simon Kelley849a8352006-06-09 21:02:31 +0100195proveer servicio DNS.
196.TP
197.B \-a, --listen-address=<dirección IP>
198Escuchar en la(s) dirección(es) IP especificada(s). Las opciones
199.B \--interface
200y
201.B \--listen-address
202ambas pueden ser brindadas, y en tal caso el juego de ambas
203direcciones IP y interfaces es usada. Nótese que si ninguna opción
204.B \--interface
205es brindada, pero sí se brinda la opción
206.B \--listen-address
Simon Kelley5aabfc72007-08-29 11:24:47 +0100207, entonces dnsmasq no escuchará automáticamente en la interface
Simon Kelleyf2621c72007-04-29 19:47:21 +0100208loopback. Para obtener esto, su dirección IP, 127.0.0.1, debe ser
209explícitamente brindada como una opción
Simon Kelley849a8352006-06-09 21:02:31 +0100210.B \--listen-address
211.TP
212.B \-z, --bind-interfaces
213En sistemas que inluyen el soporte, dnsmasq acopla la dirección
214de comodín, aún cuando está escuchando solamente en algunas
215interfaces. Entonces descarta búsquedas a las cuales no debe
216responder. Esto tiene la ventaja de funcionar aún cuando
217interfaces van y vienen y cambian direcciones. Esta opción forza
218a dnsmasq a acoplarse realmente solo a las interfaces en
219las cuales está escuchando. Casi la única vez que esto es útil
220es cuando se está corriendo otro servidor DNS (o otra instancia
221de dnsmasq) en la misma máquina. Fijar esta opción tambien
222habilita multiples instancias de dnsmasq, las cuales proveen
223servicio DHCP en la misma máquina.
224.TP
225.B \-y, --localise-queries
226Retornar respuestas a búsquedas DNS desde /etc/hosts las cuales dependen
227de la interface donde entró la búsqueda. Si un nombre en /etc/hosts tiene
228mas de una dirección asociada con el, y por lo menos una de esas direcciones
229está en la misma subred de la interface donde fue enviada, entónces
230retornar solo las direcciones en esa subred. Esto permite a un servidor
231tener direcciones múltiples en /etc/hosts correspondientes a cada una de
232sus interfaces y cada host recibirá la respuesta adecuada
233dependiendo de cual red tengan adjunta. Por el momento, esta facilidad
234está limitada a IPv4.
235.TP
236.B \-b, --bogus-priv
Simon Kelleyf2621c72007-04-29 19:47:21 +0100237Búsquedas privadas reversas raras. Toda búsqueda reversa para rangos de IP
Simon Kelley849a8352006-06-09 21:02:31 +0100238privados (192.168.x.x, etc.) los cuales no se encuentren en
239/etc/hosts o en el archivo de arriendos DHCP es respondida con
240"dominio no existente" en vez de ser reenviada upstream.
241.TP
Simon Kelley03a97b62009-06-10 20:55:49 +0100242.B \-V, --alias=[<IP viejo>]|[<IP inicio>-<IP final>],<IP nuevo>[,<máscara>]
Simon Kelley849a8352006-06-09 21:02:31 +0100243Modificar direcciones IPv4 retornadas desde servidores DNS upstream;
Simon Kelleyf2621c72007-04-29 19:47:21 +0100244<IP viejo> es remplazado con <IP nuevo>. Si la máscara opcional
245es brindada, entonces cualquier dirección que coincida con el
246<IP viejo> enmascarado será re-escrita. Así que, por ejemplo,
247.B --alias=1.2.3.0,6.7.8.0,255.255.255.0 trazará 1.2.3.56 a 6.7.8.56
248y 1.2.3.67 a 6.7.8.67. Esto es lo que
Simon Kelley03a97b62009-06-10 20:55:49 +0100249ruteadores Cisco PIX llaman "DNS doctoring". Si la dirección vieja es
250brindada como un rango, entonces solo direcciones en ese rango, y no
251la subred entera, son re-escritas. De tal manera que
252.B --alias=192.168.0.10-192.168.0.40,10.0.0.0,255.255.255.0
253relaciona 192.168.0.10->192.168.0.40 a 10.0.0.10->10.0.0.40
254.TP
Simon Kelley849a8352006-06-09 21:02:31 +0100255.B \-B, --bogus-nxdomain=<dirección IP>
Simon Kelley5aabfc72007-08-29 11:24:47 +0100256Transformar respuestas que contienen la dirección IP brindada a
Simon Kelley849a8352006-06-09 21:02:31 +0100257respuestas tipo "Dominio no existe". La intención de esto es actuar
258en contra de una movida desviada hecha por Verisign en septiembre
259del 2003, cuando comenzaron a retornar la dirección de un servidor
260de publicidad en respuesta a búsquedas por nombres no registrados,
261en vez de la correcta respuesta NXDOMAIN. Esta opción le dice a dnsmasq
262que debe forjear la respuesta correcta cuando ve este comportamiento.
Simon Kelleyf2621c72007-04-29 19:47:21 +0100263Para septiembre 2003 la dirección IP siendo retornada por Verisign
Simon Kelley849a8352006-06-09 21:02:31 +0100264es 64.94.110.11
265.TP
266.B \-f, --filterwin2k
267Algunas versiones de Windows hacen búsquedas DNS periódicas las cuales no
268reciben respuestas sensibles desde el DNS público y pueden causar problemas
269activando enlaces marcación-en-demanda. Esta opción filtra dichas búsquedas.
270Las búsquedas filtradas son para registros tipo SOA y SRV, al igual que
271tipo ANY donde el nombre pedido contiene _, para atrapar búsquedas LDAP.
272.TP
273.B \-r, --resolv-file=<archivo>
274Leer las direcciones IP de servidores DNS upstream desde <archivo>,
275en vez de /etc/resolv.conf. Para el formato de este archivo, ver
276.BR resolv.conf (5)
277Las únicas líneas relevantes a dnsmasq son las de servidores DNS. A
278dnsmasq se le puede decir que revise más de un archivo resolv.conf,
279el primer archivo especificado remplaza al predeterminado, y los
Simon Kelleyf2621c72007-04-29 19:47:21 +0100280subsiguientes son agregados a la lista. Esto es solo
281permitido al hacer polling; el archivo con la actual fecha
282de modificación más nueva es el que será usado.
Simon Kelley849a8352006-06-09 21:02:31 +0100283.TP
284.B \-R, --no-resolv
285No leer /etc/resolv.conf. Obtener los servidores DNS upstream solo
286desde la línea de comandos o desde el archivo de configuración de
287dnsmasq.
288.TP
289.B \-1, --enable-dbus
290Permitir que la configuración de dnsmasq sea actualizada vía llamadas
291de método DBus. La configuración que puede ser cambiada es servidores
292DNS upstream (y dominios correspondientes) y limpieza de caché. Esta
293opción requiere que dnsmasq haya sido compilado con soporte para DBus.
294.TP
295.B \-o, --strict-order
296Por predeterminado, dnsmasq enviará búsquedas a cualquiera de los
297servidores upstream que conoce, y trata de favorecer servidores los
Simon Kelley5aabfc72007-08-29 11:24:47 +0100298cuales sabe que están activos. Fijar esta opción forza a dnsmasq a
Simon Kelley849a8352006-06-09 21:02:31 +0100299probar cada búsqueda con cada servidor estrictamente en el orden
300que aparecen en /etc/resolv.conf
301.TP
Simon Kelley824af852008-02-12 20:43:05 +0000302.B --all-servers
303Por predeterminado, cuando dnsmasq tiene más de un servidor upstream
304disponible, enviará búsquedas a solo un servidor. Fijar esta opción
305forza a dnsmasq a enviar todas las búsquedas a todos los servidores
306disponibles. La respuesta del servidor que responda primero será
307devuelta al solicitante original.
308.TP
309.B --stop-dns-rebind
310Denegar (y bitacorear) direcciones de servidores upstream que están
311dentro de rangos IP privados. Esto bloquea un ataque donde un navegador
312detrás de un firewall es usado para analizar máquinas en la red local.
313.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100314.B --rebind-localhost-ok
315Eximir a 127.0.0.0/8 de verificaciones de rebinding. Este rango de
316direcciones es retornado por servidores de tiempo real tipo hoyo
317negro, así que bloquearlo puede deshabilitar estos servicios.
318.TP
319.B --rebind-domain-ok=[<domain>]|[[/<domain>/[<domain>/]
320No detectar y bloquear dns-rebind en búsquedas a estos dominios. El
321argumento puede ser o un dominio sencillo, o múltiples dominios
322rodeados por '/', como el syntax de --server, por ejemplo
323.B --rebind-domain-ok=/dominio1/dominio2/dominio3/
324.TP
Simon Kelley849a8352006-06-09 21:02:31 +0100325.B \-n, --no-poll
326No revisar periodicamente a /etc/resolv.conf en busca de cambios.
327.TP
Simon Kelleyf2621c72007-04-29 19:47:21 +0100328.B --clear-on-reload
329Cuando sea que /etc/resolv.conf es re-leida, liberar el caché DNS.
330Esto es útil cuando servidores DNS nuevos puedan tener datos diferentes
331a los contenidos en el caché.
332.TP
Simon Kelley849a8352006-06-09 21:02:31 +0100333.B \-D, --domain-needed
334Le dice a dnsmasq que no debe reenviar búsquedas para nombres sencillos,
335sin puntos o partes de dominios, a servidores upstream. Si el nombre
336no se conoce desde /etc/hosts o desde DHCP entonces una respuesta
337"no encontrado" es devuelta.
338.TP
Simon Kelley824af852008-02-12 20:43:05 +0000339.B \-S, --local, --server=[/[<dominio>]/[dominio/]][<dirección IP>[#<puerto>][@<IP de remitente>|<interface>[#<puerto>]]
Simon Kelley849a8352006-06-09 21:02:31 +0100340Especificar la dirección IP de servidores upstream directamente. Fijar
341esta opción no suprime la lectura de /etc/resolv.conf, use -R para
342hacer eso. Si uno a más dominios opcionales son brindados, ese servidor
343es usado solo para esos dominios y las búsquedas son hechas usando
344el servidor especificado solamente. La intención de esto es para el
345uso con servidores DNS privados: si usted tiene un servidor DNS en su
346red el cual lidea con nombres de la forma
347xxx.internal.thekelleys.org.uk en 192.168.1.1 entonces brindar la
348opción
349.B -S /internal.thekelleys.org.uk/192.168.1.1
350enviará todas las búsquedas de máquinas internas a ese servidor DNS,
351todas las demás búsquedas serán enviadas a los servidores en
Simon Kelleyf2621c72007-04-29 19:47:21 +0100352/etc/resolv.conf. Una especificación de dominio en blanco,
Simon Kelley849a8352006-06-09 21:02:31 +0100353.B //
354tiene el significado especial de "solo nombres no calificados", o
Simon Kelleyf2621c72007-04-29 19:47:21 +0100355sea nombres sin ningún punto en ellos. Un puerto no-estándar puede
Simon Kelley849a8352006-06-09 21:02:31 +0100356ser especificado como parte de la dirección IP usando el caracter
357#. Más de una opción -S es permitida, con partes de dominio o
358dirección IP repetidas como sea necesario.
359
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100360Dominios más específicos toman precedencia sobre los menos específicos,
361así que:
362.B --server=/google.com/1.2.3.4
363.B --server=/www.google.com/2.3.4.5
364enviará búsquedas por *.google.com hacia 1.2.3.4, excepto
365*www.google.com, el cual irá a 2.3.4.5.
366
367La dirección especial de servidor '#' significa "usar los servidores
368estándares", así que
369.B --server=/google.com/1.2.3.4
370.B --server=/www.google.com/#
371enviará búsquedas por *.google.com hacia 1.2.3.4, excepto
372*www.google.com, el cual será reenviado de manera usual.
373
Simon Kelley849a8352006-06-09 21:02:31 +0100374También se permite una opción -S la cual brinda un dominio pero
375ninguna dirección IP; esto le dice a dnsmasq que un dominio es local
376y puede responder a búsquedas desde /etc/hosts o DHCP pero nunca
377deberá reenviar búsquedas en ese dominio a ningún servidor upstream.
378.B local
379es un sinónimo de
380.B server
381para hacer los archivos de configuración mas claros en este caso.
382
Simon Kelley824af852008-02-12 20:43:05 +0000383El string opcional despues del carácter @ le dice a dnsmasq como fijar
384el remitente de las búsquedas hacia este servidor DNS. Debe ser una
385dirección IP, la cual debe ser perteneciente a la máquina en la cual
386corre dnsmasq, de forma contraria esta línea de servidor será bitacoreada
387y después ignorada, o un nombre de interface. Si un nombre de interface
388es brindado, entonces búsquedas hacia el servidor serán forzadas vía esa
389interface; si una dirección IP es brindada, entonces la dirección de
390remitente de las búsquedas será fijada a esa dirección.
391La etiqueta query-port es ignorada para cualquier servidores que tengan
392una dirección remitente especificada, pero el puerto puede ser
393especificado directamente como parte de la dirección remitente. Forzar
394búsquedas a una interface no está implementado en todas las plataformas
395soportadas por dnsmasq.
Simon Kelley849a8352006-06-09 21:02:31 +0100396.TP
Simon Kelley5aabfc72007-08-29 11:24:47 +0100397.B \-A, --address=/<dominio>/[dominio/]<dirección IP>
Simon Kelley849a8352006-06-09 21:02:31 +0100398Especificar una dirección IP para retornar por cualquier host en
399los dominios brindados. Búsquedas en estos dominios nunca son
400reenviadas, y siempre son respondidas con la dirección IP
401especificada, la cual puede ser IPv4 o IPv6. Para brindar ambas
402direcciones IPv4 y IPv6 para un dominio, usar opciones -A repetidas.
403Nótese que /etc/hosts y arriendos DHCP invalidan esto para nombres
404individuales. Un uso común para esto es redireccionar el dominio
405doubleclick.net entero a algún servidor web local amigable para
406evitar banners de publicidad. La especificación funciona de la misma
407forma que con --server, con la facilidad adicional que /#/ coincide
408con cualquier dominio. De tal forma, --address=/#/1.2.3.4 siempre
409retornará 1.2.3.4 para cualquier búsqueda no respondida desde
410/etc/hosts o DHCP y que no haya sido enviada a un servidor DNS
411upstream por una directiva --server mas especifica.
412.TP
Simon Kelleyf2621c72007-04-29 19:47:21 +0100413.B \-m, --mx-host=<nombre mx>[[,<nombre de host>],<preferencia>]
414Retornar un record llamado <mx name> apuntando hacia el nombre de
Simon Kelley849a8352006-06-09 21:02:31 +0100415host brindado (opcionalmente), o el host especificado en la opción
416--mx-target, o si esa opción no es brindada, el host en el cual
417dnsmasq está corriendo. El predeterminado es útil para redireccionar
418correo de sistemas en la red local hacia un servidor central. La
419opción de preferencia es opcional, y su predeterminado es 1 si no
420es brindada. Más de un record MX puede ser brindado para un host.
421.TP
Simon Kelleyf2621c72007-04-29 19:47:21 +0100422.B \-t, --mx-target=<nombre de host>
Simon Kelley849a8352006-06-09 21:02:31 +0100423Especificar el target predeterminado para el record MX devuelto
424por dnsmasq. Ver --mx-host. Si --mx-target es brindado, pero no
425--mx-host, entonces dnsmasq devuelve un record MX conteniendo
Simon Kelleyf2621c72007-04-29 19:47:21 +0100426el target MX para búsquedas MX en el nombre de host de la máquina donde
Simon Kelley849a8352006-06-09 21:02:31 +0100427dnsmasq está corriendo.
428.TP
429.B \-e, --selfmx
430Retornar un record MX apuntándose a sí mismo para cada máquina local.
431Máquinas locales son aquellas en /etc/hosts o con arriendos DHCP.
432.TP
433.B \-L, --localmx
434Retornar un record MX apuntando al host brindado por mx-target (o
435la máquina donde dnsmasq está corriendo) para cada máquina local.
436Máquinas locales son aquellas en /etc/hosts o con arriendos DHCP.
437.TP
Simon Kelleyf2621c72007-04-29 19:47:21 +0100438.B \-W, --srv-host=<_servicio>.<_prot>.[<dominio>],[<target>[,<puerto>[,<prioridad>[,<peso>]]]]
Simon Kelley5aabfc72007-08-29 11:24:47 +0100439Retornar un record DNS SRV. Ver RFC2782 para detalles. Si no es
Simon Kelley849a8352006-06-09 21:02:31 +0100440brindada, el dominio se predetermina a el brindado por
441.B --domain.
Simon Kelleyf2621c72007-04-29 19:47:21 +0100442El predeterminado para el dominio target está vacío, el predeterminado
443para puerto es uno, y los predeterminados para peso y prioridad son cero.
Simon Kelley849a8352006-06-09 21:02:31 +0100444Tener cuidado al transponer data desde archivos de zona BIND: los
445números de puerto, peso, y prioridad están en un orden diferente. Más
446de un record SRV para un servicio/dominio es permitido, todos los que
447coincidan son retornados.
448.TP
Simon Kelleyf2621c72007-04-29 19:47:21 +0100449.B \-Y, --txt-record=<nombre>[[,<texto>],<texto>]
Simon Kelley849a8352006-06-09 21:02:31 +0100450Retornar un récord DNS TXT. El valor del récord TXT es una serie de
451strings, así que cualquier número puede ser incluido, dividido por
452comas.
453.TP
Simon Kelleyf2621c72007-04-29 19:47:21 +0100454.B --ptr-record=<nombre>[,<target>]
455Retornar un récord DNS PTR.
456.TP
Simon Kelley3927da42008-07-20 15:10:39 +0100457.B --naptr-record=<nombre>,<orden>,<preferencia>,<opciones>,<servicio>,<regexp>[,<remplazo>]
458Retornar un récord DNS NAPTR, como especificado en RFC3403.
459.TP
Simon Kelley9009d742008-11-14 20:04:27 +0000460.B --cname=<cname>,<target>
461Retornar un expediente CNAME que indica que <cname> es realmente <target>. Hay
462limitaciones significativas en el target. Debe ser un nombre DNS que le es conocido
463a dnsmasq desde /etc/hosts (o archivos hosts adicionales) o de DHCP. Si el target
464no satisface este criterio, el cname entero es ignorado. El cname debe ser único,
465pero es permisible tener más de un cname indicando el mismo target.
466.TP
Simon Kelley5aabfc72007-08-29 11:24:47 +0100467.B --interface-name=<nombre>,<interface>
Simon Kelley9009d742008-11-14 20:04:27 +0000468Retornar un expediente DNS, asociando el nombre con la dirección primaria
Simon Kelley5aabfc72007-08-29 11:24:47 +0100469en la interface brindada. Esta opción especifica un expediente tipo A
470para el nombre brindado de la misma forma que una línea de /etc/hosts,
471excepto que la dirección no es constante y es en vez tomada de la
472interface brindada. Si la interface está deshabilitada, nó configurada,
473o nó existente, un récord vacío es devuelto. El récord PTR relevante
474tambien es creado, trazando la dirección de la interface a el nombre.
475Más de un nombre puede ser asociado con una dirección de interface,
476repitiendo la opción. En tal caso, la primera instancia es usada para
477la traza reversa dirección-a-nombre.
478.TP
Simon Kelleyf2621c72007-04-29 19:47:21 +0100479.B \-c, --cache-size=<tamaño de caché>
Simon Kelley849a8352006-06-09 21:02:31 +0100480Fijar el tamaño del caché de dnsmasq. El predeterminado es 150 nombres.
481Fijar el tamaño a cero deshabilita el caché.
482.TP
483.B \-N, --no-negcache
484Deshabilitar caché negativo. El caché negativo le permite a dnsmasq
485recordar resultados tipo "dominio no existe" desde servidores DNS
486upstream y responder búsquedas idénticas sin reenviarlas nuevamente.
Simon Kelley849a8352006-06-09 21:02:31 +0100487.TP
Simon Kelleyf2621c72007-04-29 19:47:21 +0100488.B \-0, --dns-forward-max=<búsquedas>
489Fijar el número máximo de búsquedas DNS simultáneas. El valor
490predeterminado es 150, lo cuál debería estar bien para la mayoría
491de casos. La única situación conocida donde esto debe ser incrementado
492es al usar resolvedores de bitácoras de servidores web, los cuales pueden
493generar un número inmenso de búsquedas simultáneas.
494.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100495.B \-F, --dhcp-range=[interface:<interface>,][tag:<tag>[,tag:<tag>],][set:<tag],]<dirección-inicio>,<dirección-final>[,<netmask>[,<broadcast>]][,<tiempo de arriendo>]
Simon Kelley849a8352006-06-09 21:02:31 +0100496Habilitar el servidor DHCP. Direcciones serán distribuidas desde el
Simon Kelley5aabfc72007-08-29 11:24:47 +0100497rango <dirección-inicio> hasta <dirección-final> y desde direcciones definidas
Simon Kelley849a8352006-06-09 21:02:31 +0100498estáticamente en opciones
499.B dhcp-host
Simon Kelley5aabfc72007-08-29 11:24:47 +0100500Si el tiempo de arriendo es especificado, entonces arriendos serán
501otorgados por esa cantidad de tiempo. El tiempo de arriendo es en
Simon Kelley03a97b62009-06-10 20:55:49 +0100502segundos, o minutos (por ejemplo, 45m), u horas (por ejemplo, 1h), o
503"infinite". Si no es brindada, el tiempo de arriendo predeterminado
504es de una hora. El tiempo de arriendo mínimo es de dos minutos.
505Esta opción puede ser repetida, con diferentes
Simon Kelley5aabfc72007-08-29 11:24:47 +0100506direcciones, para habilitar servicio DHCP en más de una red. Para
Simon Kelley849a8352006-06-09 21:02:31 +0100507redes conectadas diréctamente (en otras palabras, redes en las
508cuales la máquina corriendo dnsmasq tiene una interface) la
Simon Kelleyf2621c72007-04-29 19:47:21 +0100509máscara de subred es opcional. Pero, es requerida para redes que
Simon Kelley849a8352006-06-09 21:02:31 +0100510reciben servicio DHCP vía un agente de relay. La dirección de
Simon Kelley03a97b62009-06-10 20:55:49 +0100511broadcast siempre es opcional. Siempre se permite tener más de
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100512un rango dhcp (dhcp-range) en una subred.
513
514El parámetro opcional
515.B set:<tag>
516fija una etiqueta alfanumérica la cual marca esta red de
Simon Kelley03a97b62009-06-10 20:55:49 +0100517tal forma que opciones dhcp puedan ser especificadas en base a cada red.
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100518Cuando es prefijada con 'tag:' en vez, entonces el significado cambia
Simon Kelleyf2621c72007-04-29 19:47:21 +0100519de "fijar etiqueta" a "coincidir con etiqueta". Solo una etiqueta puede
520ser fijada, pero más de una puede ser revisada por coincidencias. La
521dirección final puede ser remplazada por la palabra clave
Simon Kelley849a8352006-06-09 21:02:31 +0100522.B static
523la cual le dice a dnsmasq que debe habilitar DHCP para la red
Simon Kelley03a97b62009-06-10 20:55:49 +0100524especificada, pero no alocar dinámicamente direcciones IP:
Simon Kelley849a8352006-06-09 21:02:31 +0100525Solo hosts que tienen direcciones estáticas brindadas vía
526.B dhcp-host
Simon Kelley03a97b62009-06-10 20:55:49 +0100527o desde /etc/ethers serán servidas. La dirección final puede ser
528remplazada por la palabra clave
529.B proxy
530caso en el cual dnsmasq proveerá proxy-DHCP en la subred especificada. (Ver
531.B pxe-prompt
532y
533.B pxe-service
534para detalles.)
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100535
536La sección interface:<interface name> no es normalmente usada. Ver la
537sección NOTAS para detalles sobre esto.
Simon Kelley849a8352006-06-09 21:02:31 +0100538.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100539.B \-G, --dhcp-host=[<hwaddr>][,id:<client_id>|*][,set:<tag>][,<ipaddr>][,<hostname>][,<tiempo_de_arriendo>][,ignorar]
Simon Kelley849a8352006-06-09 21:02:31 +0100540Especificar parámetros por host para el servidor DHCP. Esto permite
541que una máquina con una dirección de hardware particular sea siempre
542alocada el mismo nombre de host, dirección IP, y tiempo de arriendo.
543Un nombre de host especificado de esta manera toma presedencia
544sobre cualquiera suministrado por el cliente DHCP en la máquina.
545También se permite omitir la direccion de hardware y incluir el
Simon Kelley5aabfc72007-08-29 11:24:47 +0100546nombre de host; en tal caso la dirección IP y los tiempos de arriendo
Simon Kelley849a8352006-06-09 21:02:31 +0100547serán aplicables a cualquier máquina que reclame ese nombre.
548Por ejemplo:
549.B --dhcp-host=00:20:e0:3b:13:af,wap,infinite
550le dice a dnsmasq que debe darle a la máquina con dirección
551ethernet 00:20:e0:3b:13:af el nombre wap, y un arriendo DHCP infinito.
552.B --dhcp-host=lap,192.168.0.199
553le dice a dnsmasq que siempre debe alocarle a la maquina lap
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100554la dirección IP 192.168.0.199.
555
556Direcciones alocadas de esta manera no tienen que estar dentro
557del rango dado con la opción --dhcp-range, pero deben estar en la subred
558de un rango DHCP (dhcp-range) válido. Para subredes que no necesitan
559una collección de direcciones dinamicamente alocadas, usar la palabra
560clave "static" in la declaración dhcp-range.
561
562Es permitido usar identificadores de cliente en vez de direcciones de
Simon Kelley849a8352006-06-09 21:02:31 +0100563hardware para identificar hosts prefijando 'id:'. O sea que:
564.B --dhcp-host=id:01:02:03:04,.....
565se refiere al host con identificador de cliente 01:02:03:04.
566También se permite especificar el ID de cliente como texto, así:
Simon Kelleyf2621c72007-04-29 19:47:21 +0100567.B --dhcp-host=id:iddeclientecomotexto,.....
Simon Kelley9009d742008-11-14 20:04:27 +0000568
Simon Kelley849a8352006-06-09 21:02:31 +0100569La opción especial id:* significa "ignorar cualquier ID de cliente
570y usar solamente direcciones MAC." Esto es útil cuando un cliente
571presenta un ID de cliente algunas veces pero otras no.
Simon Kelley9009d742008-11-14 20:04:27 +0000572
Simon Kelley849a8352006-06-09 21:02:31 +0100573Si un nombre aparece en /etc/hosts, la dirección asociada puede
574ser alocada a un arriendo DHCP, pero solo si existe una opción
575.B --dhcp-host
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100576la cual especifica el nombre también. Solo un hostname puede ser
577brindado en una opción
578.B dhcp-host
579pero aliases son posibles por medio del uso de CNAMEs. (Ver
580.B --cname
581).
582
583La palabra clave "ignore"
Simon Kelley849a8352006-06-09 21:02:31 +0100584le dice a dnsmasq que no debe ofrecer jamás un arriendo DHCP a
585una máquina. La máquina puede ser especificada por dirección de
586hardware, ID de cliente, o nombre de host, por ejemplo:
587.B --dhcp-host=00:20:e0:3b:13:af,ignore
Simon Kelley9009d742008-11-14 20:04:27 +0000588Esto es útil cuando hay otro servidor DHCP en la red que debe ser
589usado por algúnas máquinas.
590
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100591El set:<tag> fija la etiqueta cuando sea que
Simon Kelley9009d742008-11-14 20:04:27 +0000592esta directiva dhcp-host está en uso. Esto puede ser usado para
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100593enviar selectivamente opciones DHCP a este host. Más de una etiqueta
594puede ser fijada en una directiva dhcp-host (pero no en otros lugares
595donde "set:<tag>" es permitido). Cuando un host coincide con
596cualquier directiva dhcp-host (o una implicada por
597/etc/ethers) entonces la etiqueta especial "known" es
Simon Kelley9009d742008-11-14 20:04:27 +0000598fijada. Esto permite que dnsmasq sea configurado para ignorar
599pedidos desde máquinas desconocidas usando
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100600.B --dhcp-ignore=tag:!known
Simon Kelley849a8352006-06-09 21:02:31 +0100601Direcciones ethernet (pero no client-ids) pueden tener bytes
602comodínes, así que por ejemplo
603.B --dhcp-host=00:20:e0:3b:13:*,ignore
604causará que dnsmasq ignore un rango de direcciones ethernet. Nótese
605que el "*" necesitará ser escapado o escrito entre comillas en la
606línea de comandos, pero no en el archivo de configuración.
Simon Kelley9009d742008-11-14 20:04:27 +0000607
Simon Kelley849a8352006-06-09 21:02:31 +0100608Direcciones de hardware normalmente coinciden con cualquier
609tipo de red (ARP), pero es posible restringirlas a un tipo ARP
610singular precediendolo con el tipo ARP (en HEX) y "-". Así que
611.B --dhcp-host=06-00:20:e0:3b:13:af,1.2.3.4
Simon Kelley5aabfc72007-08-29 11:24:47 +0100612solo coincidiría con una dirección de hardware Token-Ring, dado que
Simon Kelley849a8352006-06-09 21:02:31 +0100613el tipo ARP para Token-Ring es 6.
Simon Kelley9009d742008-11-14 20:04:27 +0000614
615Como caso especial, es posible incluir más de una dirección de
Simon Kelley03a97b62009-06-10 20:55:49 +0100616hardware. Ejemplo:
617.B --dhcp-host=11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.2
618Esto permite que una dirección IP sea asociada con
Simon Kelley9009d742008-11-14 20:04:27 +0000619direcciones de hardware múltiples, y le brinda a dnsmasq permiso
620para abandonar un arriendo DHCP a una de las direcciones de hardware
621cuando otra pide un arriendo. Nótese que esto es algo peligroso,
622sólo funcionará dependiblemente si una de las direcciones de hardware
623está activa en cualquier momento y dnsmasq no tiene forma de enforzar
624esto. Pero es útil, por ejemplo, para alocar una dirección IP estable
Simon Kelley03a97b62009-06-10 20:55:49 +0100625a una laptop que tiene interface alámbrica e inalámbrica.
Simon Kelley5aabfc72007-08-29 11:24:47 +0100626.TP
627.B --dhcp-hostsfile=<archivo>
628Leer información host DHCP desde el archivo especificado. El archivo contiene información de un host por línea. El formato de una línea es igual que texto hacia la derecha de '=' en --dhcp-host. La ventaja de almacenar información host DHCP en este archivo es que puede ser cambiada sin tener que reiniciar dnsmasq. El archivo será re-leído cuando dnsmasq recibe un SIGHUP.
629.TP
Simon Kelley824af852008-02-12 20:43:05 +0000630.B --dhcp-optsfile=<archivo>
631Leer información sobre opciones DHCP desde el archivo especificado. La
632ventaja de usar esta opción es la misma que con --dhcp-hostsfile: el
633archivo dhcp-optsfile será re-leído cuando dnsmasq recibe un SIGHUP.
Simon Kelley316e2732010-01-22 20:16:09 +0000634Nótese que es posible colocar la información mediante
635.B --dhcp-boot
636como opciones DHCP, usando los nombres de opción bootfile-name,
637server-ip-address, y tftp-server. Esto permite que sean incluidas en
638un archivo dhcp-optsfile.
Simon Kelley824af852008-02-12 20:43:05 +0000639.TP
Simon Kelley849a8352006-06-09 21:02:31 +0100640.B \-Z, --read-ethers
641Leer /etc/ethers en busca de información sobre hosts para el servidor
642DHCP. El formato de /etc/ethers es una dirección de hardware, seguida
643por ya sea un nombre de host o una dirección IP. Al ser leidas por
644dnsmasq, estas líneas tienen exáctamente el mismo efecto que opciones
645.B --dhcp-host
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100646que contienen la misma información. /etc/ethers es re-leída cuando
647dnsmasq recibe un SIGHUP.
Simon Kelley849a8352006-06-09 21:02:31 +0100648.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100649.B \-O, --dhcp-option=[tag:<tag>,[tag:<tag>,]][encap:<opt>,][vi-encap:<enterprise>,][vendor:[<vendor-class>],][<opt>|option:<opt-name>],[<value>[,<value>]]
Simon Kelley849a8352006-06-09 21:02:31 +0100650Especificar opciones diferentes o extra a clientes DHCP. Por
651predeterminado, dnsmasq envía algunas opciones estándar a clientes
652DHCP. La máscara de subred y dirección broadcast son fijadas igual
653a las del host que corre dnsmasq, y el servidor DNS y ruteador
654a la dirección de la máquina que corre dnsmasq. Si la opción de
655nombre de dominio ha sido fijada, es enviada. Esta opción permite
656que esos predeterminados sean sobrescritos, o que sean especificadas
Simon Kelleyf2621c72007-04-29 19:47:21 +0100657otras opciones. La opción a ser enviada puede ser brindada como un
658número decimal o como "option:<option-name>". Los números de opción
659están especificados en RFC2132 y RFCs subsiguientes. El juego de
660option-names conocido por dnsmasq puede ser descubierto ejecutando
Simon Kelley5aabfc72007-08-29 11:24:47 +0100661"dnsmasq --help dhcp". Por ejemplo, para fijar la ruta predeterminada a
Simon Kelley849a8352006-06-09 21:02:31 +0100662192.168.4.4, hágase un
663.B --dhcp-option=3,192.168.4.4
Simon Kelleyf2621c72007-04-29 19:47:21 +0100664o
Simon Kelley5aabfc72007-08-29 11:24:47 +0100665.B --dhcp-option=option:router, 192.168.4.4
Simon Kelley849a8352006-06-09 21:02:31 +0100666y para fijar la dirección de servidor de tiempo a 192.168.0.4,
667hágase un
668.B --dhcp-option=42,192.168.0.4
Simon Kelleyf2621c72007-04-29 19:47:21 +0100669o
Simon Kelley5aabfc72007-08-29 11:24:47 +0100670.B --dhcp-option=option:ntp-server, 192.168.0.4
Simon Kelley849a8352006-06-09 21:02:31 +0100671La dirección especial 0.0.0.0 es entendida que significa "la
672dirección de la máquina que corre dnsmasq". Tipos de data permitidos
Simon Kelleyf2621c72007-04-29 19:47:21 +0100673son direcciones IP de cuatro segmentos, un número decimal, dígitos hex
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100674separados por colones, y un string de texto. Si las etiquetas
Simon Kelley5aabfc72007-08-29 11:24:47 +0100675opcionales son brindadas, entonces esta opción es solo enviada cuando
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100676todas las etiquetas coinciden.
Simon Kelley849a8352006-06-09 21:02:31 +0100677
Simon Kelleyf2621c72007-04-29 19:47:21 +0100678Procesamiento especial es llevado a cabo en un argumento de texto para
679la opción 119, en conforme con RFC3397. Direcciones IP textuales o de
680cuatro segmentos como argumentos a la opción 120 son manejados mediante
681RFC3361. Direcciones IP de cuatro segmentos que son seguidas por un diagonal
682(slash) y después una máscara son codificados mediante RFC3442.
683
Simon Kelley849a8352006-06-09 21:02:31 +0100684Tener cuidado: niguna verificación es hecha sobre si el número de tipo
685correcto es enviado, y es muy posible persuadir a dnsmasq para que
686genere paquetes DHCP ilegales mediante uso inadecuado de esta opción.
687Cuando el valor es un número decimal, dnsmasq debe determinar qué tan
688grande es el objeto de data. Esto es hecho mediante una examinación del
689número de opción, y/o el valor, pero puede ser invalidado agregándole
690una opción de una sola letra de esta forma: b = un byte, s = dos bytes,
691i = cuatro bytes. Esto es principalmente útil con opciones encapsuladas
692tipo vendedor (ver abajo) donde dnsmasq no puede determinar el tamaño
693de data usando el número de opción. Data de opción la cual consiste
694solo de puntos y dígitos será interpretada por dnsmasq como una
695dirección IP, y será insertada dentro de una opción de esa manera.
696Para forzar un string literal, usar comillas. Por ejemplo, cuando se
697usa la opción 66 para enviar una IP literal como un nombre de servidor
698TFTP, es necesario hacer:
699.B --dhcp-option=66,"1.2.3.4"
Simon Kelleyf2621c72007-04-29 19:47:21 +0100700
701Opciones encapsuladas vendor-class también pueden ser especificadas usando
Simon Kelley849a8352006-06-09 21:02:31 +0100702--dhcp-option: por ejemplo
703.B --dhcp-option=vendor:PXEClient,1,0.0.0.0
Simon Kelleyf2621c72007-04-29 19:47:21 +0100704envía la opción específica de clase de vendedor "mftp-address=0.0.0.0" a
705cualquier cliente cuyo vendor-class
706coincida con "PXEClient". El revisado de coincidencias vendor-class está
707basado en substrings (ver --dhcp-vendorclass para detalles). Si una opción
708vendor-class (número 60) es enviada por dnsmasq, entonces es usada para
709seleccionar opciones encapsuladas en preferencia sobre cualquiera enviada
710por el cliente. Es posible omitir el vendorclass completamente;
711.B --dhcp-option=vendor:,1,0.0.0.0
Simon Kelley03a97b62009-06-10 20:55:49 +0100712caso en el cuál la opción encapsulada siempre es enviada.
713Opciones pueden ser encapsuladas dentro de otras opciones, por ejemplo:
714.B --dhcp-option=encap:175, 190, "iscsi-client0"
715enviará opción 175, dentro de la cual está opción 190. Si múltiples
716opciones son brindadas que están encapsuladas con el mismo número de
717opción entonces serán correctamente combinadas en una opción encapsulada.
718encap: y vendor: no pueden ser fijadas ambas dentro de la misma opción dhcp-option.
Simon Kelley316e2732010-01-22 20:16:09 +0000719
720La variante final en opciones encapsuladas es "Vendor-Identifying Vendor Options"
721como especificado en RFC3925. Estos son denotados así:
722.B --dhcp-option=rfc3925-encap:2, 10, "text"
723El número en la sección rfc3925-encap: es el número enterprise usado
724para identificar esta opción.
725
Simon Kelley03a97b62009-06-10 20:55:49 +0100726La dirección 0.0.0.0 no es tratada de forma especial en opciones encapsuladas.
Simon Kelleyf2621c72007-04-29 19:47:21 +0100727.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100728.B --dhcp-option-force=[tag:<tag>,[tag:<tag>,]][encap:<opt>,][vi-encap:<enterprise>,][vendor:[<vendor-class>],]<opt>,[<value>[,<value>]]
Simon Kelleyf2621c72007-04-29 19:47:21 +0100729Esto funciona exáctamente de la misma forma que
730.B --dhcp-option
Simon Kelley5aabfc72007-08-29 11:24:47 +0100731excepto que la opción siempre será enviada, aún si el cliente no la pide en
Simon Kelleyf2621c72007-04-29 19:47:21 +0100732la lista de pedido de parámetros. Esto se necesita aveces, por ejemplo cuando
733enviando opciones a PXELinux.
Simon Kelley849a8352006-06-09 21:02:31 +0100734.TP
Simon Kelley824af852008-02-12 20:43:05 +0000735.B --dhcp-no-override
736Deshabilitar la reutilización de los campos DHCP de nombre de servidor y
737archivo como espacio para opciones extra. Si puede, dnsmasq mueve la información
738del servidor boot y del nombre de archivo (de dhcp-boot) de sus campos dedicados
739hacia opciones DHCP. Esto crea espacio extra en el paquete DHCP para opciones,
740pero puede raramente confundir clientes viejos o defectuosos. Esta opción forza
741comportamiento "simple y sencillo" para prevenir problemas en tales casos.
742.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100743.B \-U, --dhcp-vendorclass=set:<tag>,<vendor-class>
744Trazar desde un string vendor-class a una etiqueta. La mayoría de los
Simon Kelley849a8352006-06-09 21:02:31 +0100745clientes DHCP proveen una "vendor class" la cual representa, en cierto
Simon Kelleyf2621c72007-04-29 19:47:21 +0100746sentido, el tipo de host. Esta opción traza clases de vendedor a network
Simon Kelley849a8352006-06-09 21:02:31 +0100747ids, de tal forma que opciones DHCP pueden ser selectivamente entregadas
748a diferentes clases de hosts. Por ejemplo
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100749.B dhcp-vendorclass=set:printers,Hewlett-Packard JetDirect
Simon Kelley849a8352006-06-09 21:02:31 +0100750peritiría que opciones sean fijadas solo para impresoras HP así:
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100751.B --dhcp-option=tag:printers,3,192.168.4.4
Simon Kelley849a8352006-06-09 21:02:31 +0100752El string vendor-class es coordinado con el vendor-class proveido por
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100753el cliente, para permitir coincidencias borrosas. El prefijo set: es
754opcional, pero permitido por razones de consistencia.
Simon Kelley849a8352006-06-09 21:02:31 +0100755.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100756.B \-j, --dhcp-userclass=set:<tag>,<user-class>
757Trazar desde un string user-class a una etiqueta (con coordinación
Simon Kelley849a8352006-06-09 21:02:31 +0100758substring, como con vendor-class). La mayoría de los clientes DHCP
Simon Kelleyf2621c72007-04-29 19:47:21 +0100759proveen un "user class" el cual es configurable. Esta opción traza
Simon Kelley849a8352006-06-09 21:02:31 +0100760clases user a network ids, de tal manera que opciones DHCP puedan
761ser selectivamente enviadas a diferentes tipos de hosts. Es posible,
762por ejemplo, usar esto para especificar una impresora diferente para
Simon Kelleyf2621c72007-04-29 19:47:21 +0100763hosts en la clase "cuentas" que para los de la clase "ingenieria".
Simon Kelley849a8352006-06-09 21:02:31 +0100764.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100765.B \-4, --dhcp-mac=set:<tag>,<MAC address>
766Trazar desde una dirección MAC a una etiqueta. La dirección MAC
Simon Kelley849a8352006-06-09 21:02:31 +0100767puede incluir comodínes. Por ejemplo:
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100768.B --dhcp-mac=set:3com,01:34:23:*:*:*
Simon Kelley849a8352006-06-09 21:02:31 +0100769fijaría el tag "3com" a cualquier host el cual su MAC coincida con
770el patrón.
771.TP
Simon Kelleyf2621c72007-04-29 19:47:21 +0100772.B --dhcp-circuitid=<network-id>,<circuit-id>, --dhcp-remoteid=<network-id>,<remote-id>
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100773Trazar de opciones agente de relay RFC3046 a etiquetas. Estos
Simon Kelleyf2621c72007-04-29 19:47:21 +0100774datos pueden ser proveídos por agentes de relay DHCP. El circuit-id o
775remote-id es normlamente brindado como hex separado por doblepuntos, pero
776también se permite un string simple. Si se obtiene una coincidencia exacta
777entre el circuit o agent ID y uno proveído por un agente de relay,
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100778la etiqueta es fijada.
Simon Kelleyf2621c72007-04-29 19:47:21 +0100779.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100780.B --dhcp-subscrid=set:<tag>,<subscriber-id>
781Trazar de opciones relay subscriber-id RFC3993 a etiquetas.
Simon Kelleyf2621c72007-04-29 19:47:21 +0100782.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100783.B --dhcp-proxy[=<ip addr>]......
784Un agente de relay normal es usado solamente para reenviar las partes
785iniciales de una interacción DHCP con el servidor DHCP. Una vez que
786un cliente es configurado, se comunica diectamente con el servidor. Esto
787es indeseable si el agente de relay está agregando información extra a
788los paquetes DHCP, tal como usado por
789.B dhcp-circuitid
790y
791.B dhcp-remoteid.
792Una implementación relay completa puede usar la opción serverid-override
793RFC 5107 para obligar al servidor DHCP a usar el relay como un proxy
794completo, con todos los paquetes pasando a travez de el. Esta opción
795provee una manera alternativa de hacer la misma cosa, para relays que
796no tienen soporte RFC 5107. Brindada por si sola, manipula el server-id
797para todas las interacciones via relays. Si una lista de IPs es brindada,
798solo interacciones via relays en esas direcciones son afectadas.
799.TP
800.B --dhcp-match=set:<tag>,<option number>|option:<option name>|vi-encap:<enterprise>[,<value>]
801Sin un valor, fijar la etiqueta si el cliente envía una opción
Simon Kelley03a97b62009-06-10 20:55:49 +0100802DHCP del número o valor brindado. Cuando un valor es brindado, fijar la
803etiqueta solo si la opción es enviada y coincide con el valor. El valor puede
804ser de la forma "01:ff:*:02", caso en el cual el valor debe coincidir (aparte
805de los comodines) pero la opción enviada puede tener data que no coincide despues
806del final del valor. El valor también puede ser de la misma forma que
807.B dhcp-option
808caso en el cual la opción enviada es tratada como un array, y un elemento debe
809coincidir, así que
810
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100811--dhcp-match=set:efi-ia32,option:client-arch,6
Simon Kelley03a97b62009-06-10 20:55:49 +0100812
813fijará la etiqueta a "efi-ia32" si el número 6 aparece en la lista de
814architecturas enviada por los clientes en opción 93. (Ver RFC 4578 para
815detalles.) Si el valor es un string, coincidencia substring es usada.
Simon Kelley316e2732010-01-22 20:16:09 +0000816
817La forma especial con vi-encap:<enterpise number> busca coincidencia con
818clases de vendedor identificadoras para el enterprise especificado. Por
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100819favor ver RFC 3925 para mas detalles sobre estas bestias raras e interesantes.
Simon Kelley316e2732010-01-22 20:16:09 +0000820.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100821.B --tag-if=set:<tag>[,set:<tag>[,tag:<tag>[,tag:<tag>]]]
822Llevar a cabo operaciones boolean en etiquetas. Cualquier etiqueta
823que aparece como set:<tag> es fijada si todas las etiquetas que aparecen
824como tag:<tag> estan fijadas, (o desfijadas cuando tag:!<tag> es
825usado). Si ningún tag:<tag> aparece, etiquetas set:<tag> son fijadas
826incondicionalmente. Cualquier cantidad de formas set: y tag:
827pueden aparecer, en cualquier orden. Líneas tag-if son ejecutadas
828en orden, así que si la etiqueta en tag:<tag> es una etiqueta fijada
829por otra
830.B tag-if,
831la línea que fija la etiqueta debe preceder a la que comprueba.
Simon Kelley849a8352006-06-09 21:02:31 +0100832.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100833.B \-J, --dhcp-ignore=tag:<tag>[,tag:<tag>]
834Cuando todoas las etiquetas brindadas aparecen en el juego de etiquetas
835ignorar el host y no brindarle un arriendo DHCP.
836.TP
837.B --dhcp-ignore-names[=tag:<tag>[,tag:<tag>]]
838Cuando todos las etiquetas brindadas aparecen en el juego de etiquetas, ignorar cualquier nombre de host proveido por el host. Nótese que,
839a diferencia de dhcp-ignore, es permisible no brindar ninguna etiqueta,
Simon Kelleyf2621c72007-04-29 19:47:21 +0100840y en tal caso nombres de host proveidos por clientes DHCP siempre son
841ignorados, y hosts DHCP son agregados al DNS usando solo la configuración
842dhcp-host en dnsmasq y el contenido de /etc/hosts y /etc/ethers.
843.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100844.B --dhcp-generate-names=tag:<tag>[,tag:<tag>]
845Generar un nombre para clientes DHCP que de otra forma no tienen uno,
846usando la dirección MAC expresada en hex, separada por guiones. Nótese
847que si un host provee un nombre, será usado preferiblemente sobre este,
848a menos que
849.B --dhcp-ignore-names
850esté fijado.
Simon Kelley824af852008-02-12 20:43:05 +0000851.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100852.B --dhcp-broadcast[=tag:<tag>[,tag:<tag>]]
853Cuando todas las etiquetas aparecen en el juego de etiquetas, siempre
854usar broadcast para comunicar con el host cuando no está configurado.
855Es permisible omitir las etiquetas, caso en el cual esto es
856incondicional. La mayoría de clientes DHCP que necesitan
857respuestas broadcast fijan una opción en sus pedidos para que esto pase automaticamente, algunos clientes BOOTP viejos no lo hacen.
858.TP
859.B \-M, --dhcp-boot=[tag:<tag>,]<filename>,[<servername>[,<server address>]]
Simon Kelleyf2621c72007-04-29 19:47:21 +0100860Fijar opciones BOOTP que han de ser devueltas por el servidor DHCP. Nombre
861y dirección de servidor son opcionales: si no son brindadas, el nombre es
862dejado en blanco, y la dirección es fijada a la de la máquina que corre
863dnsmasq. Si dnsmasq está brindando servicio TFTP (ver
864.B --enable-tftp
865) entonces solo el nombre de archivo es requirido aquí para habilitar
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100866el inicio atravéz de una red. Si las opcionales etiquetas son brindadas,
Simon Kelleyf2621c72007-04-29 19:47:21 +0100867ellas deberán coincidir para que esta configuración sea enviada. Nótese
868que network-ids están prefijadas con "net:" para distinguirlas.
Simon Kelley03a97b62009-06-10 20:55:49 +0100869.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100870.B --pxe-service=[tag:<tag>,]<CSA>,<menu text>[,<basename>|<bootservicetype>][,<server address>]
Simon Kelley03a97b62009-06-10 20:55:49 +0100871La mayoría de usos para boot-ROMS PXE simplemente permiten al sistema PXE
872obtener una dirección IP y entonces bajar el archivo especificado por
873.B dhcp-boot
874y ejecutarlo. Sin embargo, el sistema PXE es capaz de llevar
875a cabo funciones más complejas cuando están soportadas por un
876servidor DHCP adecuado.
877
878Esto especifica una opción boot que puede aparecer en un menú de boot
879PXE. <CSA> es tipo de sistema de cliente, solo servicios del tipo correcto
880aparecerán en un menú. Los tipos conocidos son x86PC, PC98, IA64_EFI,
881Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI y X86-64_EFI;
882un número entero puede ser utilizado para otros tipos. El parámetro después
883del texto de menú puede ser un nombre de archivo, caso en el cuál dnsmasq
884actúa como un servidor boot y le ordena al cliente PXE bajar el archivo
885vía TFTP, ya sea de sí mismo (
886.B enable-tftp
887debe estar fijado para que esto funcione) o desde otro servidor TFTP si la
888dirección IP final es brindada.
889Nótese que el sufijo "layer" (normalmente ".0") es brindado por PXE, y
890no debe ser agregado al nombre base. Si un número entero es brindado en vez
891de un nombre base, entonces el cliente PXE buscará un servicio boot adecuado
Simon Kelley316e2732010-01-22 20:16:09 +0000892para ese tipo de red. Esta búsqueda puede ser hecha mediante broadcast,
893o directamente a un servidor si la dirección IP es brindada. Si ningún tipo
894de servicio boot o nombre de archivo es brindado (o un tipo de servicio boot
895de 0 es especificado), entonces la opción de menú abortará el proceso net boot
896y continuará desde el medio local.
Simon Kelley03a97b62009-06-10 20:55:49 +0100897.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100898.B --pxe-prompt=[tag:<tag>,]<prompt>[,<timeout>]
Simon Kelley03a97b62009-06-10 20:55:49 +0100899Fijar esto hace que un aviso sea expuesto despues del boot PXE. Si el timeout
900es brindado, entonces despues que el timeout se haya vencido sin input del
901teclado, la primera opción del menú sera automaticamente ejecutada. Si el
902timeout es cero entonces la primera opción del menú sera automaticamente
903ejecutada. Si
904.B pxe-prompt
905es omitido, el sistema esperará para el input del usuario si hay múltiples
906artículos en el menú, pero hará boot imediatamente si hay solo uno. Ver
907.B pxe-service
908para detalles sobre artículos de menu.
909
910Dnsmasq tiene soporte para "proxy-DHCP" PXE, en este caso otro servidor
911DHCP en la red es responsable por asignar direcciones IP, y dnsmasq
912simplemente provee la dirección brindada en
913.B pxe-prompt
914y
915.B pxe-service
916para permitir boot a travez de la red. Este modo es habilitado usando
917la palabra clave
918.B proxy
919en
920.B dhcp-range.
921.TP
Simon Kelleyf2621c72007-04-29 19:47:21 +0100922.B \-X, --dhcp-lease-max=<número>
Simon Kelley849a8352006-06-09 21:02:31 +0100923Limita a dnsmasq a el número especificado de arriendos DHCP. El
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100924predeterminado es 1000. El limite es para prevenir ataques DoS desde
Simon Kelley849a8352006-06-09 21:02:31 +0100925hosts que crean cientos de arriendos y usan mucha de la memoria del
926proceso dnsmasq.
927.TP
928.B \-K, --dhcp-authoritative
929Esta opción debe ser fijada cuando dnsmasq es definitivamente el único
930servidor DHCP en la red. Cambia el comportamiento de RFC de tal manera
931que pedidos desde hosts no conocidos no serán ignorados. Esto permite que
932hosts nuevos puedan conseguir un arriendo sin sin un timeout bajo toda
933circunstancia. También permite que dnsmasq reconstruya su base de datos
Simon Kelley3927da42008-07-20 15:10:39 +0100934de arriendos sin que cada cliente necesite readquirir un arriendo
935si la base de datos es perdida.
936.TP
937.B --dhcp-alternate-port[=<puerto de servidor>[,<puerto de cliente>]]
938Cambiar del predeterminado los puertos usados para DHCP. Si esta opción
939es brindada sola, sin argumentos, cambia los puertos usados para DHCP
940de 67 y 68 a 1067 y 1068. Si un solo argumento es brindado, ese puerto
941es usado para el servidor y el número de puerto mas uno es usado
942para el cliente. Finalmente, dos números permiten que se especifiquen
943ambos los puertos de servidor y cliente para DHCP.
Simon Kelley849a8352006-06-09 21:02:31 +0100944.TP
Simon Kelley9009d742008-11-14 20:04:27 +0000945.B \-3, --bootp-dynamic[=<network-id>[,<network-id>]]
Simon Kelley849a8352006-06-09 21:02:31 +0100946Habilitar alocación dinámica de direcciones IP a clientes BOOTP. Usar
Simon Kelleyf2621c72007-04-29 19:47:21 +0100947esto con cuidado, ya que cada dirección alocada a un cliente BOOTP
Simon Kelley849a8352006-06-09 21:02:31 +0100948es arrendada para siempre, y consecuentemente queda no-disponible
Simon Kelley9009d742008-11-14 20:04:27 +0000949para re-uso por otros hosts. Si esto es brindado sin etiquetas,
950entonces incondicionalmente habilita alocación dinámica. Con
951etiquetas, solo cuando todas las etiquetas están fijadas. Puede
952ser repetido con diferentes juegos de etiquetas.
Simon Kelley849a8352006-06-09 21:02:31 +0100953.TP
954.B \-5, --no-ping
955Por predetermindado, el servidor DHCP tratará de asegurarse que una
956dirección no esté en uso antes de alocarsela a un host. Hace esto
957enviando un echo ICMP (ping) a la dirección referente. Si recibe una
958respuesta, entonces la dirección debe estar siendo usada, y se repite
Simon Kelleyf2621c72007-04-29 19:47:21 +0100959la prueba con otra. Esta opción deshabilita esta prueba. Usar con
Simon Kelley849a8352006-06-09 21:02:31 +0100960cuidado.
961.TP
Simon Kelleyf2621c72007-04-29 19:47:21 +0100962.B --log-dhcp
963Bitacoréo extra para DHCP: Bitacorear todas las opciones enviadas a
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100964clientes DHCP y las etiquetas usadas para determinarlos.
Simon Kelleyf2621c72007-04-29 19:47:21 +0100965.TP
Simon Kelley849a8352006-06-09 21:02:31 +0100966.B \-l, --dhcp-leasefile=<path>
Simon Kelleyf2621c72007-04-29 19:47:21 +0100967Usar el archivo especificado para almacenar información de arriendos
Simon Kelley03a97b62009-06-10 20:55:49 +0100968DHCP.
Simon Kelley849a8352006-06-09 21:02:31 +0100969.TP
970.B \-6 --dhcp-script=<path>
Simon Kelleyf2621c72007-04-29 19:47:21 +0100971Cuando un arriendo DHCP nuevo es creado, o uno viejo es
Simon Kelley9009d742008-11-14 20:04:27 +0000972destruido, el ejecutable especificado por esta opción es ejecutado.
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100973<path> debe ser un pathname absoluto, ninguna búsqueda PATH ocurre.
Simon Kelley849a8352006-06-09 21:02:31 +0100974Los argumentos para el binario son "add", "old", o "del", la dirección
Simon Kelley9009d742008-11-14 20:04:27 +0000975MAC del host, la dirección IP, y el hostname, si es
Simon Kelley849a8352006-06-09 21:02:31 +0100976conocido. "add" significa que un arriendo ha sido creado, "del" que
977ha sido destruido, y "old" es una notificación de un arriendo existente
978cuando dnsmasq inicia o un cambio a una MAC o nombre host de un arriendo
Simon Kelleyf2621c72007-04-29 19:47:21 +0100979existente (también, tiempo de arriendo o vencimiento y client-id, si
Simon Kelley9009d742008-11-14 20:04:27 +0000980leasefile-ro está fijado). Si la dirección MAC es de un tipo de red
981que no es ethernet, tendrá el tipo de red precolocado, por ejemplo
982"06-01:23:45:67:89:ab" para token ring. El proceso es ejecutado como root
983(asumiendo que dnsmasq fue originalmente ejecutado como root) aún si dnsmasq
984está configurado para cambiar su UID a un usuario sin privilegios.
Simon Kelley8ef5ada2010-06-03 19:42:45 +0100985
986
987El ambiente es heredado del usuario que ha invocado a dnsmasq, con algunas
988o todas de las siguientes variables agregadas.
989
990DNSMASQ_CLIENT_ID si el host brindo un client-id.
991
992DNSMASQ_DOMAIN si el nombre de dominio completamente calificado del host
993es conocido, esto es fijado a la parte del dominio.
994
995Si el cliente brinda vendor-class, hostname o user-class, estos son
996brindados en las variables
Simon Kelley316e2732010-01-22 20:16:09 +0000997DNSMASQ_VENDOR_CLASS, DNSMASQ_SUPPLIED_HOSTNAME, y
Simon Kelleyf2621c72007-04-29 19:47:21 +0100998DNSMASQ_USER_CLASS0..DNSMASQ_USER_CLASSn, pero solo para acciones "add"
Simon Kelley316e2732010-01-22 20:16:09 +0000999y "old" cuando un host reanuda un arriendo existente, dado a que estos
Simon Kelleyf2621c72007-04-29 19:47:21 +01001000datos no son almacenados en la base de datos de arriendos de dnsmasq.
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001001
Simon Kelleyf2621c72007-04-29 19:47:21 +01001002Si dnsmasq fue compilado con HAVE_BROKEN_RTC, entonces la duración del
1003arriendo (en segundos) es almacenada en DNSMASQ_LEASE_LENGTH, de otra
1004manera el tiempo de vencimiento es almacenado en DNSMASQ_LEASE_EXPIRES.
Simon Kelley5aabfc72007-08-29 11:24:47 +01001005El número de segundos faltante para el vencimiento del arriendo siempre
1006es almacenado en DNSMASQ_TIME_REMAINING.
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001007
Simon Kelleyf2621c72007-04-29 19:47:21 +01001008Si un arriendo solía tener un nombre de host, el cual es removido, un
1009evento "old" es generado con el nuevo estado del arriendo, (por ejemplo, sin
1010nombre), y el nombre anterior es brindado en la variable de ambiente
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001011DNSMASQ_OLD_HOSTNAME.
1012
1013DNSMASQ_INTERFACE almacena el nombre de la interface
Simon Kelley824af852008-02-12 20:43:05 +00001014en la cual llegó el pedido; esto no es fijado para acciones "viejas"
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001015cuando dnsmasq re-inicia.
1016
1017DNSMASQ_RELAY_ADDRESS es fijado si el cliente
Simon Kelley316e2732010-01-22 20:16:09 +00001018usó un relay DHCP para contactar a dnsmasq y la dirección IP del relay
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001019es conocida.
1020
1021DNSMASQ_TAGS contiene todas las etiquetas network-id fijadas
Simon Kelley316e2732010-01-22 20:16:09 +00001022durante la transacción DHCP, separadas por espacios.
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001023
Simon Kelley5aabfc72007-08-29 11:24:47 +01001024Todos los descriptores de archivo están cerrados
Simon Kelleyf2621c72007-04-29 19:47:21 +01001025excepto stdin, stdout, y stderr los cuales están abiertos a /dev/null
1026(excepto en modo debug).
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001027
1028Este guión no es invocado concurrentemente: máximo una instamcia del
1029guión está corriendo a la vez (dnsmasq espera a que una instancia de
1030guión haga exit antes de correr la siguiente). Cambios a la base de
1031datos de arriendos que requieren que el guión sea invocado son puestos
1032en cola esperando el exit de una instancia corriente. Si esta cola permite
1033que cambios multiples de estado le ocurran a un arriendo individual antes
1034de que el guión pueda ser ejecutado entonces estados anteriores son descartados
1035y el estado actual del arriendo es reflejado cuando el guión finalmente corre.
1036
1037Al inicio de dnsmasq, el guión
Simon Kelley5aabfc72007-08-29 11:24:47 +01001038será invocado para todos los arriendos existentes mientras van siendo
Simon Kelleyf2621c72007-04-29 19:47:21 +01001039leídos desde el archivo de arriendos. Arriendos vencidos serán llamados
Simon Kelley849a8352006-06-09 21:02:31 +01001040con "del" y otros con "old". <path> debe ser un path absoluto, ninguna
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001041búsqueda PATH ocurre cuando arriendos dnsmasq serán llamados con "del"
1042y otros con "old". Cuando dnsmasq recibe una señal HUP, el guión será
Simon Kelley5aabfc72007-08-29 11:24:47 +01001043invocado para arriendos existentes con un evento "old".
Simon Kelley849a8352006-06-09 21:02:31 +01001044.TP
Simon Kelley3927da42008-07-20 15:10:39 +01001045.B --dhcp-scriptuser
1046Especificar el usuario como el cual se debe correr el archivo
1047guión de cambio de arriendos. Este es root por predeterminado,
1048pero puede ser cambiado a otro usuario mediante esta opción.
1049.TP
Simon Kelleyf2621c72007-04-29 19:47:21 +01001050.B \-9, --leasefile-ro
1051Suprimir completamente el uso del archivo de arriendos. El archivo no será
Simon Kelley5aabfc72007-08-29 11:24:47 +01001052creado, leído, ni escrito. Cambiar la manera en la cuál el archivo guión de
1053cambio de arriendo (si es brindado) es llamado, de tal forma que la base de
1054datos de arriendospueda ser mantenida en almacenaje externo por el archivo
1055guión. Adicionálmente a las invocaciones brindadas en
Simon Kelleyf2621c72007-04-29 19:47:21 +01001056.B --dhcp-script
1057el archivo de cambio de arriendos es llamado una vez, al inicio de dnsmasq,
1058con el único argumento "init". Cuando invocado de esta forma, el guión debería
1059escribir el estado guardado de la base de datos de arriendos, en formato de
1060archivo de arriendos dnsmasq, a stdout y hacer exit con código exit cero. Fijar
1061esta opción también forza que el archivo de cambio de arriendos sea llamado
1062cuando hay cambios hechos a el client-id y tiempos de arriendo y vencimiento.
1063.TP
1064.B --bridge-interface=<nombre de interface>,<alias>[,<alias>]
Neil Jerram4918bd52015-06-10 22:23:20 +01001065Tratar paquetes de pedidos DHCP (v4 y v6) y de IPv6 Router Solicit que
1066llegan a cualquiera de las interfaces <alias> como si hubieran llegado
1067a la interface <nombre de interface>. Esta opción permite que dnsmasq
1068puede proporcionar los servicios DHCP y RA a través de interfaces
1069ethernet sin dirección y sin puente; por ejemplo en un nodo de cálculo
1070de OpenStack, donde cada una de esas interfaces es una interfaz TAP
1071para una máquina virtual, o al usar bridging estilo viejo en
1072plataformas BSD.
Simon Kelleyf2621c72007-04-29 19:47:21 +01001073.TP
Simon Kelley9009d742008-11-14 20:04:27 +00001074.B \-s, --domain=<dominio>[,<rango de IPs>]
1075Especifica los dominios DNS para el servidor DHCP. Dominios pueden ser
1076brindados incondicionalmente (sin el rango de IPs) o para rangos limitados. Esto
1077tiene dos efectos: Primeramente, causa que el servidor DHCP le devuelva el
1078dominio a cualquier host que lo pida. Segundamente, fija el dominio para el
1079cual es legal para hosts configurados mediante DHCP reclamar. La intención es
Simon Kelley849a8352006-06-09 21:02:31 +01001080restringir nombres de host para que un host no-confiado en la LAN no
1081pueda proclamar su nombre vía DHCP, como por ejemplo "microsoft.com" y
1082capturar tráfico no destinado a ella. Si ningún sufijo de dominio es
1083especificado, entonces cualquier nombre de host con una parte de dominio
Simon Kelleyf2621c72007-04-29 19:47:21 +01001084(o sea con un punto) será negada y bitacorada. Si un sufijo es especificado,
Simon Kelley849a8352006-06-09 21:02:31 +01001085entonces nombres de host con una parte de dominio son permitidos, con tal
1086que la parte de dominio coincida con el sufijo. Adicionalmente, cuando
1087un sufijo es fijado, entonces nombres de host sin parte de dominio tienen
1088el sufijo agregado como una parte de dominio opcional. Por ejemplo, en
1089mi red puedo fijar
1090.B --domain=thekelleys.org.uk
1091y tener una maquina cuyo nombre host DHCP es "laptop". La dirección IP
1092de esa máquina es disponible desde
1093.B dnsmasq
1094como "laptop" y "laptop.thekelleys.org.uk". Si el dominio es brindado
Simon Kelleyf2621c72007-04-29 19:47:21 +01001095como "#" entonces el dominio es leido desde la primera directiva search
Simon Kelley9009d742008-11-14 20:04:27 +00001096en /etc/resolv.conf (o equivalente). El rango de direcciones puede ser
1097<dirección IP>,<dirección IP> or <dirección IP>/<máscara de subred>. Ver
1098.B --dhcp-fqdn el cual puede cambiar el comportamiento de dnsmasq con
1099dominios.
1100.TP
1101.B --dhcp-fqdn
1102En el modo predeterminado, dnsmasq pone los nombres no-calificados
1103de clientes DHCP en el DNS. Por esta razón, los nombres deben ser únicos,
1104aún si dos clientes que tienen el mismo nombre están en dominios
1105diferentes. Si un segundo cliente DHCP aparece el cual tiene el mismo
1106nombre que un cliente existente, el nombre es transferido al cliente nuevo. Si
1107.B --dhcp-fqdn
1108está fijado, este comportamiento cambia: El nombre no-calificado
1109no es puesto en el DNS, solo el nombre calificado. Dos clientes DHCP con
1110el mismo nombre pueden ambos quedarse con el nombre, con tal que la parte
1111de dominio sea diferente (o sea que los nombres completamente calificados
1112difieran). Para asegurar que todos los nombres tengan una parte de dominio,
1113debe haber al menos
1114.B --domain
1115sin una dirección especificada cuando
1116.B --dhcp-fqdn
1117está fijado.
Simon Kelley849a8352006-06-09 21:02:31 +01001118.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001119.B --enable-tftp[=<interface>]
Simon Kelleyf2621c72007-04-29 19:47:21 +01001120Habilitar la función de servidor TFTP. Esto está deliberadamente limitado
Simon Kelley3927da42008-07-20 15:10:39 +01001121a lo necesario para hacerle a un cliente un inicio vía red. Solo lectura es
1122permitida; las extensiones tsize y blksize son soportadas (tsize solo es
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001123soportada en modo octeto). Ver sección de NOTAS para el uso de el argumento
1124de interface.
Simon Kelleyf2621c72007-04-29 19:47:21 +01001125.TP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001126.B --tftp-root=<directory>[,<interface>]
Simon Kelleyf2621c72007-04-29 19:47:21 +01001127Buscar, relativo al directorio brindado, archivos para transferir mediante el
1128uso de TFTP. Cuando esta opción está fijada, paths TFTP que incluyen ".." son
1129rechazados, para prevenir que clientes salgan de la raíz especificada. Paths
1130absolutos (los que comienzan con "/") están permitidos, pero deben estar
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001131dentro del tftp-root. Si el argumento opcional de interface es brindado, el
1132directorio es solo usado para pedidos TFTP vía esa interface.
Simon Kelleyf2621c72007-04-29 19:47:21 +01001133.TP
Simon Kelley5aabfc72007-08-29 11:24:47 +01001134.B --tftp-unique-root
1135Agregar la dirección IP del cliente TFTP como un componente path del lado del
1136TFTP-root (en formato estándar de cuatro puntos). Solo válido si un tftp-root
1137está fijado y el directorio existe. Por ejemplo, si tftp-root es "/tftp" y el
1138cliente 1.2.3.4 pide el archivo "miarchivo" entonces el path efectivo será
1139"/tftp/1.2.3.4/miarchivo" si /tftp/1.2.3.4 existe o /tftp/miarchivo si no.
1140.TP
Simon Kelleyf2621c72007-04-29 19:47:21 +01001141.B --tftp-secure
1142Habilitar modo TFTP seguro: sin esto, cualquier archivo que es leíble por el
1143proceso dnsmasq bajo reglas normales de control de acceso UNIX, está disponible
1144vía TFTP. Cuando la opción --tftp-secure es fijada, solo archivos
1145pertenecientes al usuario que corre el proceso dnsmasq están accesibles. Si
1146dnsmasq está corriendo como root, reglas diferentes aplican: --tftp-secure no
1147tiene ningún efecto, pero solo archivos que tienen el bit de lectura global
1148fijados están accesibles. No se recomienda correr dnsmasq como root con TFTP
1149habilitado, y mucho menos sin especificar --tftp-root, ya que se puede exponer
1150cualquier archivo de lectura global en el servidor a cualquier host de la red.
1151.TP
1152.B --tftp-max=<conecciones>
1153Fijar el número máximo permitido de conecciones TFTP simultáneas. Esto es 50
1154por predeterminado. Al servir un número grande de conecciones TFTP, límites
1155de descriptor de archivo por proceso pueden ser encontrados. Dnsmasq necesita
1156un descriptor de archivo por cada coneccion TFTP concurrente, y por archivo
1157único (mas algunos otros). De tal manera que servirle el mismo archivo
1158simultáneo a n clientes requerirá el uso de n + 10 descriptores de archivo,
1159y servirles archivos diferentes simultáneamente requerirá (2*n) + 10
Simon Kelley824af852008-02-12 20:43:05 +00001160descriptores. Si
1161.B --tftp-port-range
1162es brindado, eso puede afectar el número de conexiones simultáneas.
Simon Kelleyf2621c72007-04-29 19:47:21 +01001163.TP
1164.B --tftp-no-blocksize
1165No permitir que el servidor negocie la opción "blocksize" con un cliente.
1166Algunos clientes con errores piden esta opción pero se portán mal cuando se
1167les brinda.
Simon Kelley849a8352006-06-09 21:02:31 +01001168.TP
Simon Kelley824af852008-02-12 20:43:05 +00001169.B --tftp-port-range=<inicio>,<final>
1170Un servidor TFTP escucha por inicios de conexión en un puerto bien conocido
1171(69), pero tambien usa un puerto dinamicamente seleccionado para cada
1172conexión. Normalmente estos son seleccionados por el sistema operativo,
1173pero esta opción especifica un rango de puertos para ser usado por transferencias
1174TFTP. Esto puede ser útil cuando TFTP tiene que pasar atraves de un firewall.
1175El comienzo del rango no puede ser menor a 1025 a menos que dnsmasq esté corriendo
1176como root. El número de conexiones simultáneas está limitado por el tamaño del
1177rango de puertos.
1178.TP
Simon Kelley849a8352006-06-09 21:02:31 +01001179.B \-C, --conf-file=<archivo>
1180Especificar un archivo de configuración diferente. La opción conf-file
1181también es permitida en archivos de configuración, para incluir múltiples
1182archivos de configuración.
1183.TP
Simon Kelley316e2732010-01-22 20:16:09 +00001184.B \-7, --conf-dir=<directorio>[,<file-extension>......]
Simon Kelley849a8352006-06-09 21:02:31 +01001185Leer todos los archivos dentro del directorio brindado como archivos
Simon Kelley316e2732010-01-22 20:16:09 +00001186de configuración. Si extensiones son brindadas, cualquier archivo que
1187termine en esas extensiones son ignorados. Cualquier archivos cuyos nombres
1188terminen con ~ o comienzen con . o comienzen y terminen con # siempre son
1189ignorados. Esta opción puede ser brindada en la línea de comandos o en un
1190archivo de configuración.
Simon Kelley849a8352006-06-09 21:02:31 +01001191.SH ARCHIVO DE CONFIGURACION
1192Al inicio, dnsmasq lee
1193.I /etc/dnsmasq.conf,
1194si existe. (En FreeBSD, el archivo es
1195.I /usr/local/etc/dnsmasq.conf
Simon Kelleyf2621c72007-04-29 19:47:21 +01001196) (pero ver las opciónes
Simon Kelley849a8352006-06-09 21:02:31 +01001197.B \-C
1198y
1199.B \-7
1200porfavor.) El formato de este archivo consiste de una opción por línea,
1201exáctamente como las opciones largas detalladas en la sección OPCIONES
1202pero sin el "--" al frente. Líneas que comienzan con # son comentarios
1203y son ignoradas. Para opciones que solo pueden ser especificadas una
Simon Kelleyf2621c72007-04-29 19:47:21 +01001204sola vez, el archivo de configuración invalida la línea de comandos.
1205Las comillas son permitidas en el archivo de configuración: entre comillas
Simon Kelley849a8352006-06-09 21:02:31 +01001206tipo " los significados especiales de ,:. y # son eliminados y los
Simon Kelley824af852008-02-12 20:43:05 +00001207siguientes escapes son permitidos: \\\\ \\" \\t \\e \\b \\r y \\n.
1208Corresponden a tab, escape, backspace, return y newline.
Simon Kelley849a8352006-06-09 21:02:31 +01001209.SH NOTAS
1210Al recibir un SIGHUP
1211.B dnsmasq
1212libera su cache y entonces recarga
Simon Kelley5aabfc72007-08-29 11:24:47 +01001213.I /etc/hosts
1214y
1215.I /etc/ethers
Simon Kelley824af852008-02-12 20:43:05 +00001216al igual que cualquier archivo brindado con --dhcp-hostsfile, --dhcp-optsfile,
1217o --addn-hosts.
Simon Kelley5aabfc72007-08-29 11:24:47 +01001218El archivo guión de cambio de arriendos es llamado para todos los arriendos
1219DHCP existentes. Si
Simon Kelley849a8352006-06-09 21:02:31 +01001220.B
1221--no-poll
Simon Kelleyf2621c72007-04-29 19:47:21 +01001222está fijado entonces SIGHUP también re-lee
Simon Kelley849a8352006-06-09 21:02:31 +01001223.I /etc/resolv.conf.
1224SIGHUP
1225NO re-lee el archivo de configuración.
1226.PP
1227Al recibir un SIGUSR1,
1228.B dnsmasq
Simon Kelley824af852008-02-12 20:43:05 +00001229escribe estadísticas a la bitácora del sistema. Escribe el tamaño
Simon Kelley849a8352006-06-09 21:02:31 +01001230del caché, el numero de nombres que han tenido que ser removidos del
Simon Kelleyf2621c72007-04-29 19:47:21 +01001231caché antes de que vencieran para hacer espacio para nombres nuevos, y el
Simon Kelley824af852008-02-12 20:43:05 +00001232número total de nombres que han sido insertados en el caché. Para cada
1233servidor upstream brinda el número de búsquedas enviadas, y el
1234número que resultaron en error. En modo
Simon Kelley849a8352006-06-09 21:02:31 +01001235.B --no-daemon
Simon Kelleyf2621c72007-04-29 19:47:21 +01001236o cuando bitacoréo completo está habilitado (-q), una descarga completa de
Simon Kelley849a8352006-06-09 21:02:31 +01001237el contenido del caché es hecha.
1238.PP
Simon Kelley5aabfc72007-08-29 11:24:47 +01001239Cuando recibe un SIGUSR2 y está bitacoreando diréctamente a un archivo (ver
1240.B --log-facility
1241)
1242.B dnsmasq
1243cerrará y reabrirá el archivo de bitácora. Nótese que durante esta
1244operación, dnsmasq no estará corriendo como root. Al crear el archivo de
1245bitácora, dnsmasq cambia el dueño del archivo a el usuario normal como
1246el que correrá. Logrotate debe ser configurado para crear un archivo de
1247bitácora nuevo con permisos iguales al existente, antes de enviar
1248SIGUSR2. Si búsquedas DNS TCP están en progreso, el archivo de bitácora
1249viejo se mantendrá abierto en procesos hijos que están manejando
1250búsquedas TCP, y puede continuarse a escribirle. Hay un límite de 150
1251segundos, después de lo cual todos los procesos TCP existentes se habrán
1252vencido: por esta razón, no es sabio configurar compresión de archivos
1253de bitácora para archivos que acaban de ser rotados. Con logrotate, las
1254opciones requeridas son
1255.B create
1256y
1257.B delaycompress.
1258.PP
Simon Kelley849a8352006-06-09 21:02:31 +01001259Dnsmasq es un reenviador de búsquedas DNS: no puede responder búsquedas
1260arbitrarias comenzando desde los servidores root pero reenvía dichas
1261búsquedas a un servidor DNS recursivo, el cual es típicamente proveído
1262por el proveedor de Internet. Por predeterminado, dnsmasq lee
1263.I /etc/resolv.conf
1264para descubir las direcciones IP de los servidores DNS upstream que
1265debe usar, dado a que esta información es normalmente almacenada allí.
1266Amenos que
1267.B --no-poll
1268sea usado,
1269.B dnsmasq
1270revisa el tiempo de modificación de
1271.I /etc/resolv.conf
1272(o equivalente si
1273.B \--resolv-file
Simon Kelleyf2621c72007-04-29 19:47:21 +01001274es usado) y lo re-lee si ha cambiado. Esto permite que servidores DNS séan
Simon Kelley849a8352006-06-09 21:02:31 +01001275fijados dinámicamente vía PPP o DHCP ya que ambos protocolos brindan esta
1276información.
1277La ausencia de
1278.I /etc/resolv.conf
1279no es un error ya que pudo haber sido creada antes de que una conexión PPP
1280haya existido. Dnsmasq simplemente sigue revisando en caso de que
1281.I /etc/resolv.conf
1282sea creado en algún momento. A dnsmasq se le puede decir que revise más
Simon Kelleyf2621c72007-04-29 19:47:21 +01001283de un archivo resolv.conf. Esto es útil en una laptop, donde ambos PPP y
Simon Kelley5aabfc72007-08-29 11:24:47 +01001284DHCP podrían estar siendo usados: dnsmasq puede ser fijado para revisar ambos
Simon Kelley849a8352006-06-09 21:02:31 +01001285.I /etc/ppp/resolv.conf
1286y
1287.I /etc/dhcpc/resolv.conf
Simon Kelleyf2621c72007-04-29 19:47:21 +01001288y usará el contenido del que haya cambiado mas recientemente,
Simon Kelley849a8352006-06-09 21:02:31 +01001289brindando así la habilidad de cambio automático entre servidores DNS.
1290.PP
1291Servidores upstream también pueden ser especificados en la línea de
1292comandos o en el archivo de configuración. Estas especificaciones de
Simon Kelleyf2621c72007-04-29 19:47:21 +01001293servidor opcionalmente llevan un nombre de dominio el cual le dice a
Simon Kelley849a8352006-06-09 21:02:31 +01001294dnsmasq que debe usar ese servidor solo para encontrar nombres en ese
1295dominio en particular.
1296.PP
Simon Kelleyf2621c72007-04-29 19:47:21 +01001297Para configurar dnsmasq como caché para el host donde está
Simon Kelley849a8352006-06-09 21:02:31 +01001298corriendo, poner un "nameserver 127.0.0.1" en
1299.I /etc/resolv.conf
Simon Kelleyf2621c72007-04-29 19:47:21 +01001300para así forzar procesos locales a enviar búsquedas a dnsmasq. Entonces,
1301o especificar los servidores upstream diréctamente a dnsmasq usando opciones
Simon Kelley849a8352006-06-09 21:02:31 +01001302.B \--server
1303o poniendo sus direcciones reales en otro archivo, digamos
1304.I /etc/resolv.dnsmasq
1305y correr dnsmasq con la opcion
1306.B \-r /etc/resolv.dnsmasq
1307Esta segunda técnica permite la actualización dinámica de las direcciones
Simon Kelleyf2621c72007-04-29 19:47:21 +01001308de servidor mediante PPP o DHCP.
Simon Kelley849a8352006-06-09 21:02:31 +01001309.PP
Simon Kelleyf2621c72007-04-29 19:47:21 +01001310Direcciones en /etc/hosts "harán sombra" a diferentes direcciones para
Simon Kelley849a8352006-06-09 21:02:31 +01001311los mismos nombres en servidores DNS upstream, así que
1312"miempresa.com 1.2.3.4" en /etc/hosts se asegurará que las búsquedas
1313por "miempresa.com" siempre retornarán 1.2.3.4 aún si búsquedas en el
1314servidor DNS upstream devolverían una dirección diferente. Hay una
1315excepción a esto: si el servidor DNS upstream contiene un CNAME que
1316apunta a un nombre sombreado, entonces buscando el CNAME a travéz de
1317dnsmasq resultará en que la dirección no-sombreada será asociada con
Simon Kelleyf2621c72007-04-29 19:47:21 +01001318el destino del CNAME. Para circumventar esto, agregar el CNAME a
Simon Kelley849a8352006-06-09 21:02:31 +01001319/etc/hosts de tal manera que el CNAME es sombreado también.
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001320
Simon Kelley849a8352006-06-09 21:02:31 +01001321.PP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001322El sistema de etiquetas funciona de la siguiente manera: Para cada pedido
1323DHCP, dnsmasq colecciona un juego de etiquetas válidas de líneas de
1324configuración activas que incluyen set:<tag>, incluyendo una del
Simon Kelley849a8352006-06-09 21:02:31 +01001325.B dhcp-range
1326usado para alocar la dirección, una de cualquier
1327.B dhcp-host
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001328que coincida (y "known" si un dhcp-host coincide).
1329La etiqueta "bootp" es fijada para pedidos BOOTP, y una etiqueta cuyo
1330nombre es el nombre de la interface donde llegó el pedido tambien es
1331fijada.
1332
1333Cualquier linea de configuración que incluya uno o mas
1334construcciones tag:<tag> solo será válida si todas las etiquetas
1335coinciden en el juego derivado arriba. Típicamente esto es dhcp-option.
Simon Kelley849a8352006-06-09 21:02:31 +01001336.B dhcp-option
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001337que tenga etiquetas será usada en preferencia de una opción
Simon Kelley849a8352006-06-09 21:02:31 +01001338.B dhcp-option,
1339sin etiqueta, con tal que _todas_ las etiquetas coincidan en alguna
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001340parte del juego coleccionado describido arriba. El prefijo '!' en una
1341etiqueta significa "no" así que --dhcp=option=tag:!purple,3,1.2.3.4 envía
1342la opción cuando la etiqueta "purple" no está en el juego
1343de etiquetas válidas. (Si se está usando esto en una línea de comandos
1344en vez de un archivo de configuración, asegurese de escapar !, el cual
1345es un metacaracter de shell.)
Simon Kelley849a8352006-06-09 21:02:31 +01001346.PP
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001347Nótese que para
1348.B dhcp-range
1349ambos tag:<tag> y set:<tag> son permitidos, para seleccionar el rango
1350en uso basado en (por ejemplo) dhcp-host, y para afectar las opciones
1351enviadas, basadas en el rango seleccionado.
1352
1353Este sistema evolucionó de uno anterior mas limitado y para compatibildad
1354reversa "net:" puede ser usada en vez de "tag:" y "set:" puede ser
1355omitida. (Excepto en
1356.B dhcp-host,
1357donde "net:" puede ser usado en vez de "set:".) Por la misma razón, '#'
1358puede ser usado en vez de '!' para indicar NO.
1359.PP
Simon Kelley849a8352006-06-09 21:02:31 +01001360El servidor DHCP de dnsmasq funcionará como servidor BOOTP tambien,
1361con tal que las direcciones MAC y IP de los clientes sean brindadas,
1362ya sea usando configuraciones
1363.B dhcp-host
1364o en
1365.I /etc/ethers
1366, y una configuración
1367.B dhcp-range
1368esté presente para activar el servidor DHCP en una red particular.
Simon Kelleyf2621c72007-04-29 19:47:21 +01001369(Fijar --bootp-dynamic elimina la necesidad de trazados estáticos.) El
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001370parámetro de nombre de archivos en un pedido BOOTP es usado como
1371una etiqueta, al igual que la etiqueta "bootp", permitiendo así algún
1372control sobre las opciones devueltas a diferentes clases de hosts.
1373
1374.B dhcp-range
1375puede tener un nombre de interface brindado como
1376"interface:<interface-name>". La semántica de esto es así:
1377Para DHCP, si cualquier otro dhcp-range existe _sin_ un nombre de
1378interface, entonces el nombre de interface es ignorado y dnsmasq
1379se comporta como si las partes de interface no existieran, de otra forma
1380DHCP solo se provee a interfaces mencionadas en declaraciones
1381dhcp-range. Para DNS, si no hay opciones
1382.B --interface
1383o
1384.B --listen-address
1385el comportamiento no se modifica por la parte de interface. Si cualquiera
1386de estas opciones está presente, las interfaces mencionadas en dhcp-ranges
1387son agregadas all juego que obtienen servicio DNS.
1388
1389Similarmente,
1390.B enable-tftp
1391puede tomar un nombre de interface, el cual habilita TFTP solo para una
1392interface en particular, ignorando opciones
1393.B --interface
1394o
1395.B --listen-address.
1396Adicionalmente,
1397.B --tftp-secure
1398y
1399.B --tftp-unique-root
1400y
1401.B --tftp-no-blocksize
1402son ignorados por pedidos desde dichas interfaces. (Una directiva
1403.B --tftp-root
1404brindando un path raíz y una interface debe ser brindada tambien.)
1405
1406Estas reglas pueden parecer raras a primera vista, pero permiten que
1407una simple linea de la forma
1408"dhcp-range=interface:virt0,192.168.0.4,192.168.0.200" sea agregada a
1409configuración dnsmasq, lo cual brinda servicios DHCP y DNS a esa interface,
1410sin afectar los servicios en otras interfaces y irrespectivamente de
1411la existencia o no de lineas "interface=<interface>" en alguna otra parte
1412de la configuración dnsmasq.
1413"enable-tftp=virt0" y "tftp-root=<root>,virt0" hacen el mismo trabajo
1414para TFTP.
1415La idea es que una linea así pueda ser agregada automaticamente
1416por libvirt o sistemas equivalentes, sin estorbar alguna
1417configuración manual.
Simon Kelleyf2621c72007-04-29 19:47:21 +01001418
Simon Kelley5aabfc72007-08-29 11:24:47 +01001419.SH CÓDIGOS EXIT
1420.PP
14210 - Dnsmasq hizo fork hacia el fondo exitosamente, o terminó de manera
1422normal si ir al fondo no está habilitado.
1423.PP
14241 - Un problema con la configuración ha sido detectado.
1425.PP
14262 - Un problema con acceso a redes ocurrió (dirección en uso, intento
1427de usar puertos privilegiados sin permiso).
1428.PP
14293 - Un problema con una operación de sistema de archivos ocurrió (archivo
1430o directorio ausente, permisos).
1431.PP
14324 - Falla de alocación de memoria.
1433.PP
14345 - Otro problema misceláneo.
1435.PP
143611 o mayor - un codigo de retorno no cero fué recibido del llamado "init"
1437del proceso de archivo guión de arriendos. El código exit de dnsmasq es
1438el código exit del archivo guión con 10 sumado.
1439
Simon Kelleyf2621c72007-04-29 19:47:21 +01001440.SH LIMITES
1441Los valores predeterminados para limites de recursos son generálmente
1442conservadores, y apropiados para uso en dispositivos tipo enrutador
1443encrustrado con procesadores lentos y poca memoria. En hardware más
1444capáz, es posible incrementar los límites, y soportar muchos mas
1445clientes. Lo siguiente se aplica a dnsmasq-2.37: versiones previas
1446no escalaban tan bien.
1447
1448.PP
1449Dnsmasq es capaz de soportar con DNS y DHCP a por lo menos mil (1,000)
Simon Kelley8ef5ada2010-06-03 19:42:45 +01001450clientes. Los tiempos de arriendo no deben ser muy cortos (menos
1451de una hora). El valor de
Simon Kelleyf2621c72007-04-29 19:47:21 +01001452.B --dns-forward-max
1453puede ser aumentado: comienze con el equivalente a el número de clientes y
1454auméntelo si parece lento el DNS. Nótese que el rendimiento DNS depende
1455también de los servidores DNS upstream. El tamaño del caché DNS puede ser
1456incrementado: el límite obligatorio es 10,000 nombres y el predeterminado
Simon Kelley5aabfc72007-08-29 11:24:47 +01001457(150) es muy bajo. El enviarle un SIGUSR1 a dnsmasq hace que bitacorée
Simon Kelleyf2621c72007-04-29 19:47:21 +01001458información que es útil para afinar el tamaño de caché. Ver la sección
1459.B NOTAS
1460para detalles.
Simon Kelley5aabfc72007-08-29 11:24:47 +01001461
Simon Kelleyf2621c72007-04-29 19:47:21 +01001462.PP
1463El servidor TFTP incorporado es capáz de soportar varias transferencias
1464simultáneas de archivos: el límite absoluto está relacionado con el número
1465de file-handles permitidos a un proceso y la habilidad del system call
1466select() a soportar números grandes de file-handles. Si el límite es fijado
1467demasiado alto con
1468.B --tftp-max
1469será de-escalado y el límite real será bitacoreado al inicio. Nótese que más
1470transferencias son posibles cuando el mismo archivo es enviado qué cuando
1471cada transferencia envía un archivo diferente.
Simon Kelley5aabfc72007-08-29 11:24:47 +01001472
Simon Kelleyf2621c72007-04-29 19:47:21 +01001473.PP
1474Es posible usar dnsmasq para negar publicidad Web usando una lista de
1475servidores de banners bien conocidos, todos resolviendose a 127.0.0.1 o
14760.0.0.0 en
1477.B /etc/hosts
1478o en un archivo hosts adicional. La lista puede ser muy larga. Dnsmasq ha sido
1479probado exitósamente con un millón de nombres. Ese tamaño de archivo necesita
1480un CPU de 1GHz y aproximadamente 60MB de RAM.
1481
Simon Kelley316e2732010-01-22 20:16:09 +00001482.SH INTERNACIONALIZACION
1483
1484Dnsmasq puede ser compilado con soporte para internacionalización. Para hacer esto,
1485los targets make "all-i18n" y "install-i18n" deberán ser usados en vez de
1486los targets estándares "all" y "install". Cuando internacionalización es
1487compilada, dnsmasq producirá mensajes de bitácora en el lenguaje local y soportará
1488dominios internacionalizados (IDN). Nombres de dominio en /etc/hosts, /etc/ethers,
1489y /etc/dnsmasq.conf que contienen carácteres no-ASCII serán traducidos a
1490representación interna DNS punycode. Nótese que dnsmasq determina ambos el
1491lenguaje para mensajes y el juego de carácteres asumido para archivos de configuración
1492de la variable ambiental LANG. Esto debe estar fijado al valor predeterminado del sistema
1493por el guión responsable de iniciar dnsmasq. Al editar archivos de configuración,
1494tener cuidado de hacerlo usando solo el locale predeterminado del sistema y no
1495uno especifico del usuario, dado a que dnsmasq no tiene ninguna manera directa de
1496determinar el juego de caracteres en uso, y debe asumir que es el predeterminado
1497del sistema.
1498
Simon Kelley849a8352006-06-09 21:02:31 +01001499.SH ARCHIVOS
1500.IR /etc/dnsmasq.conf
1501
1502.IR /usr/local/etc/dnsmasq.conf
1503
1504.IR /etc/resolv.conf
1505
1506.IR /etc/hosts
1507
1508.IR /etc/ethers
1509
1510.IR /var/lib/misc/dnsmasq.leases
1511
1512.IR /var/db/dnsmasq.leases
1513
1514.IR /var/run/dnsmasq.pid
1515.SH VER TAMBIEN
1516.BR hosts (5),
1517.BR resolver (5)
1518.SH AUTOR
1519Este manual fue escrito por Simon Kelley <simon@thekelleys.org.uk>.
1520
1521Traducido a español por Christopher Chatham <chrislinux@gmail.com>.