mirror of
https://github.com/pi-hole/dnsmasq.git
synced 2025-12-19 10:18:25 +00:00
813 lines
37 KiB
Groff
813 lines
37 KiB
Groff
.TH DNSMASQ 8
|
|
.SH NOMBRE
|
|
dnsmasq \- Un ligero servidor DHCP y DNS con caché.
|
|
.SH SINOPSIS
|
|
.B dnsmasq
|
|
.I [OPCION]...
|
|
.SH "DESCRIPCION"
|
|
.BR dnsmasq
|
|
es un ligero servidor DNS y DHCP. Su propósito es proveer servicios DNS
|
|
y DHCP a una red de área local.
|
|
.PP
|
|
Dnsmasq acepta búsquedas DNS y las responde desde un pequeño
|
|
caché local, o las reenvía hacia un servidor DNS real recursivo.
|
|
Carga el contenido de /etc/hosts, de tal forma que nombres de
|
|
hosts locales los cuales no aparecen en el DNS mundial puedan ser
|
|
resueltos. También responde a búsquedas DNS para hosts configurados
|
|
vía DHCP.
|
|
.PP
|
|
El servidor DHCP dnsmasq incluye soporte para assignación de direcciones
|
|
estáticas, redes múltiples, DHCP-relay y especificadores de subredes
|
|
RFC3011. Automáticamente envía un predeterminado sensible de opciones
|
|
DHCP, y puede ser configurado para enviar cualquier opciones DHCP
|
|
deseadas. Tambíen incluye soporte para BOOTP.
|
|
.PP
|
|
Dnsmasq
|
|
incluye soporte para IPv6.
|
|
.SH OPCIONES
|
|
Nótese que en general parámetros ausentes son permitidos y deshabilitan
|
|
funciones, por ejemplo "--pid-file=" deshabilita la escritura de un
|
|
archivo PID. En BSD, a menos que la librería GNU getopt esté enlazada,
|
|
la forma larga de las opciones no funciona en la línea de comandos,
|
|
pero todavía es reconocida en el archivo de configuración.
|
|
.TP
|
|
.B \-h, --no-hosts
|
|
No leer los nombres de hosts en /etc/hosts.
|
|
.TP
|
|
.B \-H, --addn-hosts=<archivo>
|
|
Archivo de hosts adicional. Leer el archivo especificado adicionalmente
|
|
a /etc/hosts. Si se brinda -h, leer solo el archivo especificado. Esta
|
|
opción puede ser repetida para más de un archivo de hosts adicional.
|
|
.TP
|
|
.B \-T, --local-ttl=<tiempo>
|
|
Al responder con información desde /etc/hosts o desde el archivo
|
|
de arriendos DHCP, dnsmasq fija el tiempo de vida a cero por
|
|
predeterminado, significando que el remitente no debrá cachear
|
|
la información por sí mismo. Esto es lo correcto a hacer en casi
|
|
todas las situaciones. Esta opción permite que se especifique
|
|
cierto tiempo de vida (en segundos) para estas respuestas. Esto
|
|
reduce la carga sobre el servidor al costo de que los clientes
|
|
usaran datos añejos bajo algunas circunstancias.
|
|
.TP
|
|
.B \-k, --keep-in-foreground
|
|
No ir hacia el fondo al iniciar, pero aparte de eso correr como
|
|
normal. La intención de esto es para cuando dnsmasq es corrido
|
|
bajo daemontools o launchd.
|
|
.TP
|
|
.B \-d, --no-daemon
|
|
Modo debug: no hacer un fork hacia el fondo, no crear un archivo PID,
|
|
no cambiar el ID del usuario, generar un cache dump completo al
|
|
recibir un SIGUSR1, bitacorear a stderr al igual que a syslog, no
|
|
hacerle fork a procesos nuevos para manejar búsquedas TCP.
|
|
.TP
|
|
.B \-q, --log-queries
|
|
Bitacorear los resultados de búsquedas DNS manejadas por dnsmasq.
|
|
Habilitar un dump de caché completo al recibir un SIGUSR1.
|
|
.TP
|
|
.B \-8, --log-facility=<facilidad>
|
|
Fijar la facilidad a la cual dnsmasq deberá enviar mensajes syslog,
|
|
esto es DAEMON por predeterminado, y LOCAL0 cuando en modo debug.
|
|
.TP
|
|
.B \-x, --pid-file=<path>
|
|
Especificar un path alterno donde dnsmasq debe guardar su PID.
|
|
Normalmente es /var/run/dnsmasq.pid.
|
|
.TP
|
|
.B \-u, --user=<usuario>
|
|
Especificar el userid al cual dnsmasq debe cambiarse despues de iniciar.
|
|
Dnsmasq normalmente debe ser iniciado como root, pero soltará los
|
|
privilegios root despues del inicio, cambiando a otro usuario.
|
|
Normalmente este usuario es "nobody", pero eso se puede cambiar
|
|
con esta opción.
|
|
.TP
|
|
.B \-g, --group=<grupo>
|
|
Especificar el grupo como el cual dnsmasq correrá. El predeterminado
|
|
es "dip", si está disponible, para facilitar el acceso a
|
|
/etc/ppp/resolv.conf el cuál normalmente no es globalmente leíble.
|
|
.TP
|
|
.B \-v, --version
|
|
Mostrar el número de versión.
|
|
.TP
|
|
.B \-p, --port=<puerto>
|
|
Escuchar en el puerto <puerto> en vez del puerto estándar DNS (53).
|
|
Principalmente útil para debugging.
|
|
.TP
|
|
.B \-P, --edns-packet-max=<tamaño>
|
|
Especificar el paquete UDP EDNS.0 más grande que es soportado por
|
|
el reenviador DNS. Por predeterminado es 1280, lo cual es el
|
|
máximo recomendado en RFC2671 para ethernet.
|
|
.TP
|
|
.B \-Q, --query-port=<puerto>
|
|
Enviar búsquedas outbound desde, y escuchar por respuestas en,
|
|
el puerto UDP <puerto> en vez de usar uno escojido a la hora
|
|
de inicio. Esto es útil para simplificar las reglas del firewall;
|
|
sin esto, su firewall tendría que permitir conecciones desde
|
|
servidores DNS foráneos hacia un rango de puertos UDP, o
|
|
adaptarse dinámicamente al puerto siendo usado por la actual
|
|
instancia de dnsmasq.
|
|
.TP
|
|
.B \-i, --interface=<interface>
|
|
Escuchar solo en las interfaces especificadas. Dnsmasq automaticamente
|
|
agrega la interface loopback a la lista de interfaces para usar cuando
|
|
la opción
|
|
.B \--interface
|
|
es usada. Si ninguna opcion
|
|
.B \--interface
|
|
o
|
|
.B \--listen-address
|
|
es brindada, dnsmasq escucha en todas las interfaces disponibles excepto
|
|
cualquiera fijada con la opcion
|
|
.B \--except-interface
|
|
Interfaces IP alias (eg "eth1:0") no pueden ser utilizadas con
|
|
.B --interface
|
|
o
|
|
.B --except-interface
|
|
, usar --listen-address en vez.
|
|
.TP
|
|
.B \-I, --except-interface=<interface>
|
|
No escuchar en la interface especificada. Nótese que el orden de
|
|
las opciones
|
|
.B \--listen-address
|
|
.B --interface
|
|
y
|
|
.B --except-interface
|
|
no importa y la opcion
|
|
.B --except-interface
|
|
siempre invalida a las otras.
|
|
.TP
|
|
.B \-2, --no-dhcp-interface=<interface>
|
|
No proveer DHCP en la interface especificada, pero sí
|
|
proveer servicio DNS.
|
|
.TP
|
|
.B \-a, --listen-address=<dirección IP>
|
|
Escuchar en la(s) dirección(es) IP especificada(s). Las opciones
|
|
.B \--interface
|
|
y
|
|
.B \--listen-address
|
|
ambas pueden ser brindadas, y en tal caso el juego de ambas
|
|
direcciones IP y interfaces es usada. Nótese que si ninguna opción
|
|
.B \--interface
|
|
es brindada, pero sí se brinda la opción
|
|
.B \--listen-address
|
|
entonces dnsmasq no escuchará automáticamente en la interface
|
|
loopback. Para obtener esto, la dirección IP 127.0.0.1 debe ser
|
|
explícitamente dada como una opción
|
|
.B \--listen-address
|
|
.TP
|
|
.B \-z, --bind-interfaces
|
|
En sistemas que inluyen el soporte, dnsmasq acopla la dirección
|
|
de comodín, aún cuando está escuchando solamente en algunas
|
|
interfaces. Entonces descarta búsquedas a las cuales no debe
|
|
responder. Esto tiene la ventaja de funcionar aún cuando
|
|
interfaces van y vienen y cambian direcciones. Esta opción forza
|
|
a dnsmasq a acoplarse realmente solo a las interfaces en
|
|
las cuales está escuchando. Casi la única vez que esto es útil
|
|
es cuando se está corriendo otro servidor DNS (o otra instancia
|
|
de dnsmasq) en la misma máquina. Fijar esta opción tambien
|
|
habilita multiples instancias de dnsmasq, las cuales proveen
|
|
servicio DHCP en la misma máquina.
|
|
.TP
|
|
.B \-y, --localise-queries
|
|
Retornar respuestas a búsquedas DNS desde /etc/hosts las cuales dependen
|
|
de la interface donde entró la búsqueda. Si un nombre en /etc/hosts tiene
|
|
mas de una dirección asociada con el, y por lo menos una de esas direcciones
|
|
está en la misma subred de la interface donde fue enviada, entónces
|
|
retornar solo las direcciones en esa subred. Esto permite a un servidor
|
|
tener direcciones múltiples en /etc/hosts correspondientes a cada una de
|
|
sus interfaces y cada host recibirá la respuesta adecuada
|
|
dependiendo de cual red tengan adjunta. Por el momento, esta facilidad
|
|
está limitada a IPv4.
|
|
.TP
|
|
.B \-b, --bogus-priv
|
|
Búsquedas privadas reversas raras. Toda búsqueda para rangos de IP
|
|
privados (192.168.x.x, etc.) los cuales no se encuentren en
|
|
/etc/hosts o en el archivo de arriendos DHCP es respondida con
|
|
"dominio no existente" en vez de ser reenviada upstream.
|
|
.TP
|
|
.B \-V, --alias=<IP vieja>,<IP nueva>[,<máscara>]
|
|
Modificar direcciones IPv4 retornadas desde servidores DNS upstream;
|
|
<IP vieja> es remplazada con <IP nueva>. Si la máscara opcional
|
|
es brindada, entonces cualquier dirección que coincida con la
|
|
<IP vieja> enmascarada será re-escrita. Así que, por ejemplo,
|
|
.B --alias=1.2.3.0,6.7.8.0,255.255.255.0
|
|
mapeará 1.2.3.56 a 6.7.8.56 y 1.2.3.67 a 6.7.8.67. Esto es lo que
|
|
ruteadores Cisco PIX llaman "DNS doctoring".
|
|
.TP
|
|
.B \-B, --bogus-nxdomain=<dirección IP>
|
|
Transformar respuestas que contienen la dirección IP brindada en
|
|
respuestas tipo "Dominio no existe". La intención de esto es actuar
|
|
en contra de una movida desviada hecha por Verisign en septiembre
|
|
del 2003, cuando comenzaron a retornar la dirección de un servidor
|
|
de publicidad en respuesta a búsquedas por nombres no registrados,
|
|
en vez de la correcta respuesta NXDOMAIN. Esta opción le dice a dnsmasq
|
|
que debe forjear la respuesta correcta cuando ve este comportamiento.
|
|
Desde septiembre 2003 la dirección IP siendo retornada por Verisign
|
|
es 64.94.110.11
|
|
.TP
|
|
.B \-f, --filterwin2k
|
|
Algunas versiones de Windows hacen búsquedas DNS periódicas las cuales no
|
|
reciben respuestas sensibles desde el DNS público y pueden causar problemas
|
|
activando enlaces marcación-en-demanda. Esta opción filtra dichas búsquedas.
|
|
Las búsquedas filtradas son para registros tipo SOA y SRV, al igual que
|
|
tipo ANY donde el nombre pedido contiene _, para atrapar búsquedas LDAP.
|
|
.TP
|
|
.B \-r, --resolv-file=<archivo>
|
|
Leer las direcciones IP de servidores DNS upstream desde <archivo>,
|
|
en vez de /etc/resolv.conf. Para el formato de este archivo, ver
|
|
.BR resolv.conf (5)
|
|
Las únicas líneas relevantes a dnsmasq son las de servidores DNS. A
|
|
dnsmasq se le puede decir que revise más de un archivo resolv.conf,
|
|
el primer archivo especificado remplaza al predeterminado, y los
|
|
subsiguientes archivos son agregados a la lista. Esto es solo
|
|
permitido cuando haciendo polling; el archivo con la actual fecha
|
|
de modificación más nueva es el que es usado.
|
|
.TP
|
|
.B \-R, --no-resolv
|
|
No leer /etc/resolv.conf. Obtener los servidores DNS upstream solo
|
|
desde la línea de comandos o desde el archivo de configuración de
|
|
dnsmasq.
|
|
.TP
|
|
.B \-1, --enable-dbus
|
|
Permitir que la configuración de dnsmasq sea actualizada vía llamadas
|
|
de método DBus. La configuración que puede ser cambiada es servidores
|
|
DNS upstream (y dominios correspondientes) y limpieza de caché. Esta
|
|
opción requiere que dnsmasq haya sido compilado con soporte para DBus.
|
|
.TP
|
|
.B \-o, --strict-order
|
|
Por predeterminado, dnsmasq enviará búsquedas a cualquiera de los
|
|
servidores upstream que conoce, y trata de favorecer servidores los
|
|
cuales sabe que están activos. Fijar esta opcion forza a dnsmasq a
|
|
probar cada búsqueda con cada servidor estrictamente en el orden
|
|
que aparecen en /etc/resolv.conf
|
|
.TP
|
|
.B \-n, --no-poll
|
|
No revisar periodicamente a /etc/resolv.conf en busca de cambios.
|
|
.TP
|
|
.B \-D, --domain-needed
|
|
Le dice a dnsmasq que no debe reenviar búsquedas para nombres sencillos,
|
|
sin puntos o partes de dominios, a servidores upstream. Si el nombre
|
|
no se conoce desde /etc/hosts o desde DHCP entonces una respuesta
|
|
"no encontrado" es devuelta.
|
|
.TP
|
|
.B \-S, --server=[/[<domain>]/[domain/]][<ipaddr>[#<port>][@<source>[#<port>]]]
|
|
Especificar la dirección IP de servidores upstream directamente. Fijar
|
|
esta opción no suprime la lectura de /etc/resolv.conf, use -R para
|
|
hacer eso. Si uno a más dominios opcionales son brindados, ese servidor
|
|
es usado solo para esos dominios y las búsquedas son hechas usando
|
|
el servidor especificado solamente. La intención de esto es para el
|
|
uso con servidores DNS privados: si usted tiene un servidor DNS en su
|
|
red el cual lidea con nombres de la forma
|
|
xxx.internal.thekelleys.org.uk en 192.168.1.1 entonces brindar la
|
|
opción
|
|
.B -S /internal.thekelleys.org.uk/192.168.1.1
|
|
enviará todas las búsquedas de máquinas internas a ese servidor DNS,
|
|
todas las demás búsquedas serán enviadas a los servidores en
|
|
/etc/resolv.conf. Una especificación de dominio en blanco
|
|
.B //
|
|
tiene el significado especial de "solo nombres no calificados", o
|
|
sea nombres sin ningun punto en ellos. Un puerto no-estándar puede
|
|
ser especificado como parte de la dirección IP usando el caracter
|
|
#. Más de una opción -S es permitida, con partes de dominio o
|
|
dirección IP repetidas como sea necesario.
|
|
|
|
También se permite una opción -S la cual brinda un dominio pero
|
|
ninguna dirección IP; esto le dice a dnsmasq que un dominio es local
|
|
y puede responder a búsquedas desde /etc/hosts o DHCP pero nunca
|
|
deberá reenviar búsquedas en ese dominio a ningún servidor upstream.
|
|
.B local
|
|
es un sinónimo de
|
|
.B server
|
|
para hacer los archivos de configuración mas claros en este caso.
|
|
|
|
La segunda dirección IP opcional después del carácter @ le dice
|
|
a dnsmasq como fijar la dirección de remitente de las búsquedas
|
|
hacia este servidor DNS. Debe ser una dirección perteneciente a
|
|
la máquina en la cual corre dnsmasq, o de forma contraria esta
|
|
línea de servidor será bitacoreada y después ignorada. La opción
|
|
query-port es ignorada para cualquier servidores que tengan una
|
|
dirección remitente especificada, pero el puerto puede ser
|
|
especificado directamente como parte de la dirección remitente.
|
|
.TP
|
|
.B \-A, --address=/<domain>/[domain/]<ipaddr>
|
|
Especificar una dirección IP para retornar por cualquier host en
|
|
los dominios brindados. Búsquedas en estos dominios nunca son
|
|
reenviadas, y siempre son respondidas con la dirección IP
|
|
especificada, la cual puede ser IPv4 o IPv6. Para brindar ambas
|
|
direcciones IPv4 y IPv6 para un dominio, usar opciones -A repetidas.
|
|
Nótese que /etc/hosts y arriendos DHCP invalidan esto para nombres
|
|
individuales. Un uso común para esto es redireccionar el dominio
|
|
doubleclick.net entero a algún servidor web local amigable para
|
|
evitar banners de publicidad. La especificación funciona de la misma
|
|
forma que con --server, con la facilidad adicional que /#/ coincide
|
|
con cualquier dominio. De tal forma, --address=/#/1.2.3.4 siempre
|
|
retornará 1.2.3.4 para cualquier búsqueda no respondida desde
|
|
/etc/hosts o DHCP y que no haya sido enviada a un servidor DNS
|
|
upstream por una directiva --server mas especifica.
|
|
.TP
|
|
.B \-m, --mx-host=<mx name>[[,<hostname>],<preference>]
|
|
Retornar un record llamado <nombre MX> apuntando hacia un nombre de
|
|
host brindado (opcionalmente), o el host especificado en la opción
|
|
--mx-target, o si esa opción no es brindada, el host en el cual
|
|
dnsmasq está corriendo. El predeterminado es útil para redireccionar
|
|
correo de sistemas en la red local hacia un servidor central. La
|
|
opción de preferencia es opcional, y su predeterminado es 1 si no
|
|
es brindada. Más de un record MX puede ser brindado para un host.
|
|
.TP
|
|
.B \-t, --mx-target=<hostname>
|
|
Especificar el target predeterminado para el record MX devuelto
|
|
por dnsmasq. Ver --mx-host. Si --mx-target es brindado, pero no
|
|
--mx-host, entonces dnsmasq devuelve un record MX conteniendo
|
|
el target MX para búsquedas MX en el hostname de la máquina donde
|
|
dnsmasq está corriendo.
|
|
.TP
|
|
.B \-e, --selfmx
|
|
Retornar un record MX apuntándose a sí mismo para cada máquina local.
|
|
Máquinas locales son aquellas en /etc/hosts o con arriendos DHCP.
|
|
.TP
|
|
.B \-L, --localmx
|
|
Retornar un record MX apuntando al host brindado por mx-target (o
|
|
la máquina donde dnsmasq está corriendo) para cada máquina local.
|
|
Máquinas locales son aquellas en /etc/hosts o con arriendos DHCP.
|
|
.TP
|
|
.B \-W, --srv-host=<_service>.<_prot>.[<domain>],[<target>[,<port>[,<priority>[,<weight>]]]]
|
|
Retornar un record SRV DNS. Ver RFC2782 para detalles. Si no es
|
|
brindada, el dominio se predetermina a el brindado por
|
|
.B --domain.
|
|
El predeterminado para el dominio target está vacío, y el predeterminado
|
|
para puerto es uno y los predeterminados para peso y prioridad son cero.
|
|
Tener cuidado al transponer data desde archivos de zona BIND: los
|
|
números de puerto, peso, y prioridad están en un orden diferente. Más
|
|
de un record SRV para un servicio/dominio es permitido, todos los que
|
|
coincidan son retornados.
|
|
.TP
|
|
.B \-Y, --txt-record=<name>[[,<text>],<text>]
|
|
Retornar un récord DNS TXT. El valor del récord TXT es una serie de
|
|
strings, así que cualquier número puede ser incluido, dividido por
|
|
comas.
|
|
.TP
|
|
.B \-c, --cache-size=<cachesize>
|
|
Fijar el tamaño del caché de dnsmasq. El predeterminado es 150 nombres.
|
|
Fijar el tamaño a cero deshabilita el caché.
|
|
.TP
|
|
.B \-N, --no-negcache
|
|
Deshabilitar caché negativo. El caché negativo le permite a dnsmasq
|
|
recordar resultados tipo "dominio no existe" desde servidores DNS
|
|
upstream y responder búsquedas idénticas sin reenviarlas nuevamente.
|
|
Esta opción deshabilita el caché negativo.
|
|
.TP
|
|
.B \-F, --dhcp-range=[[net:]network-id,]<start-addr>,<end-addr>[[,<netmask>],<broadcast>][,<default lease time>]
|
|
Habilitar el servidor DHCP. Direcciones serán distribuidas desde el
|
|
rango <start-addr> hasta <end-addr> y desde direcciones definidas
|
|
estáticamente en opciones
|
|
.B dhcp-host
|
|
Si el tiempo de arriendo es brindado, entonces arriendos serán
|
|
dados por esa cantidad de tiempo. El tiempo de arriendo es en
|
|
segundos, o minutos (ej. 45m), o horas (ej. 1h), o el literal
|
|
"infinite". Esta opción puede ser repetida, con diferentes
|
|
direcciones para habilitar servicio DHCP en más de una red. Para
|
|
redes conectadas diréctamente (en otras palabras, redes en las
|
|
cuales la máquina corriendo dnsmasq tiene una interface) la
|
|
máscara de subred es opcional. Es requerida para redes que
|
|
reciben servicio DHCP vía un agente de relay. La dirección de
|
|
broadcast siempre es opcional. En algunos sistemas rotos, dnsmasq
|
|
solo puede escuchar en una interface cuando se usa DHCP, y el
|
|
nombre de esa interface debe ser brindado usando la opcion
|
|
.B interface
|
|
Esta limitación actualmente afecta a OpenBSD. Siempre se permite
|
|
tener más de un rango dhcp (dhcp-range) en una subred. El
|
|
parametro opcional network-id es una etiqueta alfanumerica la
|
|
cual marca esta red de tal forma que opciones dhcp puedan ser
|
|
especificadas en base a cada red.
|
|
Cuando es prefijada con 'net:' entonces el significado cambia
|
|
de "fijar etiqueta" a "coincidir con etiqueta".
|
|
La dirección final puede ser remplazada por la palabra
|
|
.B static
|
|
la cual le dice a dnsmasq que debe habilitar DHCP para la red
|
|
especificada, pero no alocar dinámicamente direcciones IP.
|
|
Solo hosts que tienen direcciones estáticas brindadas vía
|
|
.B dhcp-host
|
|
o desde /etc/ethers serán servidas.
|
|
.TP
|
|
.B \-G, --dhcp-host=[[<hwaddr>]|[id:[<client_id>][*]]][net:<netid>][,<ipaddr>][,<hostname>][,<lease_time>][,ignore]
|
|
Especificar parámetros por host para el servidor DHCP. Esto permite
|
|
que una máquina con una dirección de hardware particular sea siempre
|
|
alocada el mismo nombre de host, dirección IP, y tiempo de arriendo.
|
|
Un nombre de host especificado de esta manera toma presedencia
|
|
sobre cualquiera suministrado por el cliente DHCP en la máquina.
|
|
También se permite omitir la direccion de hardware y incluir el
|
|
nombre host; en tal caso la dirección IP y los tiempos de arriendo
|
|
serán aplicables a cualquier máquina que reclame ese nombre.
|
|
Por ejemplo:
|
|
.B --dhcp-host=00:20:e0:3b:13:af,wap,infinite
|
|
le dice a dnsmasq que debe darle a la máquina con dirección
|
|
ethernet 00:20:e0:3b:13:af el nombre wap, y un arriendo DHCP infinito.
|
|
.B --dhcp-host=lap,192.168.0.199
|
|
le dice a dnsmasq que siempre debe alocarle a la maquina lap
|
|
la dirección IP 192.168.0.199. Direcciones alocadas de esta manera
|
|
no tienen que estar dentro del rango dado con la opción --dhcp-range,
|
|
pero deben estar en la red siendo servida por el servidor DHCP. Se
|
|
permite usar identificadores de clientes en vez de direcciones de
|
|
hardware para identificar hosts prefijando 'id:'. O sea que:
|
|
.B --dhcp-host=id:01:02:03:04,.....
|
|
se refiere al host con identificador de cliente 01:02:03:04.
|
|
También se permite especificar el ID de cliente como texto, así:
|
|
.B --dhcp-host=id:clientidastext,.....
|
|
La opción especial id:* significa "ignorar cualquier ID de cliente
|
|
y usar solamente direcciones MAC." Esto es útil cuando un cliente
|
|
presenta un ID de cliente algunas veces pero otras no.
|
|
Si un nombre aparece en /etc/hosts, la dirección asociada puede
|
|
ser alocada a un arriendo DHCP, pero solo si existe una opción
|
|
.B --dhcp-host
|
|
la cual especifica el nombre también. La palabra clave "ignore"
|
|
le dice a dnsmasq que no debe ofrecer jamás un arriendo DHCP a
|
|
una máquina. La máquina puede ser especificada por dirección de
|
|
hardware, ID de cliente, o nombre de host, por ejemplo:
|
|
.B --dhcp-host=00:20:e0:3b:13:af,ignore
|
|
Esto es útil cuando hay otro servidor DHCP en la red para ser
|
|
usado por algúnas máquinas. net:<network-id> fija la etiqueta
|
|
network-id cuando sea que esta directiva dhcp-host está en uso.
|
|
Esto puede ser usado para enviar selectivamente opciones DHCP
|
|
a este host.
|
|
Direcciones ethernet (pero no client-ids) pueden tener bytes
|
|
comodínes, así que por ejemplo
|
|
.B --dhcp-host=00:20:e0:3b:13:*,ignore
|
|
causará que dnsmasq ignore un rango de direcciones ethernet. Nótese
|
|
que el "*" necesitará ser escapado o escrito entre comillas en la
|
|
línea de comandos, pero no en el archivo de configuración.
|
|
Direcciones de hardware normalmente coinciden con cualquier
|
|
tipo de red (ARP), pero es posible restringirlas a un tipo ARP
|
|
singular precediendolo con el tipo ARP (en HEX) y "-". Así que
|
|
.B --dhcp-host=06-00:20:e0:3b:13:af,1.2.3.4
|
|
solo coincidaría una dirección de hardware Token-Ring, dado que
|
|
el tipo ARP para Token-Ring es 6.
|
|
.TP
|
|
.B \-Z, --read-ethers
|
|
Leer /etc/ethers en busca de información sobre hosts para el servidor
|
|
DHCP. El formato de /etc/ethers es una dirección de hardware, seguida
|
|
por ya sea un nombre de host o una dirección IP. Al ser leidas por
|
|
dnsmasq, estas líneas tienen exáctamente el mismo efecto que opciones
|
|
.B --dhcp-host
|
|
que contienen la misma información.
|
|
.TP
|
|
.B \-O, --dhcp-option=[<network-id>,[<network-id>,]][vendor:<vendor-class>]<opt>,[<value>[,<value>]]
|
|
Especificar opciones diferentes o extra a clientes DHCP. Por
|
|
predeterminado, dnsmasq envía algunas opciones estándar a clientes
|
|
DHCP. La máscara de subred y dirección broadcast son fijadas igual
|
|
a las del host que corre dnsmasq, y el servidor DNS y ruteador
|
|
a la dirección de la máquina que corre dnsmasq. Si la opción de
|
|
nombre de dominio ha sido fijada, es enviada. Esta opción permite
|
|
que esos predeterminados sean sobrescritos, o que sean especificadas
|
|
otras opciones. <opt> es el numero de la opción, como especificado
|
|
en RFC2132. Por ejemplo, para fijar a ruta predeterminada a
|
|
192.168.4.4, hágase un
|
|
.B --dhcp-option=3,192.168.4.4
|
|
y para fijar la dirección de servidor de tiempo a 192.168.0.4,
|
|
hágase un
|
|
.B --dhcp-option=42,192.168.0.4
|
|
La dirección especial 0.0.0.0 es entendida que significa "la
|
|
dirección de la máquina que corre dnsmasq". Tipos de data permitidos
|
|
son direcciones IP de cuatro puntos, un número decimal, dígitos hex
|
|
separados por colones, y un string de texto. Si las network-ids
|
|
opcionales son brindadas, entonces esta opcion es solo enviada cuando
|
|
todas las network-ids coinciden.
|
|
|
|
Tener cuidado: niguna verificación es hecha sobre si el número de tipo
|
|
correcto es enviado, y es muy posible persuadir a dnsmasq para que
|
|
genere paquetes DHCP ilegales mediante uso inadecuado de esta opción.
|
|
Cuando el valor es un número decimal, dnsmasq debe determinar qué tan
|
|
grande es el objeto de data. Esto es hecho mediante una examinación del
|
|
número de opción, y/o el valor, pero puede ser invalidado agregándole
|
|
una opción de una sola letra de esta forma: b = un byte, s = dos bytes,
|
|
i = cuatro bytes. Esto es principalmente útil con opciones encapsuladas
|
|
tipo vendedor (ver abajo) donde dnsmasq no puede determinar el tamaño
|
|
de data usando el número de opción. Data de opción la cual consiste
|
|
solo de puntos y dígitos será interpretada por dnsmasq como una
|
|
dirección IP, y será insertada dentro de una opción de esa manera.
|
|
Para forzar un string literal, usar comillas. Por ejemplo, cuando se
|
|
usa la opción 66 para enviar una IP literal como un nombre de servidor
|
|
TFTP, es necesario hacer:
|
|
.B --dhcp-option=66,"1.2.3.4"
|
|
Opciones encapsuladas vendor-class también pueden ser especificadas
|
|
usando
|
|
--dhcp-option: por ejemplo
|
|
.B --dhcp-option=vendor:PXEClient,1,0.0.0.0
|
|
envía la clase de vendedor "PXEClient" y la clase encapsulada de vendedor
|
|
especifica "mftp-address=0.0.0.0". Solo se permite una clase para cualquier
|
|
host, pero opciones múltiples son permitidas, con tal que tengan la misma
|
|
clase de vendedor. La dirección 0.0.0.0 no es tratada de forma especial
|
|
en opciones de clase encapsuladas.
|
|
.TP
|
|
.B \-U, --dhcp-vendorclass=<network-id>,<vendor-class>
|
|
Mapear desde un string vendor-class a un network id. La mayoría de los
|
|
clientes DHCP proveen una "vendor class" la cual representa, en cierto
|
|
sentido, el tipo de host. Esta opción mapea clases de vendedor a network
|
|
ids, de tal forma que opciones DHCP pueden ser selectivamente entregadas
|
|
a diferentes clases de hosts. Por ejemplo
|
|
.B dhcp-vendorclass=printers,Hewlett-Packard JetDirect
|
|
peritiría que opciones sean fijadas solo para impresoras HP así:
|
|
.B --dhcp-option=printers,3,192.168.4.4
|
|
El string vendor-class es coordinado con el vendor-class proveido por
|
|
el cliente, para permitir coincidencias borrosas.
|
|
.TP
|
|
.B \-j, --dhcp-userclass=<network-id>,<user-class>
|
|
Mapear desde un string user-class a un network id (con coordinación
|
|
substring, como con vendor-class). La mayoría de los clientes DHCP
|
|
proveen un "user class" el cual es configurable. Esta opción mapea
|
|
clases user a network ids, de tal manera que opciones DHCP puedan
|
|
ser selectivamente enviadas a diferentes tipos de hosts. Es posible,
|
|
por ejemplo, usar esto para especificar una impresora diferente para
|
|
hosts en la clase "accounts" que para los de la clase "engineering".
|
|
.TP
|
|
.B \-4, --dhcp-mac=<network-id>,<MAC address>
|
|
Mapear desde una dirección MAC a una network id. La dirección MAC
|
|
puede incluir comodínes. Por ejemplo:
|
|
.B --dhcp-mac=3com,01:34:23:*:*:*
|
|
fijaría el tag "3com" a cualquier host el cual su MAC coincida con
|
|
el patrón.
|
|
.TP
|
|
.B \-J, --dhcp-ignore=<network-id>[,<network-id>]
|
|
Cuando todos los network ids brindados coincidan con el juego de
|
|
network ids derivados de las clases net, host, y vendor, ignorar
|
|
el host y no brindarle un arriendo DHCP.
|
|
.TP
|
|
.B \-M, --dhcp-boot=[net:<network-id>,]<filename>,[<servername>[,<server address>]]
|
|
Fijar opciones BOOTP que han de ser devueltas por el servidor DHCP.
|
|
Estas se necesitan para máquinas que bootean desde la red, y decirle
|
|
a la máquina donde conseguir su configuración inicial. Si las network
|
|
id opcionales son brindadas, deben coincidir con esta opción para ser
|
|
enviadas. Nótese que network ids son prefijadas con "net:" para
|
|
distinguirlas.
|
|
.TP
|
|
.B \-X, --dhcp-lease-max=<number>
|
|
Limita a dnsmasq a el número especificado de arriendos DHCP. El
|
|
predeterminado es 150. El limite es para prevenir ataques DoS desde
|
|
hosts que crean cientos de arriendos y usan mucha de la memoria del
|
|
proceso dnsmasq.
|
|
.TP
|
|
.B \-K, --dhcp-authoritative
|
|
Esta opción debe ser fijada cuando dnsmasq es definitivamente el único
|
|
servidor DHCP en la red. Cambia el comportamiento de RFC de tal manera
|
|
que pedidos desde hosts no conocidos no serán ignorados. Esto permite que
|
|
hosts nuevos puedan conseguir un arriendo sin sin un timeout bajo toda
|
|
circunstancia. También permite que dnsmasq reconstruya su base de datos
|
|
de arriendos sin que cada cliente requiera un arriendo, si la base de datos
|
|
es perdida.
|
|
.TP
|
|
.B \-3, --bootp-dynamic
|
|
Habilitar alocación dinámica de direcciones IP a clientes BOOTP. Usar
|
|
esto con cuidado, ya que cada cirección alocada a un cliente BOOTP
|
|
es arrendada para siempre, y consecuentemente queda no-disponible
|
|
para uso por otros hosts.
|
|
.TP
|
|
.B \-5, --no-ping
|
|
Por predetermindado, el servidor DHCP tratará de asegurarse que una
|
|
dirección no esté en uso antes de alocarsela a un host. Hace esto
|
|
enviando un echo ICMP (ping) a la dirección referente. Si recibe una
|
|
respuesta, entonces la dirección debe estar siendo usada, y se repite
|
|
la prueba con otra. Esta opcion deshabilita esta prueba. Usar con
|
|
cuidado.
|
|
.TP
|
|
.B \-l, --dhcp-leasefile=<path>
|
|
Usar el archivo especificado para almacenar informacion de arriendos
|
|
DHCP. Si esta opcion es brindada, pero ninguna opcion dhcp-range es
|
|
brindada, entonces se activa comportamiento tipo dnsmasq versión 1.
|
|
El archivo brindado se asume es un archivo de arriendos dhcpd ISC y
|
|
es analizado en busca de arriendos los cuales son agregados al sistema
|
|
DNS si tienen un nombre de host. Esta funcionalidad pudo haber sido
|
|
excluida de dnsmasq a la hora de compilación, y en tal caso ocurrirá
|
|
un error. En todo caso, nótese que la integración de archivos de
|
|
arriendo ISC es una caracterísctica depreciada. No debería ser usada
|
|
en instalaciones nuevas, y será eliminada en versiones futuras.
|
|
.TP
|
|
.B \-6 --dhcp-script=<path>
|
|
Cuando sea que un arriendo DHCP nuevo es creado, o uno viejo es
|
|
destruido, el binario especificado por esta opción es ejecutado.
|
|
Los argumentos para el binario son "add", "old", o "del", la dirección
|
|
MAC del host (o "<null>"), la dirección IP, y el hostname, si es
|
|
conocido. "add" significa que un arriendo ha sido creado, "del" que
|
|
ha sido destruido, y "old" es una notificación de un arriendo existente
|
|
cuando dnsmasq inicia o un cambio a una MAC o nombre host de un arriendo
|
|
existente. Este proceso es ejecutado como el usuario sin privilegios
|
|
como corre dnsmasq, así que puede ser necesario inhibir el dejar el
|
|
usuario root, usando la directiva
|
|
.B -u
|
|
si el ejecutable necesita privilegios root.
|
|
El ambiente es heredado del usuario que ha invocado a dnsmasq, y todos
|
|
los descriptores están cerrados excepto stdin, stdout y stderr los cuales
|
|
están abiertos a /dev/null (excepto en modo debug).
|
|
Este guión no es invocado concurrentemente: si cambios de arriendos
|
|
subsiguientes ocurren, el guión no es invocado otra vez hasta que
|
|
cualquier invocación existennte haga exit. Al inicio de dnsmasq, el guión
|
|
será invocado para todos los arriendos existenetes mientras van siendo
|
|
leidos desde el archivo de arriendos. Arriendos vencidos serán llamados
|
|
con "del" y otros con "old". <path> debe ser un path absoluto, ninguna
|
|
búsqueda PATH ocurre.
|
|
.TP
|
|
.B \-s, --domain=<domain>
|
|
Especifica el dominio para el servidor DHCP. Esto tiene dos efectos:
|
|
Primeramente, causa que el servidor DHCP le devuelva el dominio a
|
|
cualquier host que lo pida. Segundamente, fija el dominio para el cual
|
|
es legal para hosts configurados mediante DHCP reclamar. La intención es
|
|
restringir nombres de host para que un host no-confiado en la LAN no
|
|
pueda proclamar su nombre vía DHCP, como por ejemplo "microsoft.com" y
|
|
capturar tráfico no destinado a ella. Si ningún sufijo de dominio es
|
|
especificado, entonces cualquier nombre de host con una parte de dominio
|
|
(o sea con un punto) será negada y logeada. Si un sufijo es especificado,
|
|
entonces nombres de host con una parte de dominio son permitidos, con tal
|
|
que la parte de dominio coincida con el sufijo. Adicionalmente, cuando
|
|
un sufijo es fijado, entonces nombres de host sin parte de dominio tienen
|
|
el sufijo agregado como una parte de dominio opcional. Por ejemplo, en
|
|
mi red puedo fijar
|
|
.B --domain=thekelleys.org.uk
|
|
y tener una maquina cuyo nombre host DHCP es "laptop". La dirección IP
|
|
de esa máquina es disponible desde
|
|
.B dnsmasq
|
|
como "laptop" y "laptop.thekelleys.org.uk". Si el dominio es brindado
|
|
como "#" entonces el dominio es leido desde la primera directiva de
|
|
búsqueda en /etc/resolv.conf (o equivalente).
|
|
.TP
|
|
.B \-E, --expand-hosts
|
|
Agregar el dominio a nombres simples (sin un punto) en /etc/hosts de
|
|
la misma manera que con nombres derivados de DHCP.
|
|
.TP
|
|
.B \-C, --conf-file=<archivo>
|
|
Especificar un archivo de configuración diferente. La opción conf-file
|
|
también es permitida en archivos de configuración, para incluir múltiples
|
|
archivos de configuración.
|
|
.TP
|
|
.B \-7, --conf-dir=<directorio>
|
|
Leer todos los archivos dentro del directorio brindado como archivos
|
|
de configuración. Archivos cuyos nombres terminen con ~ o comienzen
|
|
con . o comienzen y terminen con # son ignorados. Esta opción puede
|
|
ser brindada en la línea de comandos o en un archivo de configuración.
|
|
.SH ARCHIVO DE CONFIGURACION
|
|
Al inicio, dnsmasq lee
|
|
.I /etc/dnsmasq.conf,
|
|
si existe. (En FreeBSD, el archivo es
|
|
.I /usr/local/etc/dnsmasq.conf
|
|
) (ver las opciónes
|
|
.B \-C
|
|
y
|
|
.B \-7
|
|
porfavor.) El formato de este archivo consiste de una opción por línea,
|
|
exáctamente como las opciones largas detalladas en la sección OPCIONES
|
|
pero sin el "--" al frente. Líneas que comienzan con # son comentarios
|
|
y son ignoradas. Para opciones que solo pueden ser especificadas una
|
|
sola vez, la línea de comandos invalida el archivo de configuración.
|
|
La comillas son permitidas en el archivo de configuración: entre comillas
|
|
tipo " los significados especiales de ,:. y # son eliminados y los
|
|
siguientes escapes son permitidos: \\\\ \\" \\t \\a \\b \\r y \\n. El
|
|
último corresponde a tab, bell, backspace, return y newline.
|
|
.SH NOTAS
|
|
Al recibir un SIGHUP
|
|
.B dnsmasq
|
|
libera su cache y entonces recarga
|
|
.I /etc/hosts.
|
|
Si
|
|
.B
|
|
--no-poll
|
|
está fijado entnces SIGHUP también re-lee
|
|
.I /etc/resolv.conf.
|
|
SIGHUP
|
|
NO re-lee el archivo de configuración.
|
|
.PP
|
|
Al recibir un SIGUSR1,
|
|
.B dnsmasq
|
|
escribe estadisticas de caché al log del sistema. Escribe el tamaño
|
|
del caché, el numero de nombres que han tenido que ser removidos del
|
|
caché antes de que vencieran para hacer espacio para nombres nuevos
|
|
y el número total de nombres que han sido insertados en el caché. En
|
|
modo
|
|
.B --no-daemon
|
|
o cuando logeo completo está habilitado (-q), una descarga completa de
|
|
el contenido del caché es hecha.
|
|
.PP
|
|
Dnsmasq es un reenviador de búsquedas DNS: no puede responder búsquedas
|
|
arbitrarias comenzando desde los servidores root pero reenvía dichas
|
|
búsquedas a un servidor DNS recursivo, el cual es típicamente proveído
|
|
por el proveedor de Internet. Por predeterminado, dnsmasq lee
|
|
.I /etc/resolv.conf
|
|
para descubir las direcciones IP de los servidores DNS upstream que
|
|
debe usar, dado a que esta información es normalmente almacenada allí.
|
|
Amenos que
|
|
.B --no-poll
|
|
sea usado,
|
|
.B dnsmasq
|
|
revisa el tiempo de modificación de
|
|
.I /etc/resolv.conf
|
|
(o equivalente si
|
|
.B \--resolv-file
|
|
es usado) y lo re-lee si ha cambiado. Esto permite que servidores DNS séan
|
|
fijados dinámicamente vía PPP o DHCP ya que ambos protocolos brindan esta
|
|
información.
|
|
La ausencia de
|
|
.I /etc/resolv.conf
|
|
no es un error ya que pudo haber sido creada antes de que una conexión PPP
|
|
haya existido. Dnsmasq simplemente sigue revisando en caso de que
|
|
.I /etc/resolv.conf
|
|
sea creado en algún momento. A dnsmasq se le puede decir que revise más
|
|
de un archivo resolv.conf. Esto es útil en una laptp, donde ambos PPP y
|
|
DHCP podrían estar siendo usados: dnsmasq puede ser fijado para revisar
|
|
ambos:
|
|
.I /etc/ppp/resolv.conf
|
|
y
|
|
.I /etc/dhcpc/resolv.conf
|
|
y usará el contenido de cualquiera que haya cambiado mas recientemente,
|
|
brindando así la habilidad de cambio automático entre servidores DNS.
|
|
.PP
|
|
Servidores upstream también pueden ser especificados en la línea de
|
|
comandos o en el archivo de configuración. Estas especificaciones de
|
|
servidor ocpionalmente llevan un nombre de dominio el cual le dice a
|
|
dnsmasq que debe usar ese servidor solo para encontrar nombres en ese
|
|
dominio en particular.
|
|
.PP
|
|
Para configurar dnsmasq para que actúe como caché para el host donde está
|
|
corriendo, poner un "nameserver 127.0.0.1" en
|
|
.I /etc/resolv.conf
|
|
para así forzar procesos locales a enviar búsquedas a dnsmasq. Entonces
|
|
o espesificar los servidores upstream diréctamente a dnsmasq usando
|
|
opciones
|
|
.B \--server
|
|
o poniendo sus direcciones reales en otro archivo, digamos
|
|
.I /etc/resolv.dnsmasq
|
|
y correr dnsmasq con la opcion
|
|
.B \-r /etc/resolv.dnsmasq
|
|
Esta segunda técnica permite la actualización dinámica de las direcciones
|
|
de servidores mediante PPP o DHCP.
|
|
.PP
|
|
Direcciones en /etc/hosts harán "sombra" a diferentes direcciones para
|
|
los mismos nombres en servidores DNS upstream, así que
|
|
"miempresa.com 1.2.3.4" en /etc/hosts se asegurará que las búsquedas
|
|
por "miempresa.com" siempre retornarán 1.2.3.4 aún si búsquedas en el
|
|
servidor DNS upstream devolverían una dirección diferente. Hay una
|
|
excepción a esto: si el servidor DNS upstream contiene un CNAME que
|
|
apunta a un nombre sombreado, entonces buscando el CNAME a travéz de
|
|
dnsmasq resultará en que la dirección no-sombreada será asociada con
|
|
el destino del CNAME. Para circumventar esto, agregar en CNAME a
|
|
/etc/hosts de tal manera que el CNAME es sombreado también.
|
|
.PP
|
|
El sistema network-id funciona de la siguiente manera: Para cada pedido
|
|
DHCP, dnsmasq colecciona un juego de etiquetas network-id válidas,
|
|
una del
|
|
.B dhcp-range
|
|
usado para alocar la dirección, una de cualquier
|
|
.B dhcp-host
|
|
que coincida, y posiblemente muchas de clases de vendedor y usuario
|
|
que coinicdan que hayan sido enviadas por el cliente DHCP.
|
|
Cualquier opcion
|
|
.B dhcp-option
|
|
que tenga etiquetas network-id será usada en preferencia de una opción
|
|
.B dhcp-option,
|
|
sin etiqueta, con tal que _todas_ las etiquetas coincidan en alguna
|
|
parte del juego coleccionado describido arriba. El prefijo "#" en una
|
|
etiqueta significa "no" así que --dhcp=option=#purple,3,1.2.3.4 envía
|
|
la opción cuando la etiqueta network-id "purple" no está en el juego
|
|
de etiquetas válidas.
|
|
.PP
|
|
Si el network-id en un
|
|
.B dhcp-range
|
|
es prefijado con "net:", entonces su significado cambia de "fijar
|
|
etiqueta" a "coincidir con etiqueta". O sea que si hay más de un
|
|
dhcp-range en enu subred, y una tiene una etiqueta network-id la
|
|
cual está fijada (por ejemplo una opcion de clase de vendedor) entonces
|
|
hosts que fijen la etiqueta network-id serán alocados direcciones en
|
|
el rango etiquetado.
|
|
.PP
|
|
El servidor DHCP de dnsmasq funcionará como servidor BOOTP tambien,
|
|
con tal que las direcciones MAC y IP de los clientes sean brindadas,
|
|
ya sea usando configuraciones
|
|
.B dhcp-host
|
|
o en
|
|
.I /etc/ethers
|
|
, y una configuración
|
|
.B dhcp-range
|
|
esté presente para activar el servidor DHCP en una red particular.
|
|
(Fijar --bootp-dynamic elimina la necesidad de mapeos estáticos.) El
|
|
Parámetro de nombre de archivos en un pedido BOOTP es revisado para
|
|
ver si coincide con algún network-id en configuraciónes
|
|
.B dhcp-option
|
|
permitiendo algún control sobre las opciones devueltas a diferentes
|
|
clases de hosts.
|
|
.SH ARCHIVOS
|
|
.IR /etc/dnsmasq.conf
|
|
|
|
.IR /usr/local/etc/dnsmasq.conf
|
|
|
|
.IR /etc/resolv.conf
|
|
|
|
.IR /etc/hosts
|
|
|
|
.IR /etc/ethers
|
|
|
|
.IR /var/lib/misc/dnsmasq.leases
|
|
|
|
.IR /var/db/dnsmasq.leases
|
|
|
|
.IR /var/run/dnsmasq.pid
|
|
.SH VER TAMBIEN
|
|
.BR hosts (5),
|
|
.BR resolver (5)
|
|
.SH AUTOR
|
|
Este manual fue escrito por Simon Kelley <simon@thekelleys.org.uk>.
|
|
|
|
Traducido a español por Christopher Chatham <chrislinux@gmail.com>.
|