dnsmasq - Un ligero servidor DHCP y DNS con caché.
dnsmasq [OPCION]...
dnsmasq es un ligero servidor DNS, TFTP y DHCP. Su propósito es
proveer servicios DNS y DHCP a una red de área local.
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.
El servidor DHCP dnsmasq incluye soporte para asignación de direcciones
estáticas y redes múltiples. Automáticamente envía
un predeterminado sensible de opciones DHCP, y puede ser configurado para
enviar cualquier opciones DHCP deseadas, incluyendo opciones encapsuladas por
vendedores. Incluye un servidor seguro TFTP solo-lectura para permitir el
inicio vía red/PXE de hosts DHCP. Tambíen incluye soporte para
BOOTP.
Dnsmasq incluye soporte IPv6 para DNS, pero no para DHCP.
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.
- --test
- Leer archivo(s) de configuración y revisar su
sintaxis. Salir con código 0 si todo está bien, o un
código no-cero en cualquier otro caso. No iniciar dnsmasq.
- -h, --no-hosts
- No leer los nombres de hosts en /etc/hosts.
- -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. Si un directorio es brindado, entonces leer
todos los archivos contenidos en ese directorio.
- -E, --expand-hosts
- Agregar el dominio a nombres sencillos (sin punto) en
/etc/hosts de la misma manera que con nombres derivados de DHCP.
Nótese que esto no aplica a nombres de dominio en cnames,
expedientes PTR, TXT, etc.
- -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 (TTL) 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.
- --neg-ttl=<tiempo>
- Respuestas negativas desde servidores upstream normalmente
contienen información time-to-live (tiempo de vida) en expedientes
SOA que dnsmasq usa para hacer caché. Si las respuestas de
servidores upstream omiten esta información, dnsmasq no mete la
respuesta en el caché. Esta opción brinda un valor
predeterminado para el time-to-live que dnsmasq usa para meter respuestas
negativas en el caché aún en la ausencia de un expediente
SOA.
- --max-ttl=<tiempo>
- Fijar un valor TTL (tiempo de vida) máximo que
será entregado a clientes. El TTL máximo especificado
será otorgado a clientes en vez del TTL verdadero si es menor. El
valor TTL real es mantenido en el caché para prevenir la
inundación de los servidores DNS upstream.
- -k, --keep-in-foreground
- No ir hacia el fondo al iniciar, pero aparte de eso
ejecutar como normal. La intención de esto es para cuando dnsmasq
es ejecutado bajo daemontools o launchd.
- -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
forkear procesos nuevos para manejar búsquedas TCP.
- -q, --log-queries
- Bitacorear los resultados de búsquedas DNS manejadas
por dnsmasq. Habilitar un dump de caché completo al recibir un
SIGUSR1.
- -8, --log-facility=<facilidad>
- Fijar la facilidad a la cual dnsmasq deberá enviar
mensajes syslog, esto es DAEMON por predeterminado, y LOCAL0 cuando el
modo debug está en operación. Si la facilidad brindada
contiene por lo menos un carácter "/", se trata como un
nombre de archivo, y dnsmasq bitacoreará a dicho archivo, en vez de
syslog. Si la facilidad es '-' entonces dnsmasq bitacorea a stderr.
(Errores durante la lectura de la configuración irán a
syslog todavía, pero todo output desde un inicio exitoso, y todo
output mientras en ejecución, irá a este archivo
exclusivamente.) Al bitacorear a un archivo, dnsmasq cerrará y
reabrirá el archivo al recibir un SIGUSR2. Esto permite que el
archivo de bitácora sea rotado sin detener a dnsmasq.
- --log-async[=<líneas>]
- Habilitar bitacoréo asincrónico y
opcionalmente fijar el límite de número de líneas que
serán enviadas a la coleta por dnsmasq cuando syslog está
lento. Dnsmasq puede bitacorear asincrónicamente: esto le permite
continuar funcionando sin ser bloqueado por syslog, y permite a syslog
usar dnsmasq para búsquedas DNS sin riesgo de tranque. Si la coleta
de líneas de bitácora se llena, dnsmasq bitacoreará
el desbordamiento, y el número de mensajes perdidos. El
tamaño predeterminado de coleta es 5, un valor sano sería
5-25, y un límite de 100 es impuesto.
- -x, --pid-file=<path>
- Especificar un path alterno donde dnsmasq debe guardar su
PID. Normalmente es /var/run/dnsmasq.pid.
- -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.
- -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
normálmente no es globalmente leíble.
- -v, --version
- Mostrar el número de versión.
- -p, --port=<puerto>
- Escuchar en el puerto <puerto> en vez del puerto
estándar DNS (53). Fijar esto a cero deshabilita completamente la
función DNS, dejando solo DHCP y/o TFTP.
- -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 4096, lo cual es el
tamaño recomendado en RFC5625.
- -Q, --query-port=<puerto>
- Enviar búsquedas outbound desde, y escuchar por
respuestas en, el puerto UDP <puerto> en vez de usar puertos
aleatorios. Nótese que usar esta opción hace que dnsmasq sea
menos seguro contra ataques de spoofing DNS, pero puede ser más
rápido y usar menos recursos. Fijar esta opción a zero hace
que dnsmasq use un solo puerto, asignado por el sistema operativo (esto
era el comportamiento predeterminado en versiones anteriores a 2.43).
- --min-port=<puerto>
- No usar puertos menores a <puerto> como remitentes
para búsquedas DNS outbound. Dnsmasq escoje puertos aleatorios como
remitentes para búsquedas DNS outbound. Cuando esta opción
es brindada, los puertos usados siempre serán mayores que el
especificado. Esto es útil para sistemas detras de firewalls.
- -i, --interface=<nombre de interface>
- Escuchar solo en las interfaces especificadas. Dnsmasq
automáticamente agrega la interface loopback a la lista de
interfaces para usar cuando la opción --interface es usada.
Si ninguna opción --interface o --listen-address es
brindada, dnsmasq escucha en todas las interfaces disponibles excepto
cualquiera fijada con opciones --except-interface Interfaces IP
alias (por ejemplo, "eth1:0") no pueden ser utilizadas con
--interface o --except-interface , usar --listen-address en
vez.
- -I, --except-interface=<nombre de
interface>
- No escuchar en la interface especificada. Nótese que
el orden de las opciones --listen-address --interface y
--except-interface no importa y las opciones
--except-interface siempre invalidan a las otras.
- -2, --no-dhcp-interface=<nombre de
interface>
- No proveer DHCP ni TFTP en la interface especificada, pero
sí proveer servicio DNS.
- -a, --listen-address=<dirección
IP>
- Escuchar en la(s) dirección(es) IP especificada(s).
Las opciones --interface y --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 --interface es
brindada, pero sí se brinda la opción
--listen-address , entonces dnsmasq no escuchará
automáticamente en la interface loopback. Para obtener esto, su
dirección IP, 127.0.0.1, debe ser explícitamente brindada
como una opción --listen-address
- -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.
- -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.
- -b, --bogus-priv
- Búsquedas privadas reversas raras. Toda
búsqueda reversa 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.
- -V, --alias=[<IP viejo>]|[<IP inicio>-<IP
final>],<IP nuevo>[,<máscara>]
- Modificar direcciones IPv4 retornadas desde servidores DNS
upstream; <IP viejo> es remplazado con <IP nuevo>. Si la
máscara opcional es brindada, entonces cualquier dirección
que coincida con el <IP viejo> enmascarado será re-escrita.
Así que, por ejemplo, --alias=1.2.3.0,6.7.8.0,255.255.255.0
trazará 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". Si la
dirección vieja es brindada como un rango, entonces solo
direcciones en ese rango, y no la subred entera, son re-escritas. De tal
manera que --alias=192.168.0.10-192.168.0.40,10.0.0.0,255.255.255.0
relaciona 192.168.0.10->192.168.0.40 a 10.0.0.10->10.0.0.40
- -B, --bogus-nxdomain=<dirección
IP>
- Transformar respuestas que contienen la dirección IP
brindada a 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. Para septiembre 2003
la dirección IP siendo retornada por Verisign es 64.94.110.11
- -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.
- -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 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 son agregados
a la lista. Esto es solo permitido al hacer polling; el archivo con la
actual fecha de modificación más nueva es el que será
usado.
- -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.
- -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.
- -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
opción forza a dnsmasq a probar cada búsqueda con cada
servidor estrictamente en el orden que aparecen en /etc/resolv.conf
- --all-servers
- Por predeterminado, cuando dnsmasq tiene más de un
servidor upstream disponible, enviará búsquedas a solo un
servidor. Fijar esta opción forza a dnsmasq a enviar todas las
búsquedas a todos los servidores disponibles. La respuesta del
servidor que responda primero será devuelta al solicitante
original.
- --stop-dns-rebind
- Denegar (y bitacorear) direcciones de servidores upstream
que están dentro de rangos IP privados. Esto bloquea un ataque
donde un navegador detrás de un firewall es usado para analizar
máquinas en la red local.
- --rebind-localhost-ok
- Eximir a 127.0.0.0/8 de verificaciones de rebinding. Este
rango de direcciones es retornado por servidores de tiempo real tipo hoyo
negro, así que bloquearlo puede deshabilitar estos servicios.
- --rebind-domain-ok=[<domain>]|[[/<domain>/[<domain>/]
- No detectar y bloquear dns-rebind en búsquedas a
estos dominios. El argumento puede ser o un dominio sencillo, o
múltiples dominios rodeados por '/', como el syntax de --server,
por ejemplo --rebind-domain-ok=/dominio1/dominio2/dominio3/
- -n, --no-poll
- No revisar periodicamente a /etc/resolv.conf en busca de
cambios.
- --clear-on-reload
- Cuando sea que /etc/resolv.conf es re-leida, liberar el
caché DNS. Esto es útil cuando servidores DNS nuevos puedan
tener datos diferentes a los contenidos en el caché.
- -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.
- -S, --local,
--server=[/[<dominio>]/[dominio/]][<dirección
IP>[#<puerto>][@<IP de
remitente>|<interface>[#<puerto>]]
- 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 -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, // tiene el significado especial de
"solo nombres no calificados", o sea nombres sin ningún
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.
Dominios más específicos toman precedencia sobre los menos
específicos, así que: --server=/google.com/1.2.3.4
--server=/www.google.com/2.3.4.5 enviará búsquedas
por *.google.com hacia 1.2.3.4, excepto *www.google.com, el cual
irá a 2.3.4.5.
La dirección especial de servidor '#' significa "usar los
servidores estándares", así que
--server=/google.com/1.2.3.4 --server=/www.google.com/#
enviará búsquedas por *.google.com hacia 1.2.3.4, excepto
*www.google.com, el cual será reenviado de manera usual.
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. local es un sinónimo de
server para hacer los archivos de configuración mas claros
en este caso.
El string opcional despues del carácter @ le dice a dnsmasq como
fijar el remitente de las búsquedas hacia este servidor DNS. Debe
ser una dirección IP, la cual debe ser perteneciente a la
máquina en la cual corre dnsmasq, de forma contraria esta
línea de servidor será bitacoreada y después
ignorada, o un nombre de interface. Si un nombre de interface es brindado,
entonces búsquedas hacia el servidor serán forzadas
vía esa interface; si una dirección IP es brindada, entonces
la dirección de remitente de las búsquedas será
fijada a esa dirección. La etiqueta 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. Forzar búsquedas a una
interface no está implementado en todas las plataformas soportadas
por dnsmasq.
- -A,
--address=/<dominio>/[dominio/]<dirección IP>
- 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.
- -m, --mx-host=<nombre mx>[[,<nombre de
host>],<preferencia>]
- Retornar un record llamado <mx name> apuntando hacia
el 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.
- -t, --mx-target=<nombre de host>
- 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 nombre de host de la máquina donde
dnsmasq está corriendo.
- -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.
- -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.
- -W,
--srv-host=<_servicio>.<_prot>.[<dominio>],[<target>[,<puerto>[,<prioridad>[,<peso>]]]]
- Retornar un record DNS SRV. Ver RFC2782 para detalles. Si
no es brindada, el dominio se predetermina a el brindado por
--domain. El predeterminado para el dominio target está
vacío, 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.
- -Y,
--txt-record=<nombre>[[,<texto>],<texto>]
- 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.
- --ptr-record=<nombre>[,<target>]
- Retornar un récord DNS PTR.
- --naptr-record=<nombre>,<orden>,<preferencia>,<opciones>,<servicio>,<regexp>[,<remplazo>]
- Retornar un récord DNS NAPTR, como especificado en
RFC3403.
- --cname=<cname>,<target>
- Retornar un expediente CNAME que indica que <cname>
es realmente <target>. Hay limitaciones significativas en el target.
Debe ser un nombre DNS que le es conocido a dnsmasq desde /etc/hosts (o
archivos hosts adicionales) o de DHCP. Si el target no satisface este
criterio, el cname entero es ignorado. El cname debe ser único,
pero es permisible tener más de un cname indicando el mismo
target.
- --interface-name=<nombre>,<interface>
- Retornar un expediente DNS, asociando el nombre con la
dirección primaria en la interface brindada. Esta opción
especifica un expediente tipo A para el nombre brindado de la misma forma
que una línea de /etc/hosts, excepto que la dirección no es
constante y es en vez tomada de la interface brindada. Si la interface
está deshabilitada, nó configurada, o nó existente,
un récord vacío es devuelto. El récord PTR relevante
tambien es creado, trazando la dirección de la interface a el
nombre. Más de un nombre puede ser asociado con una
dirección de interface, repitiendo la opción. En tal caso,
la primera instancia es usada para la traza reversa
dirección-a-nombre.
- -c, --cache-size=<tamaño de
caché>
- Fijar el tamaño del caché de dnsmasq. El
predeterminado es 150 nombres. Fijar el tamaño a cero deshabilita
el caché. Nota: el gran tamaño de caché afecta el
rendimiento.
- -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.
- -0, --dns-forward-max=<búsquedas>
- Fijar el número máximo de búsquedas
DNS simultáneas. El valor predeterminado es 150, lo cuál
debería estar bien para la mayoría de casos. La única
situación conocida donde esto debe ser incrementado es al usar
resolvedores de bitácoras de servidores web, los cuales pueden
generar un número inmenso de búsquedas
simultáneas.
- -F,
--dhcp-range=[interface:<interface>,][tag:<tag>[,tag:<tag>],][set:<tag],]<dirección-inicio>,<dirección-final>[,<netmask>[,<broadcast>]][,<tiempo
de arriendo>]
- Habilitar el servidor DHCP. Direcciones serán
distribuidas desde el rango <dirección-inicio> hasta
<dirección-final> y desde direcciones definidas
estáticamente en opciones dhcp-host Si el tiempo de arriendo
es especificado, entonces arriendos serán otorgados por esa
cantidad de tiempo. El tiempo de arriendo es en segundos, o minutos (por
ejemplo, 45m), u horas (por ejemplo, 1h), o "infinite". Si no es
brindada, el tiempo de arriendo predeterminado es de una hora. El tiempo
de arriendo mínimo es de dos minutos. 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. Pero, es requerida
para redes que reciben servicio DHCP vía un agente de relay. La
dirección de broadcast siempre es opcional. Siempre se permite
tener más de un rango dhcp (dhcp-range) en una subred.
El parámetro opcional set:<tag> fija una etiqueta
alfanumérica la cual marca esta red de tal forma que opciones dhcp
puedan ser especificadas en base a cada red. Cuando es prefijada con
'tag:' en vez, entonces el significado cambia de "fijar
etiqueta" a "coincidir con etiqueta". Solo una etiqueta
puede ser fijada, pero más de una puede ser revisada por
coincidencias. La dirección final puede ser remplazada por la
palabra clave 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 dhcp-host o desde /etc/ethers serán
servidas. La dirección final puede ser remplazada por la palabra
clave proxy caso en el cual dnsmasq proveerá proxy-DHCP en
la subred especificada. (Ver pxe-prompt y pxe-service para
detalles.)
La sección interface:<interface name> no es normalmente usada.
Ver la sección NOTAS para detalles sobre esto.
- -G,
--dhcp-host=[<hwaddr>][,id:<client_id>|*][,set:<tag>][,<ipaddr>][,<hostname>][,<tiempo_de_arriendo>][,ignorar]
- 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 de 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:
--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.
--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 subred de
un rango DHCP (dhcp-range) válido. Para subredes que no necesitan
una collección de direcciones dinamicamente alocadas, usar la
palabra clave "static" in la declaración dhcp-range.
Es permitido usar identificadores de cliente en vez de direcciones de
hardware para identificar hosts prefijando 'id:'. O sea que:
--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í:
--dhcp-host=id:iddeclientecomotexto,.....
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
--dhcp-host la cual especifica el nombre también. Solo un
hostname puede ser brindado en una opción dhcp-host pero
aliases son posibles por medio del uso de CNAMEs. (Ver --cname ).
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: --dhcp-host=00:20:e0:3b:13:af,ignore
Esto es útil cuando hay otro servidor DHCP en la red que debe ser
usado por algúnas máquinas.
El set:<tag> fija la etiqueta cuando sea que esta directiva dhcp-host
está en uso. Esto puede ser usado para enviar selectivamente
opciones DHCP a este host. Más de una etiqueta puede ser fijada en
una directiva dhcp-host (pero no en otros lugares donde
"set:<tag>" es permitido). Cuando un host coincide con
cualquier directiva dhcp-host (o una implicada por /etc/ethers) entonces
la etiqueta especial "known" es fijada. Esto permite que dnsmasq
sea configurado para ignorar pedidos desde máquinas desconocidas
usando --dhcp-ignore=tag:!known Direcciones ethernet (pero no
client-ids) pueden tener bytes comodínes, así que por
ejemplo --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
--dhcp-host=06-00:20:e0:3b:13:af,1.2.3.4 solo coincidiría
con una dirección de hardware Token-Ring, dado que el tipo ARP para
Token-Ring es 6.
Como caso especial, es posible incluir más de una dirección de
hardware. Ejemplo:
--dhcp-host=11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.2 Esto
permite que una dirección IP sea asociada con direcciones de
hardware múltiples, y le brinda a dnsmasq permiso para abandonar un
arriendo DHCP a una de las direcciones de hardware cuando otra pide un
arriendo. Nótese que esto es algo peligroso, sólo
funcionará dependiblemente si una de las direcciones de hardware
está activa en cualquier momento y dnsmasq no tiene forma de
enforzar esto. Pero es útil, por ejemplo, para alocar una
dirección IP estable a una laptop que tiene interface
alámbrica e inalámbrica.
- --dhcp-hostsfile=<archivo>
- Leer 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.
- --dhcp-optsfile=<archivo>
- Leer información sobre opciones DHCP desde el
archivo especificado. La ventaja de usar esta opción es la misma
que con --dhcp-hostsfile: el archivo dhcp-optsfile será
re-leído cuando dnsmasq recibe un SIGHUP. Nótese que es
posible colocar la información mediante --dhcp-boot como
opciones DHCP, usando los nombres de opción bootfile-name,
server-ip-address, y tftp-server. Esto permite que sean incluidas en un
archivo dhcp-optsfile.
- -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 --dhcp-host que
contienen la misma información. /etc/ethers es re-leída
cuando dnsmasq recibe un SIGHUP.
- -O,
--dhcp-option=[tag:<tag>,[tag:<tag>,]][encap:<opt>,][vi-encap:<enterprise>,][vendor:[<vendor-class>],][<opt>|option:<opt-name>],[<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. La opción a ser enviada puede
ser brindada como un número decimal o como
"option:<option-name>". Los números de
opción están especificados en RFC2132 y RFCs subsiguientes.
El juego de option-names conocido por dnsmasq puede ser descubierto
ejecutando "dnsmasq --help dhcp". Por ejemplo, para fijar la
ruta predeterminada a 192.168.4.4, hágase un
--dhcp-option=3,192.168.4.4 o --dhcp-option=option:router,
192.168.4.4 y para fijar la dirección de servidor de tiempo a
192.168.0.4, hágase un --dhcp-option=42,192.168.0.4 o
--dhcp-option=option:ntp-server, 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 segmentos, un número decimal,
dígitos hex separados por colones, y un string de texto. Si las
etiquetas opcionales son brindadas, entonces esta opción es solo
enviada cuando todas las etiquetas coinciden.
Procesamiento especial es llevado a cabo en un argumento de texto para la
opción 119, en conforme con RFC3397. Direcciones IP textuales o de
cuatro segmentos como argumentos a la opción 120 son manejados
mediante RFC3361. Direcciones IP de cuatro segmentos que son seguidas por
un diagonal (slash) y después una máscara son codificados
mediante RFC3442.
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:
--dhcp-option=66,"1.2.3.4"
Opciones encapsuladas vendor-class también pueden ser especificadas
usando --dhcp-option: por ejemplo
--dhcp-option=vendor:PXEClient,1,0.0.0.0 envía la
opción específica de clase de vendedor
"mftp-address=0.0.0.0" a cualquier cliente cuyo vendor-class
coincida con "PXEClient". El revisado de coincidencias
vendor-class está basado en substrings (ver --dhcp-vendorclass para
detalles). Si una opción vendor-class (número 60) es enviada
por dnsmasq, entonces es usada para seleccionar opciones encapsuladas en
preferencia sobre cualquiera enviada por el cliente. Es posible omitir el
vendorclass completamente; --dhcp-option=vendor:,1,0.0.0.0 caso en
el cuál la opción encapsulada siempre es enviada. Opciones
pueden ser encapsuladas dentro de otras opciones, por ejemplo:
--dhcp-option=encap:175, 190, iscsi-client0 enviará
opción 175, dentro de la cual está opción 190. Si
múltiples opciones son brindadas que están encapsuladas con
el mismo número de opción entonces serán
correctamente combinadas en una opción encapsulada. encap: y
vendor: no pueden ser fijadas ambas dentro de la misma opción
dhcp-option.
La variante final en opciones encapsuladas es "Vendor-Identifying
Vendor Options" como especificado en RFC3925. Estos son denotados
así: --dhcp-option=rfc3925-encap:2, 10, text El
número en la sección rfc3925-encap: es el número
enterprise usado para identificar esta opción.
La dirección 0.0.0.0 no es tratada de forma especial en opciones
encapsuladas.
- --dhcp-option-force=[tag:<tag>,[tag:<tag>,]][encap:<opt>,][vi-encap:<enterprise>,][vendor:[<vendor-class>],]<opt>,[<value>[,<value>]]
- Esto funciona exáctamente de la misma forma que
--dhcp-option excepto que la opción siempre será
enviada, aún si el cliente no la pide en la lista de pedido de
parámetros. Esto se necesita aveces, por ejemplo cuando enviando
opciones a PXELinux.
- --dhcp-no-override
- Deshabilitar la reutilización de los campos DHCP de
nombre de servidor y archivo como espacio para opciones extra. Si puede,
dnsmasq mueve la información del servidor boot y del nombre de
archivo (de dhcp-boot) de sus campos dedicados hacia opciones DHCP. Esto
crea espacio extra en el paquete DHCP para opciones, pero puede raramente
confundir clientes viejos o defectuosos. Esta opción forza
comportamiento "simple y sencillo" para prevenir problemas en
tales casos.
- -U,
--dhcp-vendorclass=set:<tag>,<vendor-class>
- Trazar desde un string vendor-class a una etiqueta. La
mayoría de los clientes DHCP proveen una "vendor class"
la cual representa, en cierto sentido, el tipo de host. Esta opción
traza clases de vendedor a network ids, de tal forma que opciones DHCP
pueden ser selectivamente entregadas a diferentes clases de hosts. Por
ejemplo dhcp-vendorclass=set:printers,Hewlett-Packard JetDirect
peritiría que opciones sean fijadas solo para impresoras HP
así: --dhcp-option=tag:printers,3,192.168.4.4 El string
vendor-class es coordinado con el vendor-class proveido por el cliente,
para permitir coincidencias borrosas. El prefijo set: es opcional, pero
permitido por razones de consistencia.
- -j,
--dhcp-userclass=set:<tag>,<user-class>
- Trazar desde un string user-class a una etiqueta (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 traza 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 "cuentas" que para
los de la clase "ingenieria".
- -4, --dhcp-mac=set:<tag>,<MAC
address>
- Trazar desde una dirección MAC a una etiqueta. La
dirección MAC puede incluir comodínes. Por ejemplo:
--dhcp-mac=set:3com,01:34:23:*:*:* fijaría el tag
"3com" a cualquier host el cual su MAC coincida con el
patrón.
- --dhcp-circuitid=<network-id>,<circuit-id>,
--dhcp-remoteid=<network-id>,<remote-id>
- Trazar de opciones agente de relay RFC3046 a etiquetas.
Estos datos pueden ser proveídos por agentes de relay DHCP. El
circuit-id o remote-id es normlamente brindado como hex separado por
doblepuntos, pero también se permite un string simple. Si se
obtiene una coincidencia exacta entre el circuit o agent ID y uno
proveído por un agente de relay, la etiqueta es fijada.
- --dhcp-subscrid=set:<tag>,<subscriber-id>
- Trazar de opciones relay subscriber-id RFC3993 a
etiquetas.
- --dhcp-proxy[=<ip addr>]......
- Un agente de relay normal es usado solamente para reenviar
las partes iniciales de una interacción DHCP con el servidor DHCP.
Una vez que un cliente es configurado, se comunica diectamente con el
servidor. Esto es indeseable si el agente de relay está agregando
información extra a los paquetes DHCP, tal como usado por
dhcp-circuitid y dhcp-remoteid. Una implementación
relay completa puede usar la opción serverid-override RFC 5107 para
obligar al servidor DHCP a usar el relay como un proxy completo, con todos
los paquetes pasando a travez de el. Esta opción provee una manera
alternativa de hacer la misma cosa, para relays que no tienen soporte RFC
5107. Brindada por si sola, manipula el server-id para todas las
interacciones via relays. Si una lista de IPs es brindada, solo
interacciones via relays en esas direcciones son afectadas.
- --dhcp-match=set:<tag>,<option
number>|option:<option
name>|vi-encap:<enterprise>[,<value>]
- Sin un valor, fijar la etiqueta si el cliente envía
una opción DHCP del número o valor brindado. Cuando un valor
es brindado, fijar la etiqueta solo si la opción es enviada y
coincide con el valor. El valor puede ser de la forma
"01:ff:*:02", caso en el cual el valor debe coincidir (aparte de
los comodines) pero la opción enviada puede tener data que no
coincide despues del final del valor. El valor también puede ser de
la misma forma que dhcp-option caso en el cual la opción
enviada es tratada como un array, y un elemento debe coincidir, así
que
--dhcp-match=set:efi-ia32,option:client-arch,6
fijará la etiqueta a "efi-ia32" si el número 6
aparece en la lista de architecturas enviada por los clientes en
opción 93. (Ver RFC 4578 para detalles.) Si el valor es un string,
coincidencia substring es usada.
La forma especial con vi-encap:<enterpise number> busca coincidencia
con clases de vendedor identificadoras para el enterprise especificado.
Por favor ver RFC 3925 para mas detalles sobre estas bestias raras e
interesantes.
- --tag-if=set:<tag>[,set:<tag>[,tag:<tag>[,tag:<tag>]]]
- Llevar a cabo operaciones boolean en etiquetas. Cualquier
etiqueta que aparece como set:<tag> es fijada si todas las etiquetas
que aparecen como tag:<tag> estan fijadas, (o desfijadas cuando
tag:!<tag> es usado). Si ningún tag:<tag> aparece,
etiquetas set:<tag> son fijadas incondicionalmente. Cualquier
cantidad de formas set: y tag: pueden aparecer, en cualquier orden.
Líneas tag-if son ejecutadas en orden, así que si la
etiqueta en tag:<tag> es una etiqueta fijada por otra tag-if,
la línea que fija la etiqueta debe preceder a la que
comprueba.
- -J,
--dhcp-ignore=tag:<tag>[,tag:<tag>]
- Cuando todoas las etiquetas brindadas aparecen en el juego
de etiquetas ignorar el host y no brindarle un arriendo DHCP.
- --dhcp-ignore-names[=tag:<tag>[,tag:<tag>]]
- Cuando todos las etiquetas brindadas aparecen en el juego
de etiquetas, ignorar cualquier nombre de host proveido por el host.
Nótese que, a diferencia de dhcp-ignore, es permisible no brindar
ninguna etiqueta, y en tal caso nombres de host proveidos por clientes
DHCP siempre son ignorados, y hosts DHCP son agregados al DNS usando solo
la configuración dhcp-host en dnsmasq y el contenido de /etc/hosts
y /etc/ethers.
- --dhcp-generate-names=tag:<tag>[,tag:<tag>]
- Generar un nombre para clientes DHCP que de otra forma no
tienen uno, usando la dirección MAC expresada en hex, separada por
guiones. Nótese que si un host provee un nombre, será usado
preferiblemente sobre este, a menos que --dhcp-ignore-names
esté fijado.
- --dhcp-broadcast[=tag:<tag>[,tag:<tag>]]
- Cuando todas las etiquetas aparecen en el juego de
etiquetas, siempre usar broadcast para comunicar con el host cuando no
está configurado. Es permisible omitir las etiquetas, caso en el
cual esto es incondicional. La mayoría de clientes DHCP que
necesitan respuestas broadcast fijan una opción en sus pedidos para
que esto pase automaticamente, algunos clientes BOOTP viejos no lo
hacen.
- -M,
--dhcp-boot=[tag:<tag>,]<filename>,[<servername>[,<server
address>]]
- Fijar opciones BOOTP que han de ser devueltas por el
servidor DHCP. Nombre y dirección de servidor son opcionales: si no
son brindadas, el nombre es dejado en blanco, y la dirección es
fijada a la de la máquina que corre dnsmasq. Si dnsmasq está
brindando servicio TFTP (ver --enable-tftp ) entonces solo el
nombre de archivo es requirido aquí para habilitar el inicio
atravéz de una red. Si las opcionales etiquetas son brindadas,
ellas deberán coincidir para que esta configuración sea
enviada. Nótese que network-ids están prefijadas con
"net:" para distinguirlas.
- --pxe-service=[tag:<tag>,]<CSA>,<menu
text>[,<basename>|<bootservicetype>][,<server
address>]
- La mayoría de usos para boot-ROMS PXE simplemente
permiten al sistema PXE obtener una dirección IP y entonces bajar
el archivo especificado por dhcp-boot y ejecutarlo. Sin embargo, el
sistema PXE es capaz de llevar a cabo funciones más complejas
cuando están soportadas por un servidor DHCP adecuado.
Esto especifica una opción boot que puede aparecer en un menú
de boot PXE. <CSA> es tipo de sistema de cliente, solo servicios del
tipo correcto aparecerán en un menú. Los tipos conocidos son
x86PC, PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI,
BC_EFI, Xscale_EFI y X86-64_EFI; un número entero puede ser
utilizado para otros tipos. El parámetro después del texto
de menú puede ser un nombre de archivo, caso en el cuál
dnsmasq actúa como un servidor boot y le ordena al cliente PXE
bajar el archivo vía TFTP, ya sea de sí mismo (
enable-tftp debe estar fijado para que esto funcione) o desde otro
servidor TFTP si la dirección IP final es brindada. Nótese
que el sufijo "layer" (normalmente ".0") es brindado
por PXE, y no debe ser agregado al nombre base. Si un número entero
es brindado en vez de un nombre base, entonces el cliente PXE
buscará un servicio boot adecuado para ese tipo de red. Esta
búsqueda puede ser hecha mediante broadcast, o directamente a un
servidor si la dirección IP es brindada. Si ningún tipo de
servicio boot o nombre de archivo es brindado (o un tipo de servicio boot
de 0 es especificado), entonces la opción de menú
abortará el proceso net boot y continuará desde el medio
local.
- --pxe-prompt=[tag:<tag>,]<prompt>[,<timeout>]
- Fijar esto hace que un aviso sea expuesto despues del boot
PXE. Si el timeout es brindado, entonces despues que el timeout se haya
vencido sin input del teclado, la primera opción del menú
sera automaticamente ejecutada. Si el timeout es cero entonces la primera
opción del menú sera automaticamente ejecutada. Si
pxe-prompt es omitido, el sistema esperará para el input del
usuario si hay múltiples artículos en el menú, pero
hará boot imediatamente si hay solo uno. Ver pxe-service
para detalles sobre artículos de menu.
Dnsmasq tiene soporte para "proxy-DHCP" PXE, en este caso otro
servidor DHCP en la red es responsable por asignar direcciones IP, y
dnsmasq simplemente provee la dirección brindada en
pxe-prompt y pxe-service para permitir boot a travez de la
red. Este modo es habilitado usando la palabra clave proxy en
dhcp-range.
- -X, --dhcp-lease-max=<número>
- Limita a dnsmasq a el número especificado de
arriendos DHCP. El predeterminado es 1000. El limite es para prevenir
ataques DoS desde hosts que crean cientos de arriendos y usan mucha de la
memoria del proceso dnsmasq.
- -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 necesite readquirir un arriendo si la base de datos es
perdida.
- --dhcp-alternate-port[=<puerto de
servidor>[,<puerto de cliente>]]
- Cambiar del predeterminado los puertos usados para DHCP. Si
esta opción es brindada sola, sin argumentos, cambia los puertos
usados para DHCP de 67 y 68 a 1067 y 1068. Si un solo argumento es
brindado, ese puerto es usado para el servidor y el número de
puerto mas uno es usado para el cliente. Finalmente, dos números
permiten que se especifiquen ambos los puertos de servidor y cliente para
DHCP.
- -3,
--bootp-dynamic[=<network-id>[,<network-id>]]
- Habilitar alocación dinámica de direcciones
IP a clientes BOOTP. Usar esto con cuidado, ya que cada dirección
alocada a un cliente BOOTP es arrendada para siempre, y consecuentemente
queda no-disponible para re-uso por otros hosts. Si esto es brindado sin
etiquetas, entonces incondicionalmente habilita alocación
dinámica. Con etiquetas, solo cuando todas las etiquetas
están fijadas. Puede ser repetido con diferentes juegos de
etiquetas.
- -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 opción deshabilita esta prueba. Usar con cuidado.
- --log-dhcp
- Bitacoréo extra para DHCP: Bitacorear todas las
opciones enviadas a clientes DHCP y las etiquetas usadas para
determinarlos.
- -l, --dhcp-leasefile=<path>
- Usar el archivo especificado para almacenar
información de arriendos DHCP.
- -6 --dhcp-script=<path>
- Cuando un arriendo DHCP nuevo es creado, o uno viejo es
destruido, el ejecutable especificado por esta opción es ejecutado.
<path> debe ser un pathname absoluto, ninguna búsqueda PATH
ocurre. Los argumentos para el binario son "add",
"old", o "del", la dirección MAC del host, 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 (también, tiempo de arriendo o vencimiento y
client-id, si leasefile-ro está fijado). Si la dirección MAC
es de un tipo de red que no es ethernet, tendrá el tipo de red
precolocado, por ejemplo "06-01:23:45:67:89:ab" para token ring.
El proceso es ejecutado como root (asumiendo que dnsmasq fue originalmente
ejecutado como root) aún si dnsmasq está configurado para
cambiar su UID a un usuario sin privilegios.
El ambiente es heredado del usuario que ha invocado a dnsmasq, con algunas o
todas de las siguientes variables agregadas.
DNSMASQ_CLIENT_ID si el host brindo un client-id.
DNSMASQ_DOMAIN si el nombre de dominio completamente calificado del host es
conocido, esto es fijado a la parte del dominio.
Si el cliente brinda vendor-class, hostname o user-class, estos son
brindados en las variables DNSMASQ_VENDOR_CLASS,
DNSMASQ_SUPPLIED_HOSTNAME, y DNSMASQ_USER_CLASS0..DNSMASQ_USER_CLASSn,
pero solo para acciones "add" y "old" cuando un host
reanuda un arriendo existente, dado a que estos datos no son almacenados
en la base de datos de arriendos de dnsmasq.
Si dnsmasq fue compilado con HAVE_BROKEN_RTC, entonces la duración
del arriendo (en segundos) es almacenada en DNSMASQ_LEASE_LENGTH, de otra
manera el tiempo de vencimiento es almacenado en DNSMASQ_LEASE_EXPIRES. El
número de segundos faltante para el vencimiento del arriendo
siempre es almacenado en DNSMASQ_TIME_REMAINING.
Si un arriendo solía tener un nombre de host, el cual es removido, un
evento "old" es generado con el nuevo estado del arriendo, (por
ejemplo, sin nombre), y el nombre anterior es brindado en la variable de
ambiente DNSMASQ_OLD_HOSTNAME.
DNSMASQ_INTERFACE almacena el nombre de la interface en la cual llegó
el pedido; esto no es fijado para acciones "viejas" cuando
dnsmasq re-inicia.
DNSMASQ_RELAY_ADDRESS es fijado si el cliente usó un relay DHCP para
contactar a dnsmasq y la dirección IP del relay es conocida.
DNSMASQ_TAGS contiene todas las etiquetas network-id fijadas durante la
transacción DHCP, separadas por espacios.
Todos los descriptores de archivo 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: máximo una
instamcia del guión está corriendo a la vez (dnsmasq espera
a que una instancia de guión haga exit antes de correr la
siguiente). Cambios a la base de datos de arriendos que requieren que el
guión sea invocado son puestos en cola esperando el exit de una
instancia corriente. Si esta cola permite que cambios multiples de estado
le ocurran a un arriendo individual antes de que el guión pueda ser
ejecutado entonces estados anteriores son descartados y el estado actual
del arriendo es reflejado cuando el guión finalmente corre.
Al inicio de dnsmasq, el guión será invocado para todos los
arriendos existentes mientras van siendo leídos 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 cuando arriendos dnsmasq serán llamados
con "del" y otros con "old". Cuando dnsmasq recibe una
señal HUP, el guión será invocado para arriendos
existentes con un evento "old".
- --dhcp-scriptuser
- Especificar el usuario como el cual se debe correr el
archivo guión de cambio de arriendos. Este es root por
predeterminado, pero puede ser cambiado a otro usuario mediante esta
opción.
- -9, --leasefile-ro
- Suprimir completamente el uso del archivo de arriendos. El
archivo no será creado, leído, ni escrito. Cambiar la manera
en la cuál el archivo guión de cambio de arriendo (si es
brindado) es llamado, de tal forma que la base de datos de arriendospueda
ser mantenida en almacenaje externo por el archivo guión.
Adicionálmente a las invocaciones brindadas en --dhcp-script
el archivo de cambio de arriendos es llamado una vez, al inicio de
dnsmasq, con el único argumento "init". Cuando invocado
de esta forma, el guión debería escribir el estado guardado
de la base de datos de arriendos, en formato de archivo de arriendos
dnsmasq, a stdout y hacer exit con código exit cero. Fijar esta
opción también forza que el archivo de cambio de arriendos
sea llamado cuando hay cambios hechos a el client-id y tiempos de arriendo
y vencimiento.
- --bridge-interface=<nombre de
interface>,<alias>[,<alias>]
- Tratar paquetes de pedidos DHCP (v4 y v6) y de IPv6 Router
Solicit que llegan a cualquiera de las interfaces <alias> como si
hubieran llegado a la interface <nombre de interface>. Esta
opción permite que dnsmasq puede proporcionar los servicios DHCP y
RA a través de interfaces ethernet sin dirección y sin
puente; por ejemplo en un nodo de cálculo de OpenStack, donde cada
una de esas interfaces es una interfaz TAP para una máquina
virtual, o al usar bridging estilo viejo en plataformas BSD.
- -s, --domain=<dominio>[,<rango de
IPs>]
- Especifica los dominios DNS para el servidor DHCP. Dominios
pueden ser brindados incondicionalmente (sin el rango de IPs) o para
rangos limitados. 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 bitacorada. 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
--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 dnsmasq como "laptop" y
"laptop.thekelleys.org.uk". Si el dominio es brindado como
"#" entonces el dominio es leido desde la primera directiva
search en /etc/resolv.conf (o equivalente). El rango de direcciones puede
ser <dirección IP>,<dirección IP> or
<dirección IP>/<máscara de subred>. Ver
--dhcp-fqdn el cual puede cambiar el comportamiento de dnsmasq con
dominios.
- --dhcp-fqdn
- En el modo predeterminado, dnsmasq pone los nombres
no-calificados de clientes DHCP en el DNS. Por esta razón, los
nombres deben ser únicos, aún si dos clientes que tienen el
mismo nombre están en dominios diferentes. Si un segundo cliente
DHCP aparece el cual tiene el mismo nombre que un cliente existente, el
nombre es transferido al cliente nuevo. Si --dhcp-fqdn está
fijado, este comportamiento cambia: El nombre no-calificado no es puesto
en el DNS, solo el nombre calificado. Dos clientes DHCP con el mismo
nombre pueden ambos quedarse con el nombre, con tal que la parte de
dominio sea diferente (o sea que los nombres completamente calificados
difieran). Para asegurar que todos los nombres tengan una parte de
dominio, debe haber al menos --domain sin una dirección
especificada cuando --dhcp-fqdn está fijado.
- --enable-tftp[=<interface>]
- Habilitar la función de servidor TFTP. Esto
está deliberadamente limitado a lo necesario para hacerle a un
cliente un inicio vía red. Solo lectura es permitida; las
extensiones tsize y blksize son soportadas (tsize solo es soportada en
modo octeto). Ver sección de NOTAS para el uso de el argumento de
interface.
- --tftp-root=<directory>[,<interface>]
- Buscar, relativo al directorio brindado, archivos para
transferir mediante el uso de TFTP. Cuando esta opción está
fijada, paths TFTP que incluyen ".." son rechazados, para
prevenir que clientes salgan de la raíz especificada. Paths
absolutos (los que comienzan con "/") están permitidos,
pero deben estar dentro del tftp-root. Si el argumento opcional de
interface es brindado, el directorio es solo usado para pedidos TFTP
vía esa interface.
- --tftp-unique-root
- Agregar la dirección IP del cliente TFTP como un
componente path del lado del TFTP-root (en formato estándar de
cuatro puntos). Solo válido si un tftp-root está fijado y el
directorio existe. Por ejemplo, si tftp-root es "/tftp" y el
cliente 1.2.3.4 pide el archivo "miarchivo" entonces el path
efectivo será "/tftp/1.2.3.4/miarchivo" si /tftp/1.2.3.4
existe o /tftp/miarchivo si no.
- --tftp-secure
- Habilitar modo TFTP seguro: sin esto, cualquier archivo que
es leíble por el proceso dnsmasq bajo reglas normales de control de
acceso UNIX, está disponible vía TFTP. Cuando la
opción --tftp-secure es fijada, solo archivos pertenecientes al
usuario que corre el proceso dnsmasq están accesibles. Si dnsmasq
está corriendo como root, reglas diferentes aplican: --tftp-secure
no tiene ningún efecto, pero solo archivos que tienen el bit de
lectura global fijados están accesibles. No se recomienda correr
dnsmasq como root con TFTP habilitado, y mucho menos sin especificar
--tftp-root, ya que se puede exponer cualquier archivo de lectura global
en el servidor a cualquier host de la red.
- --tftp-max=<conecciones>
- Fijar el número máximo permitido de
conecciones TFTP simultáneas. Esto es 50 por predeterminado. Al
servir un número grande de conecciones TFTP, límites de
descriptor de archivo por proceso pueden ser encontrados. Dnsmasq necesita
un descriptor de archivo por cada coneccion TFTP concurrente, y por
archivo único (mas algunos otros). De tal manera que servirle el
mismo archivo simultáneo a n clientes requerirá el uso de n
+ 10 descriptores de archivo, y servirles archivos diferentes
simultáneamente requerirá (2*n) + 10 descriptores. Si
--tftp-port-range es brindado, eso puede afectar el número
de conexiones simultáneas.
- --tftp-no-blocksize
- No permitir que el servidor negocie la opción
"blocksize" con un cliente. Algunos clientes con errores piden
esta opción pero se portán mal cuando se les brinda.
- --tftp-port-range=<inicio>,<final>
- Un servidor TFTP escucha por inicios de conexión en
un puerto bien conocido (69), pero tambien usa un puerto dinamicamente
seleccionado para cada conexión. Normalmente estos son
seleccionados por el sistema operativo, pero esta opción especifica
un rango de puertos para ser usado por transferencias TFTP. Esto puede ser
útil cuando TFTP tiene que pasar atraves de un firewall. El
comienzo del rango no puede ser menor a 1025 a menos que dnsmasq
esté corriendo como root. El número de conexiones
simultáneas está limitado por el tamaño del rango de
puertos.
- -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.
- -7,
--conf-dir=<directorio>[,<file-extension>......]
- Leer todos los archivos dentro del directorio brindado como
archivos de configuración. Si extensiones son brindadas, cualquier
archivo que termine en esas extensiones son ignorados. Cualquier archivos
cuyos nombres terminen con ~ o comienzen con . o comienzen y terminen con
# siempre son ignorados. Esta opción puede ser brindada en la
línea de comandos o en un archivo de configuración.
Al inicio, dnsmasq lee
/etc/dnsmasq.conf, si existe. (En FreeBSD, el
archivo es
/usr/local/etc/dnsmasq.conf ) (pero ver las opciónes
-C y
-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, el archivo de
configuración invalida la línea de comandos. Las 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 \e \b \r y \n. Corresponden a tab, escape,
backspace, return y newline.
Al recibir un SIGHUP
dnsmasq libera su cache y entonces recarga
/etc/hosts y
/etc/ethers al igual que cualquier archivo brindado
con --dhcp-hostsfile, --dhcp-optsfile, o --addn-hosts. El archivo guión
de cambio de arriendos es llamado para todos los arriendos DHCP existentes. Si
--no-poll está fijado entonces SIGHUP también re-lee
/etc/resolv.conf. SIGHUP NO re-lee el archivo de configuración.
Al recibir un SIGUSR1,
dnsmasq escribe estadísticas a la
bitácora 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é. Para cada servidor
upstream brinda el número de búsquedas enviadas, y el
número que resultaron en error. En modo
--no-daemon o cuando
bitacoréo completo está habilitado (-q), una descarga completa
de el contenido del caché es hecha.
Cuando recibe un SIGUSR2 y está bitacoreando diréctamente a un
archivo (ver
--log-facility )
dnsmasq cerrará y
reabrirá el archivo de bitácora. Nótese que durante esta
operación, dnsmasq no estará corriendo como root. Al crear el
archivo de bitácora, dnsmasq cambia el dueño del archivo a el
usuario normal como el que correrá. Logrotate debe ser configurado para
crear un archivo de bitácora nuevo con permisos iguales al existente,
antes de enviar SIGUSR2. Si búsquedas DNS TCP están en progreso,
el archivo de bitácora viejo se mantendrá abierto en procesos
hijos que están manejando búsquedas TCP, y puede continuarse a
escribirle. Hay un límite de 150 segundos, después de lo cual
todos los procesos TCP existentes se habrán vencido: por esta
razón, no es sabio configurar compresión de archivos de
bitácora para archivos que acaban de ser rotados. Con logrotate, las
opciones requeridas son
create y
delaycompress.
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
/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
--no-poll sea usado,
dnsmasq revisa el tiempo de
modificación de
/etc/resolv.conf (o equivalente si
--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
/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
/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 laptop, donde ambos PPP y DHCP podrían estar
siendo usados: dnsmasq puede ser fijado para revisar ambos
/etc/ppp/resolv.conf y
/etc/dhcpc/resolv.conf y usará el
contenido del que haya cambiado mas recientemente, brindando así la
habilidad de cambio automático entre servidores DNS.
Servidores upstream también pueden ser especificados en la línea
de comandos o en el archivo de configuración. Estas especificaciones de
servidor opcionalmente 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.
Para configurar dnsmasq como caché para el host donde está
corriendo, poner un "nameserver 127.0.0.1" en
/etc/resolv.conf para así forzar procesos locales a enviar
búsquedas a dnsmasq. Entonces, o especificar los servidores upstream
diréctamente a dnsmasq usando opciones
--server o poniendo sus
direcciones reales en otro archivo, digamos
/etc/resolv.dnsmasq y
correr dnsmasq con la opcion
-r /etc/resolv.dnsmasq Esta segunda
técnica permite la actualización dinámica de las
direcciones de servidor mediante PPP o DHCP.
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 el CNAME a
/etc/hosts de tal manera que el CNAME es sombreado también.
El sistema de etiquetas funciona de la siguiente manera: Para cada pedido DHCP,
dnsmasq colecciona un juego de etiquetas válidas de líneas de
configuración activas que incluyen set:<tag>, incluyendo una del
dhcp-range usado para alocar la dirección, una de cualquier
dhcp-host que coincida (y "known" si un dhcp-host coincide).
La etiqueta "bootp" es fijada para pedidos BOOTP, y una etiqueta
cuyo nombre es el nombre de la interface donde llegó el pedido tambien
es fijada.
Cualquier linea de configuración que incluya uno o mas construcciones
tag:<tag> solo será válida si todas las etiquetas
coinciden en el juego derivado arriba. Típicamente esto es dhcp-option.
dhcp-option que tenga etiquetas será usada en preferencia de una
opción
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=tag:!purple,3,1.2.3.4 envía la opción cuando la
etiqueta "purple" no está en el juego de etiquetas
válidas. (Si se está usando esto en una línea de comandos
en vez de un archivo de configuración, asegurese de escapar !, el cual
es un metacaracter de shell.)
Nótese que para
dhcp-range ambos tag:<tag> y set:<tag>
son permitidos, para seleccionar el rango en uso basado en (por ejemplo)
dhcp-host, y para afectar las opciones enviadas, basadas en el rango
seleccionado.
Este sistema evolucionó de uno anterior mas limitado y para compatibildad
reversa "net:" puede ser usada en vez de "tag:" y
"set:" puede ser omitida. (Excepto en
dhcp-host, donde
"net:" puede ser usado en vez de "set:".) Por la misma
razón, '#' puede ser usado en vez de '!' para indicar NO.
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
dhcp-host o en
/etc/ethers , y una
configuración
dhcp-range esté presente para activar el
servidor DHCP en una red particular. (Fijar --bootp-dynamic elimina la
necesidad de trazados estáticos.) El parámetro de nombre de
archivos en un pedido BOOTP es usado como una etiqueta, al igual que la
etiqueta "bootp", permitiendo así algún control sobre
las opciones devueltas a diferentes clases de hosts.
dhcp-range puede tener un nombre de interface brindado como
"interface:<interface-name>". La semántica de esto es
así: Para DHCP, si cualquier otro dhcp-range existe _sin_ un nombre de
interface, entonces el nombre de interface es ignorado y dnsmasq se comporta
como si las partes de interface no existieran, de otra forma DHCP solo se
provee a interfaces mencionadas en declaraciones dhcp-range. Para DNS, si no
hay opciones
--interface o
--listen-address el comportamiento no
se modifica por la parte de interface. Si cualquiera de estas opciones
está presente, las interfaces mencionadas en dhcp-ranges son agregadas
all juego que obtienen servicio DNS.
Similarmente,
enable-tftp puede tomar un nombre de interface, el cual
habilita TFTP solo para una interface en particular, ignorando opciones
--interface o
--listen-address. Adicionalmente,
--tftp-secure y
--tftp-unique-root y
--tftp-no-blocksize
son ignorados por pedidos desde dichas interfaces. (Una directiva
--tftp-root brindando un path raíz y una interface debe ser
brindada tambien.)
Estas reglas pueden parecer raras a primera vista, pero permiten que una simple
linea de la forma
"dhcp-range=interface:virt0,192.168.0.4,192.168.0.200" sea agregada
a configuración dnsmasq, lo cual brinda servicios DHCP y DNS a esa
interface, sin afectar los servicios en otras interfaces y irrespectivamente
de la existencia o no de lineas "interface=<interface>" en
alguna otra parte de la configuración dnsmasq.
"enable-tftp=virt0" y "tftp-root=<root>,virt0" hacen
el mismo trabajo para TFTP. La idea es que una linea así pueda ser
agregada automaticamente por libvirt o sistemas equivalentes, sin estorbar
alguna configuración manual.
0 - Dnsmasq hizo fork hacia el fondo exitosamente, o terminó de manera
normal si ir al fondo no está habilitado.
1 - Un problema con la configuración ha sido detectado.
2 - Un problema con acceso a redes ocurrió (dirección en uso,
intento de usar puertos privilegiados sin permiso).
3 - Un problema con una operación de sistema de archivos ocurrió
(archivo o directorio ausente, permisos).
4 - Falla de alocación de memoria.
5 - Otro problema misceláneo.
11 o mayor - un codigo de retorno no cero fué recibido del llamado
"init" del proceso de archivo guión de arriendos. El
código exit de dnsmasq es el código exit del archivo
guión con 10 sumado.
Los valores predeterminados para limites de recursos son generálmente
conservadores, y apropiados para uso en dispositivos tipo enrutador
encrustrado con procesadores lentos y poca memoria. En hardware más
capáz, es posible incrementar los límites, y soportar muchos mas
clientes. Lo siguiente se aplica a dnsmasq-2.37: versiones previas no
escalaban tan bien.
Dnsmasq es capaz de soportar con DNS y DHCP a por lo menos mil (1,000) clientes.
Los tiempos de arriendo no deben ser muy cortos (menos de una hora). El valor
de
--dns-forward-max puede ser aumentado: comienze con el equivalente a
el número de clientes y auméntelo si parece lento el DNS.
Nótese que el rendimiento DNS depende también de los servidores
DNS upstream. El tamaño del caché DNS puede ser incrementado: el
límite obligatorio es 10,000 nombres y el predeterminado (150) es muy
bajo. El enviarle un SIGUSR1 a dnsmasq hace que bitacorée
información que es útil para afinar el tamaño de
caché. Ver la sección
NOTAS para detalles.
El servidor TFTP incorporado es capáz de soportar varias transferencias
simultáneas de archivos: el límite absoluto está
relacionado con el número de file-handles permitidos a un proceso y la
habilidad del system call select() a soportar números grandes de
file-handles. Si el límite es fijado demasiado alto con
--tftp-max será de-escalado y el límite real será
bitacoreado al inicio. Nótese que más transferencias son
posibles cuando el mismo archivo es enviado qué cuando cada
transferencia envía un archivo diferente.
Es posible usar dnsmasq para negar publicidad Web usando una lista de servidores
de banners bien conocidos, todos resolviendose a 127.0.0.1 o 0.0.0.0 en
/etc/hosts o en un archivo hosts adicional. La lista puede ser muy
larga. Dnsmasq ha sido probado exitósamente con un millón de
nombres. Ese tamaño de archivo necesita un CPU de 1GHz y
aproximadamente 60MB de RAM.
Dnsmasq puede ser compilado con soporte para internacionalización. Para
hacer esto, los targets make "all-i18n" y "install-i18n"
deberán ser usados en vez de los targets estándares
"all" y "install". Cuando internacionalización es
compilada, dnsmasq producirá mensajes de bitácora en el lenguaje
local y soportará dominios internacionalizados (IDN). Nombres de
dominio en /etc/hosts, /etc/ethers, y /etc/dnsmasq.conf que contienen
carácteres no-ASCII serán traducidos a representación
interna DNS punycode. Nótese que dnsmasq determina ambos el lenguaje
para mensajes y el juego de carácteres asumido para archivos de
configuración de la variable ambiental LANG. Esto debe estar fijado al
valor predeterminado del sistema por el guión responsable de iniciar
dnsmasq. Al editar archivos de configuración, tener cuidado de hacerlo
usando solo el locale predeterminado del sistema y no uno especifico del
usuario, dado a que dnsmasq no tiene ninguna manera directa de determinar el
juego de caracteres en uso, y debe asumir que es el predeterminado del
sistema.
/etc/dnsmasq.conf
/usr/local/etc/dnsmasq.conf
/etc/resolv.conf
/etc/hosts
/etc/ethers
/var/lib/misc/dnsmasq.leases
/var/db/dnsmasq.leases
/var/run/dnsmasq.pid
hosts(5),
resolver(5)
Este manual fue escrito por Simon Kelley <
[email protected]>.
Traducido a español por Christopher Chatham
<
[email protected]>.