Files
dnsmasq/man/es/dnsmasq.8
2012-01-05 17:31:12 +00:00

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>.