DNSMASQ(8) System Manager's Manual DNSMASQ(8) NOMBRE dnsmasq - Un ligero servidor DHCP y DNS con cache. SINOPSIS dnsmasq [OPCION]... DESCRIPCION dnsmasq es un ligero servidor DNS, TFTP y DHCP. Su proposito es proveer servicios DNS y DHCP a una red de area local. Dnsmasq acepta busquedas DNS y las responde desde un pequeno cache local, o las reenvia 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. Tambien responde a busquedas DNS para hosts configurados via DHCP. El servidor DHCP dnsmasq incluye soporte para asignacion de direcciones estaticas y redes multiples. Automaticamente envia 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 via red/PXE de hosts DHCP. Tambien incluye soporte para BOOTP. Dnsmasq incluye soporte IPv6 para DNS, pero no para DHCP. OPCIONES Notese que en general parametros ausentes son permitidos y deshabilitan funciones, por ejemplo "--pid-file=" deshabilita la escritura de un archivo PID. En BSD, a menos que la libreria GNU getopt este enlazada, la forma larga de las opciones no funciona en la linea de comandos, pero todavia es reconocida en el archivo de configuracion. --test Leer archivo(s) de configuracion y revisar su sintaxis. Salir con codigo 0 si todo esta bien, o un codigo 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 de hosts adicional. Leer el archivo especificado adicionalmente a /etc/hosts. Si se brinda -h, leer solo el archivo especificado. Esta opcion puede ser repetida para mas 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. Notese que esto no aplica a nombres de dominio en cnames, expedientes PTR, TXT, etc. -T, --local-ttl= Al responder con informacion 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 debra cachear la informacion por si mismo. Esto es lo correcto a hacer en casi todas las situaciones. Esta opcion 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 anejos bajo algunas circunstancias. --neg-ttl= Respuestas negativas desde servidores upstream normalmente contienen informacion time-to-live (tiempo de vida) en expedientes SOA que dnsmasq usa para hacer cache. Si las respuestas de servidores upstream omiten esta informacion, dnsmasq no mete la respuesta en el cache. Esta opcion brinda un valor predeterminado para el time-to-live que dnsmasq usa para meter respuestas negativas en el cache aun en la ausencia de un expediente SOA. --max-ttl= Fijar un valor TTL (tiempo de vida) maximo que sera entregado a clientes. El TTL maximo especificado sera otorgado a clientes en vez del TTL verdadero si es menor. El valor TTL real es mantenido en el cache para prevenir la inundacion de los servidores DNS upstream. -k, --keep-in-foreground No ir hacia el fondo al iniciar, pero aparte de eso ejecutar como normal. La intencion 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 busquedas TCP. -q, --log-queries Bitacorear los resultados de busquedas DNS manejadas por dnsmasq. Habilitar un dump de cache completo al recibir un SIGUSR1. -8, --log-facility= Fijar la facilidad a la cual dnsmasq debera enviar mensajes syslog, esto es DAEMON por predeterminado, y LOCAL0 cuando el modo debug esta en operacion. Si la facilidad brindada contiene por lo menos un caracter "/", se trata como un nombre de archivo, y dnsmasq bitacoreara a dicho archivo, en vez de syslog. Si la facilidad es '-' entonces dnsmasq bitacorea a stderr. (Errores durante la lectura de la configuracion iran a syslog todavia, pero todo output desde un inicio exitoso, y todo output mientras en ejecucion, ira a este archivo exclusivamente.) Al bitacorear a un archivo, dnsmasq cerrara y reabrira el archivo al recibir un SIGUSR2. Esto permite que el archivo de bitacora sea rotado sin detener a dnsmasq. --log-async[=] Habilitar bitacoreo asincronico y opcionalmente fijar el limite de numero de lineas que seran enviadas a la coleta por dnsmasq cuando syslog esta lento. Dnsmasq puede bitacorear asincronicamente: esto le permite continuar funcionando sin ser bloqueado por syslog, y permite a syslog usar dnsmasq para busquedas DNS sin riesgo de tranque. Si la coleta de lineas de bitacora se llena, dnsmasq bitacoreara el desbordamiento, y el numero de mensajes perdidos. El tamano predeterminado de coleta es 5, un valor sano seria 5-25, y un limite de 100 es impuesto. -x, --pid-file= Especificar un path alterno donde dnsmasq debe guardar su PID. Normalmente es /var/run/dnsmasq.pid. -u, --user= Especificar el userid al cual dnsmasq debe cambiarse despues de iniciar. Dnsmasq normalmente debe ser iniciado como root, pero soltara los privilegios root despues del inicio, cambiando a otro usuario. Normalmente este usuario es "nobody", pero eso se puede cambiar con esta opcion. -g, --group= Especificar el grupo como el cual dnsmasq correra. El predeterminado es "dip", si esta disponible, para facilitar el acceso a /etc/ppp/resolv.conf el cual normalmente no es globalmente leible. -v, --version Mostrar el numero de version. -p, --port= Escuchar en el puerto en vez del puerto estandar DNS (53). Fijar esto a cero deshabilita completamente la funcion DNS, dejando solo DHCP y/o TFTP. -P, --edns-packet-max= Especificar el paquete UDP EDNS.0 mas grande que es soportado por el reenviador DNS. Por predeterminado es 4096, lo cual es el tamano recomendado en RFC5625. -Q, --query-port= Enviar busquedas outbound desde, y escuchar por respuestas en, el puerto UDP en vez de usar puertos aleatorios. Notese que usar esta opcion hace que dnsmasq sea menos seguro contra ataques de spoofing DNS, pero puede ser mas rapido y usar menos recursos. Fijar esta opcion 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= No usar puertos menores a como remitentes para busquedas DNS outbound. Dnsmasq escoje puertos aleatorios como remitentes para busquedas DNS outbound. Cuando esta opcion es brindada, los puertos usados siempre seran mayores que el especificado. Esto es util para sistemas detras de firewalls. -i, --interface= Escuchar solo en las interfaces especificadas. Dnsmasq automaticamente agrega la interface loopback a la lista de interfaces para usar cuando la opcion --interface es usada. Si ninguna opcion --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= No escuchar en la interface especificada. Notese 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= No proveer DHCP ni TFTP en la interface especificada, pero si proveer servicio DNS. -a, --listen-address= Escuchar en la(s) direccion(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. Notese que si ninguna opcion --interface es brindada, pero si se brinda la opcion --listen-address , entonces dnsmasq no escuchara automaticamente en la interface loopback. Para obtener esto, su direccion IP, 127.0.0.1, debe ser explicitamente brindada como una opcion --listen-address -z, --bind-interfaces En sistemas que inluyen el soporte, dnsmasq acopla la direccion de comodin, aun cuando esta escuchando solamente en algunas interfaces. Entonces descarta busquedas a las cuales no debe responder. Esto tiene la ventaja de funcionar aun cuando interfaces van y vienen y cambian direcciones. Esta opcion forza a dnsmasq a acoplarse realmente solo a las interfaces en las cuales esta escuchando. Casi la unica vez que esto es util es cuando se esta corriendo otro servidor DNS (o otra instancia de dnsmasq) en la misma maquina. Fijar esta opcion tambien habilita multiples instancias de dnsmasq, las cuales proveen servicio DHCP en la misma maquina. -y, --localise-queries Retornar respuestas a busquedas DNS desde /etc/hosts las cuales dependen de la interface donde entro la busqueda. Si un nombre en /etc/hosts tiene mas de una direccion asociada con el, y por lo menos una de esas direcciones esta en la misma subred de la interface donde fue enviada, entonces retornar solo las direcciones en esa subred. Esto permite a un servidor tener direcciones multiples en /etc/hosts correspondientes a cada una de sus interfaces y cada host recibira la respuesta adecuada dependiendo de cual red tengan adjunta. Por el momento, esta facilidad esta limitada a IPv4. -b, --bogus-priv Busquedas privadas reversas raras. Toda busqueda 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=[]|[-],[,] Modificar direcciones IPv4 retornadas desde servidores DNS upstream; es remplazado con . Si la mascara opcional es brindada, entonces cualquier direccion que coincida con el enmascarado sera re-escrita. Asi que, por ejemplo, --alias=1.2.3.0,6.7.8.0,255.255.255.0 trazara 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 direccion 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= Transformar respuestas que contienen la direccion IP brindada a respuestas tipo "Dominio no existe". La intencion de esto es actuar en contra de una movida desviada hecha por Verisign en septiembre del 2003, cuando comenzaron a retornar la direccion de un servidor de publicidad en respuesta a busquedas por nombres no registrados, en vez de la correcta respuesta NXDOMAIN. Esta opcion le dice a dnsmasq que debe forjear la respuesta correcta cuando ve este comportamiento. Para septiembre 2003 la direccion IP siendo retornada por Verisign es 64.94.110.11 -f, --filterwin2k Algunas versiones de Windows hacen busquedas DNS periodicas las cuales no reciben respuestas sensibles desde el DNS publico y pueden causar problemas activando enlaces marcacion-en-demanda. Esta opcion filtra dichas busquedas. Las busquedas filtradas son para registros tipo SOA y SRV, al igual que tipo ANY donde el nombre pedido contiene _, para atrapar busquedas LDAP. -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 resolv.conf(5) Las unicas lineas relevantes a dnsmasq son las de servidores DNS. A dnsmasq se le puede decir que revise mas 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 modificacion mas nueva es el que sera usado. -R, --no-resolv No leer /etc/resolv.conf. Obtener los servidores DNS upstream solo desde la linea de comandos o desde el archivo de configuracion de dnsmasq. -1, --enable-dbus Permitir que la configuracion de dnsmasq sea actualizada via llamadas de metodo DBus. La configuracion que puede ser cambiada es servidores DNS upstream (y dominios correspondientes) y limpieza de cache. Esta opcion requiere que dnsmasq haya sido compilado con soporte para DBus. -o, --strict-order Por predeterminado, dnsmasq enviara busquedas a cualquiera de los servidores upstream que conoce, y trata de favorecer servidores los cuales sabe que estan activos. Fijar esta opcion forza a dnsmasq a probar cada busqueda con cada servidor estrictamente en el orden que aparecen en /etc/resolv.conf --all-servers Por predeterminado, cuando dnsmasq tiene mas de un servidor upstream disponible, enviara busquedas a solo un servidor. Fijar esta opcion forza a dnsmasq a enviar todas las busquedas a todos los servidores disponibles. La respuesta del servidor que responda primero sera devuelta al solicitante original. --stop-dns-rebind Denegar (y bitacorear) direcciones de servidores upstream que estan dentro de rangos IP privados. Esto bloquea un ataque donde un navegador detras de un firewall es usado para analizar maquinas 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, asi que bloquearlo puede deshabilitar estos servicios. --rebind-domain-ok=[]|[[//[/] No detectar y bloquear dns-rebind en busquedas a estos dominios. El argumento puede ser o un dominio sencillo, o multiples 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 cache DNS. Esto es util cuando servidores DNS nuevos puedan tener datos diferentes a los contenidos en el cache. -D, --domain-needed Le dice a dnsmasq que no debe reenviar busquedas 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/]][[#][@|[#]] Especificar la direccion IP de servidores upstream directamente. Fijar esta opcion no suprime la lectura de /etc/resolv.conf, use -R para hacer eso. Si uno a mas dominios opcionales son brindados, ese servidor es usado solo para esos dominios y las busquedas son hechas usando el servidor especificado solamente. La intencion 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 opcion -S /internal.thekelleys.org.uk/192.168.1.1 enviara todas las busquedas de maquinas internas a ese servidor DNS, todas las demas busquedas seran enviadas a los servidores en /etc/resolv.conf. Una especificacion de dominio en blanco, // tiene el significado especial de "solo nombres no calificados", o sea nombres sin ningun punto en ellos. Un puerto no-estandar puede ser especificado como parte de la direccion IP usando el caracter #. Mas de una opcion -S es permitida, con partes de dominio o direccion IP repetidas como sea necesario. Dominios mas especificos toman precedencia sobre los menos especificos, asi que: --server=/google.com/1.2.3.4 --server=/www.google.com/2.3.4.5 enviara busquedas por *.google.com hacia 1.2.3.4, excepto *www.google.com, el cual ira a 2.3.4.5. La direccion especial de servidor '#' significa "usar los servidores estandares", asi que --server=/google.com/1.2.3.4 --server=/www.google.com/# enviara busquedas por *.google.com hacia 1.2.3.4, excepto *www.google.com, el cual sera reenviado de manera usual. Tambien se permite una opcion -S la cual brinda un dominio pero ninguna direccion IP; esto le dice a dnsmasq que un dominio es local y puede responder a busquedas desde /etc/hosts o DHCP pero nunca debera reenviar busquedas en ese dominio a ningun servidor upstream. local es un sinonimo de server para hacer los archivos de configuracion mas claros en este caso. El string opcional despues del caracter @ le dice a dnsmasq como fijar el remitente de las busquedas hacia este servidor DNS. Debe ser una direccion IP, la cual debe ser perteneciente a la maquina en la cual corre dnsmasq, de forma contraria esta linea de servidor sera bitacoreada y despues ignorada, o un nombre de interface. Si un nombre de interface es brindado, entonces busquedas hacia el servidor seran forzadas via esa interface; si una direccion IP es brindada, entonces la direccion de remitente de las busquedas sera fijada a esa direccion. La etiqueta query-port es ignorada para cualquier servidores que tengan una direccion remitente especificada, pero el puerto puede ser especificado directamente como parte de la direccion remitente. Forzar busquedas a una interface no esta implementado en todas las plataformas soportadas por dnsmasq. -A, --address=//[dominio/] Especificar una direccion IP para retornar por cualquier host en los dominios brindados. Busquedas en estos dominios nunca son reenviadas, y siempre son respondidas con la direccion IP especificada, la cual puede ser IPv4 o IPv6. Para brindar ambas direcciones IPv4 y IPv6 para un dominio, usar opciones -A repetidas. Notese que /etc/hosts y arriendos DHCP invalidan esto para nombres individuales. Un uso comun para esto es redireccionar el dominio doubleclick.net entero a algun servidor web local amigable para evitar banners de publicidad. La especificacion 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 retornara 1.2.3.4 para cualquier busqueda 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=[[,],] Retornar un record llamado apuntando hacia el nombre de host brindado (opcionalmente), o el host especificado en la opcion --mx-target, o si esa opcion no es brindada, el host en el cual dnsmasq esta corriendo. El predeterminado es util para redireccionar correo de sistemas en la red local hacia un servidor central. La opcion de preferencia es opcional, y su predeterminado es 1 si no es brindada. Mas de un record MX puede ser brindado para un host. -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 busquedas MX en el nombre de host de la maquina donde dnsmasq esta corriendo. -e, --selfmx Retornar un record MX apuntandose a si mismo para cada maquina local. Maquinas 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 maquina donde dnsmasq esta corriendo) para cada maquina local. Maquinas locales son aquellas en /etc/hosts o con arriendos DHCP. -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 --domain. El predeterminado para el dominio target esta vacio, 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 numeros de puerto, peso, y prioridad estan en un orden diferente. Mas de un record SRV para un servicio/dominio es permitido, todos los que coincidan son retornados. -Y, --txt-record=[[,],] Retornar un record DNS TXT. El valor del record TXT es una serie de strings, asi que cualquier numero puede ser incluido, dividido por comas. --ptr-record=[,] Retornar un record DNS PTR. --naptr-record=,,,,,[,] Retornar un record DNS NAPTR, como especificado en RFC3403. --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 unico, pero es permisible tener mas de un cname indicando el mismo target. --interface-name=, Retornar un expediente DNS, asociando el nombre con la direccion primaria en la interface brindada. Esta opcion especifica un expediente tipo A para el nombre brindado de la misma forma que una linea de /etc/hosts, excepto que la direccion no es constante y es en vez tomada de la interface brindada. Si la interface esta deshabilitada, no configurada, o no existente, un record vacio es devuelto. El record PTR relevante tambien es creado, trazando la direccion de la interface a el nombre. Mas de un nombre puede ser asociado con una direccion de interface, repitiendo la opcion. En tal caso, la primera instancia es usada para la traza reversa direccion-a-nombre. -c, --cache-size= Fijar el tamano del cache de dnsmasq. El predeterminado es 150 nombres. Fijar el tamano a cero deshabilita el cache. Nota: el gran tamano de cache afecta el rendimiento. -N, --no-negcache Deshabilitar cache negativo. El cache negativo le permite a dnsmasq recordar resultados tipo "dominio no existe" desde servidores DNS upstream y responder busquedas identicas sin reenviarlas nuevamente. -0, --dns-forward-max= Fijar el numero maximo de busquedas DNS simultaneas. El valor predeterminado es 150, lo cual deberia estar bien para la mayoria de casos. La unica situacion conocida donde esto debe ser incrementado es al usar resolvedores de bitacoras de servidores web, los cuales pueden generar un numero inmenso de busquedas simultaneas. -F, --dhcp-range=[interface:,][tag:[,tag:],][set:,[,[,]][,] Habilitar el servidor DHCP. Direcciones seran distribuidas desde el rango hasta y desde direcciones definidas estaticamente en opciones dhcp-host Si el tiempo de arriendo es especificado, entonces arriendos seran 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 minimo es de dos minutos. Esta opcion puede ser repetida, con diferentes direcciones, para habilitar servicio DHCP en mas de una red. Para redes conectadas directamente (en otras palabras, redes en las cuales la maquina corriendo dnsmasq tiene una interface) la mascara de subred es opcional. Pero, es requerida para redes que reciben servicio DHCP via un agente de relay. La direccion de broadcast siempre es opcional. Siempre se permite tener mas de un rango dhcp (dhcp-range) en una subred. El parametro opcional set: fija una etiqueta alfanumerica la cual marca esta red de tal forma que opciones dhcp puedan ser especificadas en base a cada red. Cuando es prefijada con 'tag:' en vez, entonces el significado cambia de "fijar etiqueta" a "coincidir con etiqueta". Solo una etiqueta puede ser fijada, pero mas de una puede ser revisada por coincidencias. La direccion 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 dinamicamente direcciones IP: Solo hosts que tienen direcciones estaticas brindadas via dhcp-host o desde /etc/ethers seran servidas. La direccion final puede ser remplazada por la palabra clave proxy caso en el cual dnsmasq proveera proxy-DHCP en la subred especificada. (Ver pxe-prompt y pxe-service para detalles.) La seccion interface: no es normalmente usada. Ver la seccion NOTAS para detalles sobre esto. -G, --dhcp-host=[][,id:|*][,set:][,][,][,][,ignorar] Especificar parametros por host para el servidor DHCP. Esto permite que una maquina con una direccion de hardware particular sea siempre alocada el mismo nombre de host, direccion IP, y tiempo de arriendo. Un nombre de host especificado de esta manera toma presedencia sobre cualquiera suministrado por el cliente DHCP en la maquina. Tambien se permite omitir la direccion de hardware y incluir el nombre de host; en tal caso la direccion IP y los tiempos de arriendo seran aplicables a cualquier maquina 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 maquina con direccion 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 direccion IP 192.168.0.199. Direcciones alocadas de esta manera no tienen que estar dentro del rango dado con la opcion --dhcp-range, pero deben estar en la subred de un rango DHCP (dhcp-range) valido. Para subredes que no necesitan una colleccion de direcciones dinamicamente alocadas, usar la palabra clave "static" in la declaracion 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. Tambien se permite especificar el ID de cliente como texto, asi: --dhcp-host=id:iddeclientecomotexto,..... La opcion especial id:* significa "ignorar cualquier ID de cliente y usar solamente direcciones MAC." Esto es util cuando un cliente presenta un ID de cliente algunas veces pero otras no. Si un nombre aparece en /etc/hosts, la direccion asociada puede ser alocada a un arriendo DHCP, pero solo si existe una opcion --dhcp-host la cual especifica el nombre tambien. Solo un hostname puede ser brindado en una opcion 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 jamas un arriendo DHCP a una maquina. La maquina puede ser especificada por direccion de hardware, ID de cliente, o nombre de host, por ejemplo: --dhcp-host=00:20:e0:3b:13:af,ignore Esto es util cuando hay otro servidor DHCP en la red que debe ser usado por algunas maquinas. El set: fija la etiqueta cuando sea que esta directiva dhcp-host esta en uso. Esto puede ser usado para enviar selectivamente opciones DHCP a este host. Mas 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 maquinas desconocidas usando --dhcp-ignore=tag:!known Direcciones ethernet (pero no client-ids) pueden tener bytes comodines, asi que por ejemplo --dhcp-host=00:20:e0:3b:13:*,ignore causara que dnsmasq ignore un rango de direcciones ethernet. Notese que el "*" necesitara ser escapado o escrito entre comillas en la linea de comandos, pero no en el archivo de configuracion. 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 "-". Asi que --dhcp-host=06-00:20:e0:3b:13:af,1.2.3.4 solo coincidiria con una direccion de hardware Token-Ring, dado que el tipo ARP para Token-Ring es 6. Como caso especial, es posible incluir mas de una direccion 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 direccion IP sea asociada con direcciones de hardware multiples, y le brinda a dnsmasq permiso para abandonar un arriendo DHCP a una de las direcciones de hardware cuando otra pide un arriendo. Notese que esto es algo peligroso, solo funcionara dependiblemente si una de las direcciones de hardware esta activa en cualquier momento y dnsmasq no tiene forma de enforzar esto. Pero es util, por ejemplo, para alocar una direccion IP estable a una laptop que tiene interface alambrica e inalambrica. --dhcp-hostsfile= Leer informacion host DHCP desde el archivo especificado. El archivo contiene informacion de un host por linea. El formato de una linea es igual que texto hacia la derecha de '=' en --dhcp- host. La ventaja de almacenar informacion host DHCP en este archivo es que puede ser cambiada sin tener que reiniciar dnsmasq. El archivo sera re-leido cuando dnsmasq recibe un SIGHUP. --dhcp-optsfile= Leer informacion sobre opciones DHCP desde el archivo especificado. La ventaja de usar esta opcion es la misma que con --dhcp-hostsfile: el archivo dhcp-optsfile sera re-leido cuando dnsmasq recibe un SIGHUP. Notese que es posible colocar la informacion mediante --dhcp-boot como opciones DHCP, usando los nombres de opcion 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 informacion sobre hosts para el servidor DHCP. El formato de /etc/ethers es una direccion de hardware, seguida por ya sea un nombre de host o una direccion IP. Al ser leidas por dnsmasq, estas lineas tienen exactamente el mismo efecto que opciones --dhcp-host que contienen la misma informacion. /etc/ethers es re-leida cuando dnsmasq recibe un SIGHUP. -O, --dhcp-option=[tag:,[tag:,]][encap:,][vi-encap:,][vendor:[],][|option:],[[,]] Especificar opciones diferentes o extra a clientes DHCP. Por predeterminado, dnsmasq envia algunas opciones estandar a clientes DHCP. La mascara de subred y direccion broadcast son fijadas igual a las del host que corre dnsmasq, y el servidor DNS y ruteador a la direccion de la maquina que corre dnsmasq. Si la opcion de nombre de dominio ha sido fijada, es enviada. Esta opcion permite que esos predeterminados sean sobrescritos, o que sean especificadas otras opciones. La opcion a ser enviada puede ser brindada como un numero decimal o como "option:". Los numeros de opcion estan 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, hagase un --dhcp-option=3,192.168.4.4 o --dhcp-option=option:router, 192.168.4.4 y para fijar la direccion de servidor de tiempo a 192.168.0.4, hagase un --dhcp-option=42,192.168.0.4 o --dhcp-option=option:ntp-server, 192.168.0.4 La direccion especial 0.0.0.0 es entendida que significa "la direccion de la maquina que corre dnsmasq". Tipos de data permitidos son direcciones IP de cuatro segmentos, un numero decimal, digitos hex separados por colones, y un string de texto. Si las etiquetas opcionales son brindadas, entonces esta opcion es solo enviada cuando todas las etiquetas coinciden. Procesamiento especial es llevado a cabo en un argumento de texto para la opcion 119, en conforme con RFC3397. Direcciones IP textuales o de cuatro segmentos como argumentos a la opcion 120 son manejados mediante RFC3361. Direcciones IP de cuatro segmentos que son seguidas por un diagonal (slash) y despues una mascara son codificados mediante RFC3442. Tener cuidado: niguna verificacion es hecha sobre si el numero de tipo correcto es enviado, y es muy posible persuadir a dnsmasq para que genere paquetes DHCP ilegales mediante uso inadecuado de esta opcion. Cuando el valor es un numero decimal, dnsmasq debe determinar que tan grande es el objeto de data. Esto es hecho mediante una examinacion del numero de opcion, y/o el valor, pero puede ser invalidado agregandole una opcion de una sola letra de esta forma: b = un byte, s = dos bytes, i = cuatro bytes. Esto es principalmente util con opciones encapsuladas tipo vendedor (ver abajo) donde dnsmasq no puede determinar el tamano de data usando el numero de opcion. Data de opcion la cual consiste solo de puntos y digitos sera interpretada por dnsmasq como una direccion IP, y sera insertada dentro de una opcion de esa manera. Para forzar un string literal, usar comillas. Por ejemplo, cuando se usa la opcion 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 tambien pueden ser especificadas usando --dhcp-option: por ejemplo --dhcp-option=vendor:PXEClient,1,0.0.0.0 envia la opcion especifica 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 esta basado en substrings (ver --dhcp-vendorclass para detalles). Si una opcion vendor- class (numero 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 cual la opcion encapsulada siempre es enviada. Opciones pueden ser encapsuladas dentro de otras opciones, por ejemplo: --dhcp-option=encap:175, 190, iscsi-client0 enviara opcion 175, dentro de la cual esta opcion 190. Si multiples opciones son brindadas que estan encapsuladas con el mismo numero de opcion entonces seran correctamente combinadas en una opcion encapsulada. encap: y vendor: no pueden ser fijadas ambas dentro de la misma opcion dhcp-option. La variante final en opciones encapsuladas es "Vendor- Identifying Vendor Options" como especificado en RFC3925. Estos son denotados asi: --dhcp-option=rfc3925-encap:2, 10, text El numero en la seccion rfc3925-encap: es el numero enterprise usado para identificar esta opcion. La direccion 0.0.0.0 no es tratada de forma especial en opciones encapsuladas. --dhcp-option-force=[tag:,[tag:,]][encap:,][vi-encap:,][vendor:[],],[[,]] Esto funciona exactamente de la misma forma que --dhcp-option excepto que la opcion siempre sera enviada, aun si el cliente no la pide en la lista de pedido de parametros. Esto se necesita aveces, por ejemplo cuando enviando opciones a PXELinux. --dhcp-no-override Deshabilitar la reutilizacion de los campos DHCP de nombre de servidor y archivo como espacio para opciones extra. Si puede, dnsmasq mueve la informacion 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 opcion forza comportamiento "simple y sencillo" para prevenir problemas en tales casos. -U, --dhcp-vendorclass=set:, Trazar desde un string vendor-class a una etiqueta. La mayoria de los clientes DHCP proveen una "vendor class" la cual representa, en cierto sentido, el tipo de host. Esta opcion 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 peritiria que opciones sean fijadas solo para impresoras HP asi: --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:, Trazar desde un string user-class a una etiqueta (con coordinacion substring, como con vendor-class). La mayoria de los clientes DHCP proveen un "user class" el cual es configurable. Esta opcion 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:, Trazar desde una direccion MAC a una etiqueta. La direccion MAC puede incluir comodines. Por ejemplo: --dhcp-mac=set:3com,01:34:23:*:*:* fijaria el tag "3com" a cualquier host el cual su MAC coincida con el patron. --dhcp-circuitid=,, --dhcp-remoteid=, Trazar de opciones agente de relay RFC3046 a etiquetas. Estos datos pueden ser proveidos por agentes de relay DHCP. El circuit-id o remote-id es normlamente brindado como hex separado por doblepuntos, pero tambien se permite un string simple. Si se obtiene una coincidencia exacta entre el circuit o agent ID y uno proveido por un agente de relay, la etiqueta es fijada. --dhcp-subscrid=set:, Trazar de opciones relay subscriber-id RFC3993 a etiquetas. --dhcp-proxy[=]...... Un agente de relay normal es usado solamente para reenviar las partes iniciales de una interaccion 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 esta agregando informacion extra a los paquetes DHCP, tal como usado por dhcp-circuitid y dhcp-remoteid. Una implementacion relay completa puede usar la opcion 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 opcion 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:,