.TH DNSMASQ 8 .SH NOMBRE dnsmasq \- Un ligero servidor DHCP y DNS con caché. .SH SINOPSIS .B dnsmasq .I [OPCION]... .SH "DESCRIPCIÓN" .BR dnsmasq es un ligero servidor DNS, TFTP 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 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. .PP Dnsmasq incluye soporte IPv6 para DNS, pero no para DHCP. .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 --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. .TP .B \-h, --no-hosts No leer los nombres de hosts en /etc/hosts. .TP .B \-H, --addn-hosts= 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. .TP .B \-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. .TP .B \-T, --local-ttl= 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. .TP .B --neg-ttl= 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. .TP .B --max-ttl= 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. .TP .B \-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. .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 forkear 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= 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. .TP .B --log-async[=] 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. .TP .B \-x, --pid-file= Especificar un path alterno donde dnsmasq debe guardar su PID. Normalmente es /var/run/dnsmasq.pid. .TP .B \-u, --user= 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= 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. .TP .B \-v, --version Mostrar el número de versión. .TP .B \-p, --port= Escuchar en el 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. .TP .B \-P, --edns-packet-max= 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. .TP .B \-Q, --query-port= Enviar búsquedas outbound desde, y escuchar por respuestas en, el puerto UDP 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). .TP .B --min-port= No usar puertos menores a 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. .TP .B \-i, --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 .B \--interface es usada. Si ninguna opción .B \--interface o .B \--listen-address es brindada, dnsmasq escucha en todas las interfaces disponibles excepto cualquiera fijada con opciones .B \--except-interface Interfaces IP alias (por ejemplo, "eth1:0") no pueden ser utilizadas con .B --interface o .B --except-interface , usar --listen-address en vez. .TP .B \-I, --except-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 las opciones .B --except-interface siempre invalidan a las otras. .TP .B \-2, --no-dhcp-interface= No proveer DHCP ni TFTP en la interface especificada, pero sí proveer servicio DNS. .TP .B \-a, --listen-address= 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, su dirección IP, 127.0.0.1, debe ser explícitamente brindada 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 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. .TP .B \-V, --alias=[]|[-],[,] Modificar direcciones IPv4 retornadas desde servidores DNS upstream; es remplazado con . Si la máscara opcional es brindada, entonces cualquier dirección que coincida con el enmascarado será re-escrita. Así que, por ejemplo, .B --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 .B --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 .TP .B \-B, --bogus-nxdomain= 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 .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= Leer las direcciones IP de servidores DNS upstream desde , 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 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. .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 opción forza a dnsmasq a probar cada búsqueda con cada servidor estrictamente en el orden que aparecen en /etc/resolv.conf .TP .B --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. .TP .B --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. .TP .B --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. .TP .B --rebind-domain-ok=[]|[[//[/] 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 .B --rebind-domain-ok=/dominio1/dominio2/dominio3/ .TP .B \-n, --no-poll No revisar periodicamente a /etc/resolv.conf en busca de cambios. .TP .B --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é. .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, --local, --server=[/[]/[dominio/]][[#][@|[#]] 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 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: .B --server=/google.com/1.2.3.4 .B --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 .B --server=/google.com/1.2.3.4 .B --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. .B local es un sinónimo de .B 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. .TP .B \-A, --address=//[dominio/] 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=[[,],] Retornar un record llamado 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. .TP .B \-t, --mx-target= 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. .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=<_servicio>.<_prot>.[],[[,[,[,]]]] Retornar un record DNS SRV. 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, 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=[[,],] 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 --ptr-record=[,] Retornar un récord DNS PTR. .TP .B --naptr-record=,,,,,[,] Retornar un récord DNS NAPTR, como especificado en RFC3403. .TP .B --cname=, Retornar un expediente CNAME que indica que es realmente . 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. .TP .B --interface-name=, 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. .TP .B \-c, --cache-size= 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. .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. .TP .B \-0, --dns-forward-max= 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. .TP .B \-F, --dhcp-range=[interface:,][tag:[,tag:],][set:,[,[,]][,] Habilitar el servidor DHCP. Direcciones serán distribuidas desde el rango hasta y desde direcciones definidas estáticamente en opciones .B 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 .B set: 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 .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. La dirección final puede ser remplazada por la palabra clave .B proxy caso en el cual dnsmasq proveerá proxy-DHCP en la subred especificada. (Ver .B pxe-prompt y .B pxe-service para detalles.) La sección interface: no es normalmente usada. Ver la sección NOTAS para detalles sobre esto. .TP .B \-G, --dhcp-host=[][,id:|*][,set:][,][,][,][,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: .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 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: .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: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 .B --dhcp-host la cual especifica el nombre también. Solo un hostname puede ser brindado en una opción .B dhcp-host pero aliases son posibles por medio del uso de CNAMEs. (Ver .B --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: .B --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: 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:" 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 .B --dhcp-ignore=tag:!known 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 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: .B --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. .TP .B --dhcp-hostsfile= 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. .TP .B --dhcp-optsfile= 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 .B --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. .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. /etc/ethers es re-leída cuando dnsmasq recibe un SIGHUP. .TP .B \-O, --dhcp-option=[tag:,[tag:,]][encap:,][vi-encap:,][vendor:[],][|option:],[[,]] 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:". 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 .B --dhcp-option=3,192.168.4.4 o .B --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 .B --dhcp-option=42,192.168.0.4 o .B --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: .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 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; .B --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: .B --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í: .B --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. .TP .B --dhcp-option-force=[tag:,[tag:,]][encap:,][vi-encap:,][vendor:[],],[[,]] Esto funciona exáctamente de la misma forma que .B --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. .TP .B --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. .TP .B \-U, --dhcp-vendorclass=set:, 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 .B dhcp-vendorclass=set:printers,Hewlett-Packard JetDirect peritiría que opciones sean fijadas solo para impresoras HP así: .B --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. .TP .B \-j, --dhcp-userclass=set:, 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". .TP .B \-4, --dhcp-mac=set:, Trazar desde una dirección MAC a una etiqueta. La dirección MAC puede incluir comodínes. Por ejemplo: .B --dhcp-mac=set:3com,01:34:23:*:*:* fijaría el tag "3com" a cualquier host el cual su MAC coincida con el patrón. .TP .B --dhcp-circuitid=,, --dhcp-remoteid=, 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. .TP .B --dhcp-subscrid=set:, Trazar de opciones relay subscriber-id RFC3993 a etiquetas. .TP .B --dhcp-proxy[=]...... 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 .B dhcp-circuitid y .B 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. .TP .B --dhcp-match=set:,