diff options
Diffstat (limited to 'man')
-rwxr-xr-x | man/dnsmasq.8 | 1290 | ||||
-rwxr-xr-x | man/es/dnsmasq.8 | 1310 | ||||
-rwxr-xr-x | man/fr/dnsmasq.8 | 1449 |
3 files changed, 4049 insertions, 0 deletions
diff --git a/man/dnsmasq.8 b/man/dnsmasq.8 new file mode 100755 index 0000000..a5eac63 --- /dev/null +++ b/man/dnsmasq.8 @@ -0,0 +1,1290 @@ +.TH DNSMASQ 8 +.SH NAME +dnsmasq \- A lightweight DHCP and caching DNS server. +.SH SYNOPSIS +.B dnsmasq +.I [OPTION]... +.SH "DESCRIPTION" +.BR dnsmasq +is a lightweight DNS, TFTP and DHCP server. It is intended to provide +coupled DNS and DHCP service to a LAN. +.PP +Dnsmasq accepts DNS queries and either answers them from a small, local, +cache or forwards them to a real, recursive, DNS server. It loads the +contents of /etc/hosts so that local hostnames +which do not appear in the global DNS can be resolved and also answers +DNS queries for DHCP configured hosts. +.PP +The dnsmasq DHCP server supports static address assignments and multiple +networks. It automatically +sends a sensible default set of DHCP options, and can be configured to +send any desired set of DHCP options, including vendor-encapsulated +options. It includes a secure, read-only, +TFTP server to allow net/PXE boot of DHCP hosts and also supports BOOTP. +.PP +Dnsmasq +supports IPv6 for DNS, but not DHCP. +.SH OPTIONS +Note that in general missing parameters are allowed and switch off +functions, for instance "--pid-file" disables writing a PID file. On +BSD, unless the GNU getopt library is linked, the long form of the +options does not work on the command line; it is still recognised in +the configuration file. +.TP +.B --test +Read and syntax check configuration file(s). Exit with code 0 if all +is OK, or a non-zero code otherwise. Do not start up dnsmasq. +.TP +.B \-h, --no-hosts +Don't read the hostnames in /etc/hosts. +.TP +.B \-H, --addn-hosts=<file> +Additional hosts file. Read the specified file as well as /etc/hosts. If -h is given, read +only the specified file. This option may be repeated for more than one +additional hosts file. If a directory is given, then read all the files contained in that directory. +.TP +.B \-E, --expand-hosts +Add the domain to simple names (without a period) in /etc/hosts +in the same way as for DHCP-derived names. Note that this does not +apply to domain names in cnames, PTR records, TXT records etc. +.TP +.B \-T, --local-ttl=<time> +When replying with information from /etc/hosts or the DHCP leases +file dnsmasq by default sets the time-to-live field to zero, meaning +that the requestor should not itself cache the information. This is +the correct thing to do in almost all situations. This option allows a +time-to-live (in seconds) to be given for these replies. This will +reduce the load on the server at the expense of clients using stale +data under some circumstances. +.TP +.B --neg-ttl=<time> +Negative replies from upstream servers normally contain time-to-live +information in SOA records which dnsmasq uses for caching. If the +replies from upstream servers omit this information, dnsmasq does not +cache the reply. This option gives a default value for time-to-live +(in seconds) which dnsmasq uses to cache negative replies even in +the absence of an SOA record. +.TP +.B \-k, --keep-in-foreground +Do not go into the background at startup but otherwise run as +normal. This is intended for use when dnsmasq is run under daemontools +or launchd. +.TP +.B \-d, --no-daemon +Debug mode: don't fork to the background, don't write a pid file, +don't change user id, generate a complete cache dump on receipt on +SIGUSR1, log to stderr as well as syslog, don't fork new processes +to handle TCP queries. +.TP +.B \-q, --log-queries +Log the results of DNS queries handled by dnsmasq. Enable a full cache dump on receipt of SIGUSR1. +.TP +.B \-8, --log-facility=<facility> +Set the facility to which dnsmasq will send syslog entries, this +defaults to DAEMON, and to LOCAL0 when debug mode is in operation. If +the facility given contains at least one '/' character, it is taken to +be a filename, and dnsmasq logs to the given file, instead of +syslog. (Errors whilst reading configuration will still go to syslog, +but all output from a successful startup, and all output whilst +running, will go exclusively to the file.) When logging to a file, +dnsmasq will close and reopen the file when it receives SIGUSR2. This +allows the log file to be rotated without stopping dnsmasq. +.TP +.B --log-async[=<lines>] +Enable asynchronous logging and optionally set the limit on the +number of lines +which will be queued by dnsmasq when writing to the syslog is slow. +Dnsmasq can log asynchronously: this +allows it to continue functioning without being blocked by syslog, and +allows syslog to use dnsmasq for DNS queries without risking deadlock. +If the queue of log-lines becomes full, dnsmasq will log the +overflow, and the number of messages lost. The default queue length is +5, a sane value would be 5-25, and a maximum limit of 100 is imposed. +.TP +.B \-x, --pid-file=<path> +Specify an alternate path for dnsmasq to record its process-id in. Normally /var/run/dnsmasq.pid. +.TP +.B \-u, --user=<username> +Specify the userid to which dnsmasq will change after startup. Dnsmasq must normally be started as root, but it will drop root +privileges after startup by changing id to another user. Normally this user is "nobody" but that +can be over-ridden with this switch. +.TP +.B \-g, --group=<groupname> +Specify the group which dnsmasq will run +as. The defaults to "dip", if available, to facilitate access to +/etc/ppp/resolv.conf which is not normally world readable. +.TP +.B \-v, --version +Print the version number. +.TP +.B \-p, --port=<port> +Listen on <port> instead of the standard DNS port (53). Setting this +to zero completely disables DNS function, leaving only DHCP and/or TFTP. +.TP +.B \-P, --edns-packet-max=<size> +Specify the largest EDNS.0 UDP packet which is supported by the DNS +forwarder. Defaults to 1280, which is the RFC2671-recommended maximum +for ethernet. +.TP +.B \-Q, --query-port=<query_port> +Send outbound DNS queries from, and listen for their replies on, the +specific UDP port <query_port> instead of using random ports. NOTE +that using this option will make dnsmasq less secure against DNS +spoofing attacks but it may be faster and use less resources. Setting this option +to zero makes dnsmasq use a single port allocated to it by the +OS: this was the default behaviour in versions prior to 2.43. +.TP +.B --min-port=<port> +Do not use ports less than that given as source for outbound DNS +queries. Dnsmasq picks random ports as source for outbound queries: +when this option is given, the ports used will always to larger +than that specified. Useful for systems behind firewalls. +.TP +.B \-i, --interface=<interface name> +Listen only on the specified interface(s). Dnsmasq automatically adds +the loopback (local) interface to the list of interfaces to use when +the +.B \--interface +option is used. If no +.B \--interface +or +.B \--listen-address +options are given dnsmasq listens on all available interfaces except any +given in +.B \--except-interface +options. IP alias interfaces (eg "eth1:0") cannot be used with +.B --interface +or +.B --except-interface +options, use --listen-address instead. +.TP +.B \-I, --except-interface=<interface name> +Do not listen on the specified interface. Note that the order of +.B \--listen-address +.B --interface +and +.B --except-interface +options does not matter and that +.B --except-interface +options always override the others. +.TP +.B \-2, --no-dhcp-interface=<interface name> +Do not provide DHCP or TFTP on the specified interface, but do provide DNS service. +.TP +.B \-a, --listen-address=<ipaddr> +Listen on the given IP address(es). Both +.B \--interface +and +.B \--listen-address +options may be given, in which case the set of both interfaces and +addresses is used. Note that if no +.B \--interface +option is given, but +.B \--listen-address +is, dnsmasq will not automatically listen on the loopback +interface. To achieve this, its IP address, 127.0.0.1, must be +explicitly given as a +.B \--listen-address +option. +.TP +.B \-z, --bind-interfaces +On systems which support it, dnsmasq binds the wildcard address, +even when it is listening on only some interfaces. It then discards +requests that it shouldn't reply to. This has the advantage of +working even when interfaces come and go and change address. This +option forces dnsmasq to really bind only the interfaces it is +listening on. About the only time when this is useful is when +running another nameserver (or another instance of dnsmasq) on the +same machine. Setting this option also enables multiple instances of +dnsmasq which provide DHCP service to run in the same machine. +.TP +.B \-y, --localise-queries +Return answers to DNS queries from /etc/hosts which depend on the interface over which the query was +received. If a name in /etc/hosts has more than one address associated with +it, and at least one of those addresses is on the same subnet as the +interface to which the query was sent, then return only the +address(es) on that subnet. This allows for a server to have multiple +addresses in /etc/hosts corresponding to each of its interfaces, and +hosts will get the correct address based on which network they are +attached to. Currently this facility is limited to IPv4. +.TP +.B \-b, --bogus-priv +Bogus private reverse lookups. All reverse lookups for private IP ranges (ie 192.168.x.x, etc) +which are not found in /etc/hosts or the DHCP leases file are answered +with "no such domain" rather than being forwarded upstream. +.TP +.B \-V, --alias=[<old-ip>]|[<start-ip>-<end-ip>],<new-ip>[,<mask>] +Modify IPv4 addresses returned from upstream nameservers; old-ip is +replaced by new-ip. If the optional mask is given then any address +which matches the masked old-ip will be re-written. So, for instance +.B --alias=1.2.3.0,6.7.8.0,255.255.255.0 +will map 1.2.3.56 to 6.7.8.56 and 1.2.3.67 to 6.7.8.67. This is what +Cisco PIX routers call "DNS doctoring". If the old IP is given as +range, then only addresses in the range, rather than a whole subnet, +are re-written. So +.B --alias=192.168.0.10-192.168.0.40,10.0.0.0,255.255.255.0 +maps 192.168.0.10->192.168.0.40 to 10.0.0.10->10.0.0.40 +.TP +.B \-B, --bogus-nxdomain=<ipaddr> +Transform replies which contain the IP address given into "No such +domain" replies. This is intended to counteract a devious move made by +Verisign in September 2003 when they started returning the address of +an advertising web page in response to queries for unregistered names, +instead of the correct NXDOMAIN response. This option tells dnsmasq to +fake the correct response when it sees this behaviour. As at Sept 2003 +the IP address being returned by Verisign is 64.94.110.11 +.TP +.B \-f, --filterwin2k +Later versions of windows make periodic DNS requests which don't get sensible answers from +the public DNS and can cause problems by triggering dial-on-demand links. This flag turns on an option +to filter such requests. The requests blocked are for records of types SOA and SRV, and type ANY where the +requested name has underscores, to catch LDAP requests. +.TP +.B \-r, --resolv-file=<file> +Read the IP addresses of the upstream nameservers from <file>, instead of +/etc/resolv.conf. For the format of this file see +.BR resolv.conf (5) +the only lines relevant to dnsmasq are nameserver ones. Dnsmasq can +be told to poll more than one resolv.conf file, the first file name specified +overrides the default, subsequent ones add to the list. This is only +allowed when polling; the file with the currently latest modification +time is the one used. +.TP +.B \-R, --no-resolv +Don't read /etc/resolv.conf. Get upstream servers only from the command +line or the dnsmasq configuration file. +.TP +.B \-1, --enable-dbus +Allow dnsmasq configuration to be updated via DBus method calls. The +configuration which can be changed is upstream DNS servers (and +corresponding domains) and cache clear. Requires that dnsmasq has +been built with DBus support. +.TP +.B \-o, --strict-order +By default, dnsmasq will send queries to any of the upstream servers +it knows about and tries to favour servers that are known to +be up. Setting this flag forces dnsmasq to try each query with each +server strictly in the order they appear in /etc/resolv.conf +.TP +.B --all-servers +By default, when dnsmasq has more than one upstream server available, +it will send queries to just one server. Setting this flag forces +dnsmasq to send all queries to all available servers. The reply from +the server which answers first will be returned to the original requestor. +.TP +.B --stop-dns-rebind +Reject (and log) addresses from upstream nameservers which are in the +private IP ranges. This blocks an attack where a browser behind a +firewall is used to probe machines on the local network. +.TP +.B \-n, --no-poll +Don't poll /etc/resolv.conf for changes. +.TP +.B --clear-on-reload +Whenever /etc/resolv.conf is re-read, clear the DNS cache. +This is useful when new nameservers may have different +data than that held in cache. +.TP +.B \-D, --domain-needed +Tells dnsmasq to never forward queries for plain names, without dots +or domain parts, to upstream nameservers. If the name is not known +from /etc/hosts or DHCP then a "not found" answer is returned. +.TP +.B \-S, --local, --server=[/[<domain>]/[domain/]][<ipaddr>[#<port>][@<source-ip>|<interface>[#<port>]] +Specify IP address of upstream servers directly. Setting this flag does +not suppress reading of /etc/resolv.conf, use -R to do that. If one or +more +optional domains are given, that server is used only for those domains +and they are queried only using the specified server. This is +intended for private nameservers: if you have a nameserver on your +network which deals with names of the form +xxx.internal.thekelleys.org.uk at 192.168.1.1 then giving the flag +.B -S /internal.thekelleys.org.uk/192.168.1.1 +will send all queries for +internal machines to that nameserver, everything else will go to the +servers in /etc/resolv.conf. An empty domain specification, +.B // +has the special meaning of "unqualified names only" ie names without any +dots in them. A non-standard port may be specified as +part of the IP +address using a # character. +More than one -S flag is allowed, with +repeated domain or ipaddr parts as required. + +Also permitted is a -S +flag which gives a domain but no IP address; this tells dnsmasq that +a domain is local and it may answer queries from /etc/hosts or DHCP +but should never forward queries on that domain to any upstream +servers. +.B local +is a synonym for +.B server +to make configuration files clearer in this case. + +The optional string after the @ character tells +dnsmasq how to set the source of the queries to this +nameserver. It should be an ip-address, which should belong to the machine on which +dnsmasq is running otherwise this server line will be logged and then +ignored, or an interface name. If an interface name is given, then +queries to the server will be forced via that interface; if an +ip-address is given then the source address of the queries will be set +to that address. +The query-port flag is ignored for any servers which have a +source address specified but the port may be specified directly as +part of the source address. Forcing queries to an interface is not +implemented on all platforms supported by dnsmasq. +.TP +.B \-A, --address=/<domain>/[domain/]<ipaddr> +Specify an IP address to return for any host in the given domains. +Queries in the domains are never forwarded and always replied to +with the specified IP address which may be IPv4 or IPv6. To give +both IPv4 and IPv6 addresses for a domain, use repeated -A flags. +Note that /etc/hosts and DHCP leases override this for individual +names. A common use of this is to redirect the entire doubleclick.net +domain to some friendly local web server to avoid banner ads. The +domain specification works in the same was as for --server, with the +additional facility that /#/ matches any domain. Thus +--address=/#/1.2.3.4 will always return 1.2.3.4 for any query not +answered from /etc/hosts or DHCP and not sent to an upstream +nameserver by a more specific --server directive. +.TP +.B \-m, --mx-host=<mx name>[[,<hostname>],<preference>] +Return an MX record named <mx name> pointing to the given hostname (if +given), or +the host specified in the --mx-target switch +or, if that switch is not given, the host on which dnsmasq +is running. The default is useful for directing mail from systems on a LAN +to a central server. The preference value is optional, and defaults to +1 if not given. More than one MX record may be given for a host. +.TP +.B \-t, --mx-target=<hostname> +Specify the default target for the MX record returned by dnsmasq. See +--mx-host. If --mx-target is given, but not --mx-host, then dnsmasq +returns a MX record containing the MX target for MX queries on the +hostname of the machine on which dnsmasq is running. +.TP +.B \-e, --selfmx +Return an MX record pointing to itself for each local +machine. Local machines are those in /etc/hosts or with DHCP leases. +.TP +.B \-L, --localmx +Return an MX record pointing to the host given by mx-target (or the +machine on which dnsmasq is running) for each +local machine. Local machines are those in /etc/hosts or with DHCP +leases. +.TP +.B \-W, --srv-host=<_service>.<_prot>.[<domain>],[<target>[,<port>[,<priority>[,<weight>]]]] +Return a SRV DNS record. See RFC2782 for details. If not supplied, the +domain defaults to that given by +.B --domain. +The default for the target domain is empty, and the default for port +is one and the defaults for +weight and priority are zero. Be careful if transposing data from BIND +zone files: the port, weight and priority numbers are in a different +order. More than one SRV record for a given service/domain is allowed, +all that match are returned. +.TP +.B \-Y, --txt-record=<name>[[,<text>],<text>] +Return a TXT DNS record. The value of TXT record is a set of strings, +so any number may be included, split by commas. +.TP +.B --ptr-record=<name>[,<target>] +Return a PTR DNS record. +.TP +.B --naptr-record=<name>,<order>,<preference>,<flags>,<service>,<regexp>[,<replacement>] +Return an NAPTR DNS record, as specified in RFC3403. +.TP +.B --cname=<cname>,<target> +Return a CNAME record which indicates that <cname> is really +<target>. There are significant limitations on the target; it must be a +DNS name which is known to dnsmasq from /etc/hosts (or additional +hosts files) or from DHCP. If the target does not satisfy this +criteria, the whole cname is ignored. The cname must be unique, but it +is permissable to have more than one cname pointing to the same target. +.TP +.B --interface-name=<name>,<interface> +Return a DNS record associating the name with the primary address on +the given interface. This flag specifies an A record for the given +name in the same way as an /etc/hosts line, except that the address is +not constant, but taken from the given interface. If the interface is +down, not configured or non-existent, an empty record is returned. The +matching PTR record is also created, mapping the interface address to +the name. More than one name may be associated with an interface +address by repeating the flag; in that case the first instance is used +for the reverse address-to-name mapping. +.TP +.B \-c, --cache-size=<cachesize> +Set the size of dnsmasq's cache. The default is 150 names. Setting the cache size to zero disables caching. +.TP +.B \-N, --no-negcache +Disable negative caching. Negative caching allows dnsmasq to remember +"no such domain" answers from upstream nameservers and answer +identical queries without forwarding them again. +.TP +.B \-0, --dns-forward-max=<queries> +Set the maximum number of concurrent DNS queries. The default value is +150, which should be fine for most setups. The only known situation +where this needs to be increased is when using web-server log file +resolvers, which can generate large numbers of concurrent queries. +.TP +.B \-F, --dhcp-range=[[net:]network-id,]<start-addr>,<end-addr>[[,<netmask>],<broadcast>][,<lease time>] +Enable the DHCP server. Addresses will be given out from the range +<start-addr> to <end-addr> and from statically defined addresses given +in +.B dhcp-host +options. If the lease time is given, then leases +will be given for that length of time. The lease time is in seconds, +or minutes (eg 45m) or hours (eg 1h) or "infinite". If not given, +the default lease time is one hour. The +minimum lease time is two minutes. This +option may be repeated, with different addresses, to enable DHCP +service to more than one network. For directly connected networks (ie, +networks on which the machine running dnsmasq has an interface) the +netmask is optional. It is, however, required for networks which +receive DHCP service via a relay agent. The broadcast address is +always optional. It is always +allowed to have more than one dhcp-range in a single subnet. The optional +network-id is a alphanumeric label which marks this network so that +dhcp options may be specified on a per-network basis. +When it is prefixed with 'net:' then its meaning changes from setting +a tag to matching it. Only one tag may be set, but more than one tag may be matched. +The end address may be replaced by the keyword +.B static +which tells dnsmasq to enable DHCP for the network specified, but not +to dynamically allocate IP addresses: only hosts which have static +addresses given via +.B dhcp-host +or from /etc/ethers will be served. The end address may be replaced by +the keyword +.B proxy +in which case dnsmasq will provide proxy-DHCP on the specified +subnet. (See +.B pxe-prompt +and +.B pxe-service +for details.) +.TP +.B \-G, --dhcp-host=[<hwaddr>][,id:<client_id>|*][,net:<netid>][,<ipaddr>][,<hostname>][,<lease_time>][,ignore] +Specify per host parameters for the DHCP server. This allows a machine +with a particular hardware address to be always allocated the same +hostname, IP address and lease time. A hostname specified like this +overrides any supplied by the DHCP client on the machine. It is also +allowable to ommit the hardware address and include the hostname, in +which case the IP address and lease times will apply to any machine +claiming that name. For example +.B --dhcp-host=00:20:e0:3b:13:af,wap,infinite +tells dnsmasq to give +the machine with hardware address 00:20:e0:3b:13:af the name wap, and +an infinite DHCP lease. +.B --dhcp-host=lap,192.168.0.199 +tells +dnsmasq to always allocate the machine lap the IP address +192.168.0.199. Addresses allocated like this are not constrained to be +in the range given by the --dhcp-range option, but they must be on the +network being served by the DHCP server. It is allowed to use client identifiers rather than +hardware addresses to identify hosts by prefixing with 'id:'. Thus: +.B --dhcp-host=id:01:02:03:04,..... +refers to the host with client identifier 01:02:03:04. It is also +allowed to specify the client ID as text, like this: +.B --dhcp-host=id:clientidastext,..... + +The special option id:* means "ignore any client-id +and use MAC addresses only." This is useful when a client presents a client-id sometimes +but not others. + +If a name appears in /etc/hosts, the associated address can be +allocated to a DHCP lease, but only if a +.B --dhcp-host +option specifying the name also exists. The special keyword "ignore" +tells dnsmasq to never offer a DHCP lease to a machine. The machine +can be specified by hardware address, client ID or hostname, for +instance +.B --dhcp-host=00:20:e0:3b:13:af,ignore +This is +useful when there is another DHCP server on the network which should +be used by some machines. + +The net:<network-id> sets the network-id tag +whenever this dhcp-host directive is in use. This can be used to +selectively send DHCP options just for this host. When a host matches any +dhcp-host directive (or one implied by /etc/ethers) then the special +network-id tag "known" is set. This allows dnsmasq to be configured to +ignore requests from unknown machines using +.B --dhcp-ignore=#known +Ethernet addresses (but not client-ids) may have +wildcard bytes, so for example +.B --dhcp-host=00:20:e0:3b:13:*,ignore +will cause dnsmasq to ignore a range of hardware addresses. Note that +the "*" will need to be escaped or quoted on a command line, but not +in the configuration file. + +Hardware addresses normally match any +network (ARP) type, but it is possible to restrict them to a single +ARP type by preceding them with the ARP-type (in HEX) and "-". so +.B --dhcp-host=06-00:20:e0:3b:13:af,1.2.3.4 +will only match a +Token-Ring hardware address, since the ARP-address type for token ring +is 6. + +As a special case, it is possible to include more than one +hardware address. eg: +.B --dhcp-host=11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.2 +This allows an IP address to be associated with +multiple hardware addresses, and gives dnsmasq permission to abandon a +DHCP lease to one of the hardware addresses when another one asks for +a lease. Beware that this is a dangerous thing to do, it will only +work reliably if only one of the hardware addresses is active at any +time and there is no way for dnsmasq to enforce this. It is, for instance, +useful to allocate a stable IP address to a laptop which +has both wired and wireless interfaces. +.TP +.B --dhcp-hostsfile=<file> +Read DHCP host information from the specified file. The file contains +information about one host per line. The format of a line is the same +as text to the right of '=' in --dhcp-host. The advantage of storing DHCP host information +in this file is that it can be changed without re-starting dnsmasq: +the file will be re-read when dnsmasq receives SIGHUP. +.TP +.B --dhcp-optsfile=<file> +Read DHCP option information from the specified file. The advantage of +using this option is the same as for --dhcp-hostsfile: the +dhcp-optsfile will be re-read when dnsmasq receives SIGHUP. Note that +it is possible to encode the information in a +.B --dhcp-boot +flag as DHCP options, using the options names bootfile-name, +server-ip-address and tftp-server. This allows these to be included +in a dhcp-optsfile. +.TP +.B \-Z, --read-ethers +Read /etc/ethers for information about hosts for the DHCP server. The +format of /etc/ethers is a hardware address, followed by either a +hostname or dotted-quad IP address. When read by dnsmasq these lines +have exactly the same effect as +.B --dhcp-host +options containing the same information. /etc/ethers is re-read when +dnsmasq receives SIGHUP. +.TP +.B \-O, --dhcp-option=[<network-id>,[<network-id>,]][encap:<opt>,][vendor:[<vendor-class>],][<opt>|option:<opt-name>],[<value>[,<value>]] +Specify different or extra options to DHCP clients. By default, +dnsmasq sends some standard options to DHCP clients, the netmask and +broadcast address are set to the same as the host running dnsmasq, and +the DNS server and default route are set to the address of the machine +running dnsmasq. If the domain name option has been set, that is sent. +This configuration allows these defaults to be overridden, +or other options specified. The option, to be sent may be given as a +decimal number or as "option:<option-name>" The option numbers are +specified in RFC2132 and subsequent RFCs. The set of option-names +known by dnsmasq can be discovered by running "dnsmasq --help dhcp". +For example, to set the default route option to +192.168.4.4, do +.B --dhcp-option=3,192.168.4.4 +or +.B --dhcp-option = option:router, 192.168.4.4 +and to set the time-server address to 192.168.0.4, do +.B --dhcp-option = 42,192.168.0.4 +or +.B --dhcp-option = option:ntp-server, 192.168.0.4 +The special address 0.0.0.0 is taken to mean "the address of the +machine running dnsmasq". Data types allowed are comma separated +dotted-quad IP addresses, a decimal number, colon-separated hex digits +and a text string. If the optional network-ids are given then +this option is only sent when all the network-ids are matched. + +Special processing is done on a text argument for option 119, to +conform with RFC 3397. Text or dotted-quad IP addresses as arguments +to option 120 are handled as per RFC 3361. Dotted-quad IP addresses +which are followed by a slash and then a netmask size are encoded as +described in RFC 3442. + +Be careful: no checking is done that the correct type of data for the +option number is sent, it is quite possible to +persuade dnsmasq to generate illegal DHCP packets with injudicious use +of this flag. When the value is a decimal number, dnsmasq must determine how +large the data item is. It does this by examining the option number and/or the +value, but can be overridden by appending a single letter flag as follows: +b = one byte, s = two bytes, i = four bytes. This is mainly useful with +encapsulated vendor class options (see below) where dnsmasq cannot +determine data size from the option number. Option data which +consists solely of periods and digits will be interpreted by dnsmasq +as an IP address, and inserted into an option as such. To force a +literal string, use quotes. For instance when using option 66 to send +a literal IP address as TFTP server name, it is necessary to do +.B --dhcp-option=66,"1.2.3.4" + +Encapsulated Vendor-class options may also be specified using +--dhcp-option: for instance +.B --dhcp-option=vendor:PXEClient,1,0.0.0.0 +sends the encapsulated vendor +class-specific option "mftp-address=0.0.0.0" to any client whose +vendor-class matches "PXEClient". The vendor-class matching is +substring based (see --dhcp-vendorclass for details). If a +vendor-class option (number 60) is sent by dnsmasq, then that is used +for selecting encapsulated options in preference to any sent by the +client. It is +possible to omit the vendorclass completely; +.B --dhcp-option=vendor:,1,0.0.0.0 +in which case the encapsulated option is always sent. + +Options may be encapsulated within other options: for instance +.B --dhcp-option=encap:175, 190, "iscsi-client0" +will send option 175, within which is the option 190. If multiple +options are given which are encapsulated with the same option number +then they will be correctly combined into one encapsulated option. +encap: and vendor: are may not both be set in the same dhcp-option. + +The address 0.0.0.0 is not treated specially in +encapsulated options. +.TP +.B --dhcp-option-force=[<network-id>,[<network-id>,]][encap:<opt>,][vendor:[<vendor-class>],]<opt>,[<value>[,<value>]] +This works in exactly the same way as +.B --dhcp-option +except that the option will always be sent, even if the client does +not ask for it in the parameter request list. This is sometimes +needed, for example when sending options to PXELinux. +.TP +.B --dhcp-no-override +Disable re-use of the DHCP servername and filename fields as extra +option space. If it can, dnsmasq moves the boot server and filename +information (from dhcp-boot) out of their dedicated fields into +DHCP options. This make extra space available in the DHCP packet for +options but can, rarely, confuse old or broken clients. This flag +forces "simple and safe" behaviour to avoid problems in such a case. +.TP +.B \-U, --dhcp-vendorclass=<network-id>,<vendor-class> +Map from a vendor-class string to a network id tag. Most DHCP clients provide a +"vendor class" which represents, in some sense, the type of host. This option +maps vendor classes to tags, so that DHCP options may be selectively delivered +to different classes of hosts. For example +.B dhcp-vendorclass=printers,Hewlett-Packard JetDirect +will allow options to be set only for HP printers like so: +.B --dhcp-option=printers,3,192.168.4.4 +The vendor-class string is +substring matched against the vendor-class supplied by the client, to +allow fuzzy matching. +.TP +.B \-j, --dhcp-userclass=<network-id>,<user-class> +Map from a user-class string to a network id tag (with substring +matching, like vendor classes). Most DHCP clients provide a +"user class" which is configurable. This option +maps user classes to tags, so that DHCP options may be selectively delivered +to different classes of hosts. It is possible, for instance to use +this to set a different printer server for hosts in the class +"accounts" than for hosts in the class "engineering". +.TP +.B \-4, --dhcp-mac=<network-id>,<MAC address> +Map from a MAC address to a network-id tag. The MAC address may include +wildcards. For example +.B --dhcp-mac=3com,01:34:23:*:*:* +will set the tag "3com" for any host whose MAC address matches the pattern. +.TP +.B --dhcp-circuitid=<network-id>,<circuit-id>, --dhcp-remoteid=<network-id>,<remote-id> +Map from RFC3046 relay agent options to network-id tags. This data may +be provided by DHCP relay agents. The circuit-id or remote-id is +normally given as colon-separated hex, but is also allowed to be a +simple string. If an exact match is achieved between the circuit or +agent ID and one provided by a relay agent, the network-id tag is set. +.TP +.B --dhcp-subscrid=<network-id>,<subscriber-id> +Map from RFC3993 subscriber-id relay agent options to network-id tags. +.TP +.B --dhcp-match=<network-id>,<option number>|option:<option name>[,<value>] +Without a value, set the network-id tag if the client sends a DHCP +option of the given number or name. When a value is given, set the tag only if +the option is sent and matches the value. The value may be of the form +"01:ff:*:02" in which case the value must match (apart from widcards) +but the option sent may have unmatched data past the end of the +value. The value may also be of the same form as in +.B dhcp-option +in which case the option sent is treated as an array, and one element +must match, so + +--dhcp-match=efi-ia32,option:client-arch,6 + +will set the tag "efi-ia32" if the the number 6 appears in the list of +architectures sent by the client in option 93. (See RFC 4578 for +details.) If the value is a string, substring matching is used. +.TP +.B \-J, --dhcp-ignore=<network-id>[,<network-id>] +When all the given network-ids match the set of network-ids derived +from the net, host, vendor and user classes, ignore the host and do +not allocate it a DHCP lease. +.TP +.B --dhcp-ignore-names[=<network-id>[,<network-id>]] +When all the given network-ids match the set of network-ids derived +from the net, host, vendor and user classes, ignore any hostname +provided by the host. Note that, unlike dhcp-ignore, it is permissible +to supply no netid tags, in which case DHCP-client supplied hostnames +are always ignored, and DHCP hosts are added to the DNS using only +dhcp-host configuration in dnsmasq and the contents of /etc/hosts and +/etc/ethers. +.TP +.B --dhcp-broadcast=<network-id>[,<network-id>] +When all the given network-ids match the set of network-ids derived +from the net, host, vendor and user classes, always use broadcast to +communicate with the host when it is unconfigured. Most DHCP clients which +need broadcast replies set a flag in their requests so that this +happens automatically, some old BOOTP clients do not. +.TP +.B \-M, --dhcp-boot=[net:<network-id>,]<filename>,[<servername>[,<server address>]] +Set BOOTP options to be returned by the DHCP server. Server name and +address are optional: if not provided, the name is left empty, and the +address set to the address of the machine running dnsmasq. If dnsmasq +is providing a TFTP service (see +.B --enable-tftp +) then only the filename is required here to enable network booting. +If the optional network-id(s) are given, +they must match for this configuration to be sent. Note that +network-ids are prefixed by "net:" to distinguish them. +.TP +.B --pxe-service=[net:<network-id>,]<CSA>,<menu text>,<basename>|<bootservicetype>[,<server address>] +Most uses of PXE boot-ROMS simply allow the PXE +system to obtain an IP address and then download the file specified by +.B dhcp-boot +and execute it. However the PXE system is capable of more complex +functions when supported by a suitable DHCP server. + +This specifies a boot option which may appear in a PXE boot menu. <CSA> is +client system type, only services of the correct type will appear in a +menu. The known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86, +Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI; an +integer may be used for other types. The +parameter after the menu text may be a file name, in which case dnsmasq acts as a +boot server and directs the PXE client to download the file by TFTP, +either from itself ( +.B enable-tftp +must be set for this to work) or another TFTP server if the final IP +address is given. +Note that the "layer" +suffix (normally ".0") is supplied by PXE, and should not be added to +the basename. If an integer boot service type, rather than a basename +is given, then the PXE client will search for a +suitable boot service for that type on the network. This search may be done +by multicast or broadcast, or direct to a server if its IP address is provided. A boot service +type of 0 is special, and will abort the net boot procedure and +continue booting from local media. +.TP +.B --pxe-prompt=[net:<network-id>,]<prompt>[,<timeout>] +Setting this provides a prompt to be displayed after PXE boot. If the +timeout is given then after the +timeout has elapsed with no keyboard input, the first available menu +option will be automatically executed. If the timeout is zero then the first available menu +item will be executed immediately. If +.B pxe-prompt +is ommitted the system will wait for user input if there are multiple +items in the menu, but boot immediately if +there is only one. See +.B pxe-service +for details of menu items. + +Dnsmasq supports PXE "proxy-DHCP", in this case another DHCP server on +the network is responsible for allocating IP addresses, and dnsmasq +simply provides the information given in +.B pxe-prompt +and +.B pxe-service +to allow netbooting. This mode is enabled using the +.B proxy +keyword in +.B dhcp-range. +.TP +.B \-X, --dhcp-lease-max=<number> +Limits dnsmasq to the specified maximum number of DHCP leases. The +default is 150. This limit is to prevent DoS attacks from hosts which +create thousands of leases and use lots of memory in the dnsmasq +process. +.TP +.B \-K, --dhcp-authoritative +Should be set when dnsmasq is definitely the only DHCP server on a network. +It changes the behaviour from strict RFC compliance so that DHCP requests on +unknown leases from unknown hosts are not ignored. This allows new hosts +to get a lease without a tedious timeout under all circumstances. It also +allows dnsmasq to rebuild its lease database without each client needing to +reacquire a lease, if the database is lost. +.TP +.B --dhcp-alternate-port[=<server port>[,<client port>]] +Change the ports used for DHCP from the default. If this option is +given alone, without arguments, it changes the ports used for DHCP +from 67 and 68 to 1067 and 1068. If a single argument is given, that +port number is used for the server and the port number plus one used +for the client. Finally, two port numbers allows arbitrary +specification of both server and client ports for DHCP. +.TP +.B \-3, --bootp-dynamic[=<network-id>[,<network-id>]] +Enable dynamic allocation of IP addresses to BOOTP clients. Use this +with care, since each address allocated to a BOOTP client is leased +forever, and therefore becomes permanently unavailable for re-use by +other hosts. if this is given without tags, then it unconditionally +enables dynamic allocation. With tags, only when the tags are all +set. It may be repeated with different tag sets. +.TP +.B \-5, --no-ping +By default, the DHCP server will attempt to ensure that an address in +not in use before allocating it to a host. It does this by sending an +ICMP echo request (aka "ping") to the address in question. If it gets +a reply, then the address must already be in use, and another is +tried. This flag disables this check. Use with caution. +.TP +.B --log-dhcp +Extra logging for DHCP: log all the options sent to DHCP clients and +the netid tags used to determine them. +.TP +.B \-l, --dhcp-leasefile=<path> +Use the specified file to store DHCP lease information. +.TP +.B \-6 --dhcp-script=<path> +Whenever a new DHCP lease is created, or an old one destroyed, the +executable specified by this option is run. The arguments to the process +are "add", "old" or "del", the MAC +address of the host, the IP address, and the hostname, +if known. "add" means a lease has been created, "del" means it has +been destroyed, "old" is a notification of an existing lease when +dnsmasq starts or a change to MAC address or hostname of an existing +lease (also, lease length or expiry and client-id, if leasefile-ro is set). +If the MAC address is from a network type other than ethernet, +it will have the network type prepended, eg "06-01:23:45:67:89:ab" for +token ring. The process is run as root (assuming that dnsmasq was originally run as +root) even if dnsmasq is configured to change UID to an unprivileged user. +The environment is inherited from the invoker of dnsmasq, and if the +host provided a client-id, this is stored in the environment variable +DNSMASQ_CLIENT_ID. If the fully-qualified domain name of the host is +known, the domain part is stored in DNSMASQ_DOMAIN. +If the client provides vendor-class, hostname or user-class, + these are provided in DNSMASQ_VENDOR_CLASS +DNSMASQ_SUPPLIED_HOSTNAME and +DNSMASQ_USER_CLASS0..DNSMASQ_USER_CLASSn variables, but only for +"add" actions or "old" actions when a host resumes an existing lease, +since these data are not held in dnsmasq's lease +database. If dnsmasq was compiled with HAVE_BROKEN_RTC, then +the length of the lease (in seconds) is stored in +DNSMASQ_LEASE_LENGTH, otherwise the time of lease expiry is stored in +DNSMASQ_LEASE_EXPIRES. The number of seconds until lease expiry is +always stored in DNSMASQ_TIME_REMAINING. +If a lease used to have a hostname, which is +removed, an "old" event is generated with the new state of the lease, +ie no name, and the former name is provided in the environment +variable DNSMASQ_OLD_HOSTNAME. DNSMASQ_INTERFACE stores the name of +the interface on which the request arrived; this is not set for "old" +actions when dnsmasq restarts. DNSMASQ_RELAY_ADDRESS is set if the client +used a DHCP relay to contact dnsmasq and the IP address of the relay is known. +All file descriptors are +closed except stdin, stdout and stderr which are open to /dev/null +(except in debug mode). +The script is not invoked concurrently: if subsequent lease +changes occur, the script is not invoked again until any existing +invocation exits. At dnsmasq startup, the script will be invoked for +all existing leases as they are read from the lease file. Expired +leases will be called with "del" and others with "old". <path> +must be an absolute pathname, no PATH search occurs. When dnsmasq +receives a HUP signal, the script will be invoked for existing leases +with an "old " event. +.TP +.B --dhcp-scriptuser +Specify the user as which to run the lease-change script. This defaults to root, but can be changed to another user using this flag. +.TP +.B \-9, --leasefile-ro +Completely suppress use of the lease database file. The file will not +be created, read, or written. Change the way the lease-change +script (if one is provided) is called, so that the lease database may +be maintained in external storage by the script. In addition to the +invocations given in +.B --dhcp-script +the lease-change script is called once, at dnsmasq startup, with the +single argument "init". When called like this the script should write +the saved state of the lease database, in dnsmasq leasefile format, to +stdout and exit with zero exit code. Setting this +option also forces the leasechange script to be called on changes +to the client-id and lease length and expiry time. +.TP +.B --bridge-interface=<interface>,<alias>[,<alias>] +Treat DHCP request packets arriving at any of the <alias> interfaces +as if they had arrived at <interface>. This option is necessary when +using "old style" bridging on BSD platforms, since +packets arrive at tap interfaces which don't have an IP address. +.TP +.B \-s, --domain=<domain>[,<address range>] +Specifies DNS domains for the DHCP server. Domains may be be given +unconditionally (without the IP range) or for limited IP ranges. This has two effects; +firstly it causes the DHCP server to return the domain to any hosts +which request it, and secondly it sets the domain which it is legal +for DHCP-configured hosts to claim. The intention is to constrain +hostnames so that an untrusted host on the LAN cannot advertise +its name via dhcp as e.g. "microsoft.com" and capture traffic not +meant for it. If no domain suffix is specified, then any DHCP +hostname with a domain part (ie with a period) will be disallowed +and logged. If suffix is specified, then hostnames with a domain +part are allowed, provided the domain part matches the suffix. In +addition, when a suffix is set then hostnames without a domain +part have the suffix added as an optional domain part. Eg on my network I can set +.B --domain=thekelleys.org.uk +and have a machine whose DHCP hostname is "laptop". The IP address for that machine is available from +.B dnsmasq +both as "laptop" and "laptop.thekelleys.org.uk". If the domain is +given as "#" then the domain is read from the first "search" directive +in /etc/resolv.conf (or equivalent). The address range can be of the form +<ip address>,<ip address> or <ip address>/<netmask> or just a single +<ip address>. See +.B --dhcp-fqdn +which can change the behaviour of dnsmasq with domains. +.TP +.B --dhcp-fqdn +In the default mode, dnsmasq inserts the unqualified names of +DHCP clients into the DNS. For this reason, the names must be unique, +even if two clients which have the same name are in different +domains. If a second DHCP client appears which has the same name as an +existing client, the name is transfered to the new client. If +.B --dhcp-fqdn +is set, this behaviour changes: the unqualified name is no longer +put in the DNS, only the qualified name. Two DHCP clients with the +same name may both keep the name, provided that the domain part is +different (ie the fully qualified names differ.) To ensure that all +names have a domain part, there must be at least +.B --domain +without an address specified when +.B --dhcp-fqdn +is set. +.TP +.B --enable-tftp +Enable the TFTP server function. This is deliberately limited to that +needed to net-boot a client. Only reading is allowed; the tsize and +blksize extensions are supported (tsize is only supported in octet mode). +.TP +.B --tftp-root=<directory> +Look for files to transfer using TFTP relative to the given +directory. When this is set, TFTP paths which include ".." are +rejected, to stop clients getting outside the specified root. +Absolute paths (starting with /) are allowed, but they must be within +the tftp-root. +.TP +.B --tftp-unique-root +Add the IP address of the TFTP client as a path component on the end +of the TFTP-root (in standard dotted-quad format). Only valid if a +tftp-root is set and the directory exists. For instance, if tftp-root is "/tftp" and client +1.2.3.4 requests file "myfile" then the effective path will be +"/tftp/1.2.3.4/myfile" if /tftp/1.2.3.4 exists or /tftp/myfile otherwise. +.TP +.B --tftp-secure +Enable TFTP secure mode: without this, any file which is readable by +the dnsmasq process under normal unix access-control rules is +available via TFTP. When the --tftp-secure flag is given, only files +owned by the user running the dnsmasq process are accessible. If +dnsmasq is being run as root, different rules apply: --tftp-secure +has no effect, but only files which have the world-readable bit set +are accessible. It is not recommended to run dnsmasq as root with TFTP +enabled, and certainly not without specifying --tftp-root. Doing so +can expose any world-readable file on the server to any host on the net. +.TP +.B --tftp-max=<connections> +Set the maximum number of concurrent TFTP connections allowed. This +defaults to 50. When serving a large number of TFTP connections, +per-process file descriptor limits may be encountered. Dnsmasq needs +one file descriptor for each concurrent TFTP connection and one +file descriptor per unique file (plus a few others). So serving the +same file simultaneously to n clients will use require about n + 10 file +descriptors, serving different files simultaneously to n clients will +require about (2*n) + 10 descriptors. If +.B --tftp-port-range +is given, that can affect the number of concurrent connections. +.TP +.B --tftp-no-blocksize +Stop the TFTP server from negotiating the "blocksize" option with a +client. Some buggy clients request this option but then behave badly +when it is granted. +.TP +.B --tftp-port-range=<start>,<end> +A TFTP server listens on a well-known port (69) for connection initiation, +but it also uses a dynamically-allocated port for each +connection. Normally these are allocated by the OS, but this option +specifies a range of ports for use by TFTP transfers. This can be +useful when TFTP has to traverse a firewall. The start of the range +cannot be lower than 1025 unless dnsmasq is running as root. The number +of concurrent TFTP connections is limited by the size of the port range. +.TP +.B \-C, --conf-file=<file> +Specify a different configuration file. The conf-file option is also allowed in +configuration files, to include multiple configuration files. +.TP +.B \-7, --conf-dir=<directory>[,<file-extension>......] +Read all the files in the given directory as configuration +files. If extension(s) are given, any files which end in those +extensions are skipped. Any files whose names end in ~ or start with . or start and end +with # are always skipped. This flag may be given on the command +line or in a configuration file. +.SH CONFIG FILE +At startup, dnsmasq reads +.I /etc/dnsmasq.conf, +if it exists. (On +FreeBSD, the file is +.I /usr/local/etc/dnsmasq.conf +) (but see the +.B \-C +and +.B \-7 +options.) The format of this +file consists of one option per line, exactly as the long options detailed +in the OPTIONS section but without the leading "--". Lines starting with # are comments and ignored. For +options which may only be specified once, the configuration file overrides +the command line. Quoting is allowed in a config file: +between " quotes the special meanings of ,:. and # are removed and the +following escapes are allowed: \\\\ \\" \\t \\e \\b \\r and \\n. The later +corresponding to tab, escape, backspace, return and newline. +.SH NOTES +When it receives a SIGHUP, +.B dnsmasq +clears its cache and then re-loads +.I /etc/hosts +and +.I /etc/ethers +and any file given by --dhcp-hostsfile, --dhcp-optsfile or --addn-hosts. +The dhcp lease change script is called for all +existing DHCP leases. If +.B +--no-poll +is set SIGHUP also re-reads +.I /etc/resolv.conf. +SIGHUP +does NOT re-read the configuration file. +.PP +When it receives a SIGUSR1, +.B dnsmasq +writes statistics to the system log. It writes the cache size, +the number of names which have had to removed from the cache before +they expired in order to make room for new names and the total number +of names that have been inserted into the cache. For each upstream +server it gives the number of queries sent, and the number which +resulted in an error. In +.B --no-daemon +mode or when full logging is enabled (-q), a complete dump of the +contents of the cache is made. +.PP +When it receives SIGUSR2 and it is logging direct to a file (see +.B --log-facility +) +.B dnsmasq +will close and reopen the log file. Note that during this operation, +dnsmasq will not be running as root. When it first creates the logfile +dnsmasq changes the ownership of the file to the non-root user it will run +as. Logrotate should be configured to create a new log file with +the ownership which matches the existing one before sending SIGUSR2. +If TCP DNS queries are in progress, the old logfile will remain open in +child processes which are handling TCP queries and may continue to be +written. There is a limit of 150 seconds, after which all existing TCP +processes will have expired: for this reason, it is not wise to +configure logfile compression for logfiles which have just been +rotated. Using logrotate, the required options are +.B create +and +.B delaycompress. + + +.PP +Dnsmasq is a DNS query forwarder: it it not capable of recursively +answering arbitrary queries starting from the root servers but +forwards such queries to a fully recursive upstream DNS server which is +typically provided by an ISP. By default, dnsmasq reads +.I /etc/resolv.conf +to discover the IP +addresses of the upstream nameservers it should use, since the +information is typically stored there. Unless +.B --no-poll +is used, +.B dnsmasq +checks the modification time of +.I /etc/resolv.conf +(or equivalent if +.B \--resolv-file +is used) and re-reads it if it changes. This allows the DNS servers to +be set dynamically by PPP or DHCP since both protocols provide the +information. +Absence of +.I /etc/resolv.conf +is not an error +since it may not have been created before a PPP connection exists. Dnsmasq +simply keeps checking in case +.I /etc/resolv.conf +is created at any +time. Dnsmasq can be told to parse more than one resolv.conf +file. This is useful on a laptop, where both PPP and DHCP may be used: +dnsmasq can be set to poll both +.I /etc/ppp/resolv.conf +and +.I /etc/dhcpc/resolv.conf +and will use the contents of whichever changed +last, giving automatic switching between DNS servers. +.PP +Upstream servers may also be specified on the command line or in +the configuration file. These server specifications optionally take a +domain name which tells dnsmasq to use that server only to find names +in that particular domain. +.PP +In order to configure dnsmasq to act as cache for the host on which it is running, put "nameserver 127.0.0.1" in +.I /etc/resolv.conf +to force local processes to send queries to +dnsmasq. Then either specify the upstream servers directly to dnsmasq +using +.B \--server +options or put their addresses real in another file, say +.I /etc/resolv.dnsmasq +and run dnsmasq with the +.B \-r /etc/resolv.dnsmasq +option. This second technique allows for dynamic update of the server +addresses by PPP or DHCP. +.PP +Addresses in /etc/hosts will "shadow" different addresses for the same +names in the upstream DNS, so "mycompany.com 1.2.3.4" in /etc/hosts will ensure that +queries for "mycompany.com" always return 1.2.3.4 even if queries in +the upstream DNS would otherwise return a different address. There is +one exception to this: if the upstream DNS contains a CNAME which +points to a shadowed name, then looking up the CNAME through dnsmasq +will result in the unshadowed address associated with the target of +the CNAME. To work around this, add the CNAME to /etc/hosts so that +the CNAME is shadowed too. + +.PP +The network-id system works as follows: For each DHCP request, dnsmasq +collects a set of valid network-id tags, one from the +.B dhcp-range +used to allocate the address, one from any matching +.B dhcp-host +(and "known" if a dhcp-host matches) +the tag "bootp" for BOOTP requests, a tag whose name is the +name if the interface on which the request arrived, +and possibly many from matching vendor classes and user +classes sent by the DHCP client. Any +.B dhcp-option +which has network-id tags will be used in preference to an untagged +.B dhcp-option, +provided that _all_ the tags match somewhere in the +set collected as described above. The prefix '#' on a tag means 'not' +so --dhcp=option=#purple,3,1.2.3.4 sends the option when the +network-id tag purple is not in the set of valid tags. +.PP +If the network-id in a +.B dhcp-range +is prefixed with 'net:' then its meaning changes from setting a +tag to matching it. Thus if there is more than dhcp-range on a subnet, +and one is tagged with a network-id which is set (for instance +from a vendorclass option) then hosts which set the netid tag will be +allocated addresses in the tagged range. +.PP +The DHCP server in dnsmasq will function as a BOOTP server also, +provided that the MAC address and IP address for clients are given, +either using +.B dhcp-host +configurations or in +.I /etc/ethers +, and a +.B dhcp-range +configuration option is present to activate the DHCP server +on a particular network. (Setting --bootp-dynamic removes the need for +static address mappings.) The filename +parameter in a BOOTP request is matched against netids in +.B dhcp-option +configurations, as is the tag "bootp", allowing some control over the options returned to +different classes of hosts. + +.SH EXIT CODES +.PP +0 - Dnsmasq successfully forked into the background, or terminated +normally if backgrounding is not enabled. +.PP +1 - A problem with configuration was detected. +.PP +2 - A problem with network access occurred (address in use, attempt +to use privileged ports without permission). +.PP +3 - A problem occurred with a filesystem operation (missing +file/directory, permissions). +.PP +4 - Memory allocation failure. +.PP +5 - Other miscellaneous problem. +.PP +11 or greater - a non zero return code was received from the +lease-script process "init" call. The exit code from dnsmasq is the +script's exit code with 10 added. + +.SH LIMITS +The default values for resource limits in dnsmasq are generally +conservative, and appropriate for embedded router type devices with +slow processors and limited memory. On more capable hardware, it is +possible to increase the limits, and handle many more clients. The +following applies to dnsmasq-2.37: earlier versions did not scale as well. + +.PP +Dnsmasq is capable of handling DNS and DHCP for at least a thousand +clients. Clearly to do this the value of +.B --dhcp-lease-max +must be increased, +and lease times should not be very short (less than one hour). The +value of +.B --dns-forward-max +can be increased: start with it equal to +the number of clients and increase if DNS seems slow. Note that DNS +performance depends too on the performance of the upstream +nameservers. The size of the DNS cache may be increased: the hard +limit is 10000 names and the default (150) is very low. Sending +SIGUSR1 to dnsmasq makes it log information which is useful for tuning +the cache size. See the +.B NOTES +section for details. + +.PP +The built-in TFTP server is capable of many simultaneous file +transfers: the absolute limit is related to the number of file-handles +allowed to a process and the ability of the select() system call to +cope with large numbers of file handles. If the limit is set too high +using +.B --tftp-max +it will be scaled down and the actual limit logged at +start-up. Note that more transfers are possible when the same file is +being sent than when each transfer sends a different file. + +.PP +It is possible to use dnsmasq to block Web advertising by using a list +of known banner-ad servers, all resolving to 127.0.0.1 or 0.0.0.0, in +.B /etc/hosts +or an additional hosts file. The list can be very long, +dnsmasq has been tested successfully with one million names. That size +file needs a 1GHz processor and about 60Mb of RAM. + +.SH INTERNATIONALISATION +Dnsmasq can be compiled to support internationalisation. To do this, +the make targets "all-i18n" and "install-i18n" should be used instead of +the standard targets "all" and "install". When internationalisation +is compiled in, dnsmasq will produce log messages in the local +language and support internationalised domain names (IDN). Domain +names in /etc/hosts, /etc/ethers and /etc/dnsmasq.conf which contain +non-ASCII characters will be translated to the DNS-internal punycode +representation. Note that +dnsmasq determines both the language for messages and the assumed +charset for configuration +files from the LANG environment variable. This should be set to the system +default value by the script which is responsible for starting +dnsmasq. When editing the configuration files, be careful to do so +using only the system-default locale and not user-specific one, since +dnsmasq has no direct way of determining the charset in use, and must +assume that it is the system default. + +.SH FILES +.IR /etc/dnsmasq.conf + +.IR /usr/local/etc/dnsmasq.conf + +.IR /etc/resolv.conf + +.IR /etc/hosts + +.IR /etc/ethers + +.IR /var/lib/misc/dnsmasq.leases + +.IR /var/db/dnsmasq.leases + +.IR /var/run/dnsmasq.pid +.SH SEE ALSO +.BR hosts (5), +.BR resolver (5) +.SH AUTHOR +This manual page was written by Simon Kelley <simon@thekelleys.org.uk>. + + diff --git a/man/es/dnsmasq.8 b/man/es/dnsmasq.8 new file mode 100755 index 0000000..7197212 --- /dev/null +++ b/man/es/dnsmasq.8 @@ -0,0 +1,1310 @@ +.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> +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. +.TP +.B \-T, --local-ttl=<tiempo> +Al responder con información desde /etc/hosts o desde el archivo +de arriendos DHCP, dnsmasq fija el tiempo de vida (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=<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 en el caché aún en la ausencia de +un expediente SOA. +.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=<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. (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[=<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. +.TP +.B \-x, --pid-file=<path> +Especificar un path alterno donde dnsmasq debe guardar su PID. +Normalmente es /var/run/dnsmasq.pid. +.TP +.B \-u, --user=<usuario> +Especificar el userid al cual dnsmasq debe cambiarse despues de iniciar. +Dnsmasq normalmente debe ser iniciado como root, pero soltará los +privilegios root despues del inicio, cambiando a otro usuario. +Normalmente este usuario es "nobody", pero eso se puede cambiar +con esta opción. +.TP +.B \-g, --group=<grupo> +Especificar el grupo como el cual dnsmasq correrá. El predeterminado +es "dip", si está disponible, para facilitar el acceso a +/etc/ppp/resolv.conf el cuál normálmente no es globalmente leíble. +.TP +.B \-v, --version +Mostrar el número de versión. +.TP +.B \-p, --port=<puerto> +Escuchar en el puerto <puerto> en vez del puerto estándar DNS (53). +Fijar esto a cero deshabilita completamente la función DNS, dejando +solo DHCP y/o TFTP. +.TP +.B \-P, --edns-packet-max=<tamaño> +Especificar el paquete UDP EDNS.0 más grande que es soportado por +el reenviador DNS. Por predeterminado es 1280, lo cual es el +máximo recomendado en RFC2671 para ethernet. +.TP +.B \-Q, --query-port=<puerto> +Enviar búsquedas outbound desde, y escuchar por respuestas en, +el puerto UDP <puerto> en vez de usar 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=<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. +.TP +.B \-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 +.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=<nombre de 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=<nombre de interface> +No proveer DHCP ni TFTP en la interface especificada, pero sí +proveer servicio DNS. +.TP +.B \-a, --listen-address=<dirección IP> +Escuchar en la(s) dirección(es) IP especificada(s). Las opciones +.B \--interface +y +.B \--listen-address +ambas pueden ser brindadas, y en tal caso el juego de ambas +direcciones IP y interfaces es usada. Nótese que si ninguna opción +.B \--interface +es brindada, pero sí se brinda la opción +.B \--listen-address +, entonces dnsmasq no escuchará automáticamente en la interface +loopback. Para obtener esto, 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=[<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, +.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=<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 +.TP +.B \-f, --filterwin2k +Algunas versiones de Windows hacen búsquedas DNS periódicas las cuales no +reciben respuestas sensibles desde el DNS público y pueden causar problemas +activando enlaces marcación-en-demanda. Esta opción filtra dichas búsquedas. +Las búsquedas filtradas son para registros tipo SOA y SRV, al igual que +tipo ANY donde el nombre pedido contiene _, para atrapar búsquedas LDAP. +.TP +.B \-r, --resolv-file=<archivo> +Leer las direcciones IP de servidores DNS upstream desde <archivo>, +en vez de /etc/resolv.conf. Para el formato de este archivo, ver +.BR resolv.conf (5) +Las únicas líneas relevantes a dnsmasq son las de servidores DNS. A +dnsmasq se le puede decir que revise más de un archivo resolv.conf, +el primer archivo especificado remplaza al predeterminado, y los +subsiguientes 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 \-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>]/[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 +.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. + +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>/[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. +.TP +.B \-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. +.TP +.B \-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. +.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>.[<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 +.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=<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. +.TP +.B --ptr-record=<nombre>[,<target>] +Retornar un récord DNS PTR. +.TP +.B --naptr-record=<nombre>,<orden>,<preferencia>,<opciones>,<servicio>,<regexp>[,<remplazo>] +Retornar un récord DNS NAPTR, como especificado en RFC3403. +.TP +.B --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. +.TP +.B --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. +.TP +.B \-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é. +.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=<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. +.TP +.B \-F, --dhcp-range=[[net:]network-id,]<dirección-inicio>,<dirección-final>[[,<máscara>],<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 +.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 +network-id es 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 'net:' 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.) +.TP +.B \-G, --dhcp-host=[<dirección de hardware>][,id:<client_id>|*][,net:<netid>][,<dirección IP>][,<nombre de host>][,<tiempo de arriendo>][,ignore] +Especificar parámetros por host para el servidor DHCP. Esto permite +que una máquina con una dirección de hardware particular sea siempre +alocada el mismo nombre de host, dirección IP, y tiempo de arriendo. +Un nombre de host especificado de esta manera toma presedencia +sobre cualquiera suministrado por el cliente DHCP en la máquina. +También se permite omitir la direccion de hardware y incluir el +nombre 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 red siendo servida por el servidor DHCP. Se +permite usar identificadores de clientes en vez de direcciones de +hardware para identificar hosts prefijando 'id:'. O sea que: +.B --dhcp-host=id:01:02:03:04,..... +se refiere al host con identificador de cliente 01:02:03:04. +También se permite especificar el ID de cliente como texto, así: +.B --dhcp-host=id: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. 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 net:<network-id> fija la etiqueta network-id cuando sea que +esta directiva dhcp-host está en uso. Esto puede ser usado para +enviar selectivamente opciones DHCP a este host. Cuando un host +coincide con cualquier directiva dhcp-host (o una implicada por +/etc/ethers) entonces la etiqueta network-id especial "known" es +fijada. Esto permite que dnsmasq sea configurado para ignorar +pedidos desde máquinas desconocidas usando +.B --dhcp-ignore=#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=<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. +.TP +.B --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. +.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=[<network-id>,[<network-id>,]][encap:<opt>,][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 +.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 network-ids +opcionales son brindadas, entonces esta opción es solo enviada cuando +todas las network-ids 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 dirección 0.0.0.0 no es tratada de forma especial en opciones encapsuladas. +.TP +.B --dhcp-option-force=[<network-id>,[<network-id>,]][encap:<opt>,][vendor:[<vendor-class>],]<opt>,[<value>[,<value>]] +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=<network-id>,<vendor-class> +Trazar desde un string vendor-class a un network id. La mayoría de los +clientes DHCP proveen una "vendor class" la cual representa, en cierto +sentido, el tipo de host. Esta opción 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=printers,Hewlett-Packard JetDirect +peritiría que opciones sean fijadas solo para impresoras HP así: +.B --dhcp-option=printers,3,192.168.4.4 +El string vendor-class es coordinado con el vendor-class proveido por +el cliente, para permitir coincidencias borrosas. +.TP +.B \-j, --dhcp-userclass=<network-id>,<user-class> +Trazar desde un string user-class a un network id (con coordinación +substring, como con vendor-class). La mayoría de los clientes DHCP +proveen un "user class" el cual es configurable. Esta opción 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=<network-id>,<dirección MAC> +Trazar desde una dirección MAC a una network id. La dirección MAC +puede incluir comodínes. Por ejemplo: +.B --dhcp-mac=3com,01:34:23:*:*:* +fijaría el tag "3com" a cualquier host el cual su MAC coincida con +el patrón. +.TP +.B --dhcp-circuitid=<network-id>,<circuit-id>, --dhcp-remoteid=<network-id>,<remote-id> +Trazar de opciones agente de relay RFC3046 a opciones network-id. 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, +network-id es fijado. +.TP +.B --dhcp-subscrid=<network-id>,<subscriber-id> +Trazar de opciones relay subscriber-id RFC3993 a opciones network-id. +.TP +.B --dhcp-match=<network-id>,<option number>|option:<option name>[,<value>] +Sin un valor, fijar la etiqueta network-id 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 +.B dhcp-option +caso en el cual la opción enviada es tratada como un array, y un elemento debe +coincidir, así que + +--dhcp-match=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. +.B \-J, --dhcp-ignore=<network-id>[,<network-id>] +Cuando todos los network ids brindados coincidan con el juego de +network ids derivados de las clases net, host, y vendor, ignorar +el host y no brindarle un arriendo DHCP. +.TP +.B --dhcp-ignore-names[=<network-id>[,<network-id>]] +Cuando todos los network-ids brindados coinciden con el juego de +network-ids derivado de la red, host, classes de vendedor y usuario, +ignorar cualquier nombre de host proveido por el host. Nótese que, +a diferencia de dhcp-ignore, es permisible no brindar ningún tag netid, +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. +.TP +.B --dhcp-broadcast=<network-id>[,<network-id>] +Cuando todos los network-ids brindados coinciden con el juego de network-ids +derivados de la red, host, clases de vendedor y usuarios, siempre usar +broadcast para comunicarse con el host cuando está sin configurar. 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. +.TP +.B \-M, --dhcp-boot=[net:<network-id>,]<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 +.B --enable-tftp +) entonces solo el nombre de archivo es requirido aquí para habilitar +el inicio atravéz de una red. Si las opcionales network-ids 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. +.TP +.B --pxe-service=[net:<network-id>,]<CSA>,<texto de menú>,<nombre base>|<tipo de servicio boot>[,<dirección de servidor>] +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 +.B 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 ( +.B 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 multicast o +broadcast, o directamente a un servidor si la dirección IP es brindada. Un +tipo de servicio boot de 0 es especial, y abortará el proceso boot de red +y continuará desde medio local. +.TP +.B --pxe-prompt=[net:<network-id>,]<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 +.B 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 +.B 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 +.B pxe-prompt +y +.B pxe-service +para permitir boot a travez de la red. Este modo es habilitado usando +la palabra clave +.B proxy +en +.B dhcp-range. +.TP +.B \-X, --dhcp-lease-max=<número> +Limita a dnsmasq a el número especificado de arriendos DHCP. El +predeterminado es 150. El limite es para prevenir ataques DoS desde +hosts que crean cientos de arriendos y usan mucha de la memoria del +proceso dnsmasq. +.TP +.B \-K, --dhcp-authoritative +Esta opción debe ser fijada cuando dnsmasq es definitivamente el único +servidor DHCP en la red. Cambia el comportamiento de RFC de tal manera +que pedidos desde hosts no conocidos no serán ignorados. Esto permite que +hosts nuevos puedan conseguir un arriendo sin sin un timeout bajo toda +circunstancia. También permite que dnsmasq reconstruya su base de datos +de arriendos sin que cada cliente necesite readquirir un arriendo +si la base de datos es perdida. +.TP +.B --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. +.TP +.B \-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. +.TP +.B \-5, --no-ping +Por predetermindado, el servidor DHCP tratará de asegurarse que una +dirección no esté en uso antes de alocarsela a un host. Hace esto +enviando un echo ICMP (ping) a la dirección referente. Si recibe una +respuesta, entonces la dirección debe estar siendo usada, y se repite +la prueba con otra. Esta opción deshabilita esta prueba. Usar con +cuidado. +.TP +.B --log-dhcp +Bitacoréo extra para DHCP: Bitacorear todas las opciones enviadas a +clientes DHCP y las etiquetas netid usadas para determinarlos. +.TP +.B \-l, --dhcp-leasefile=<path> +Usar el archivo especificado para almacenar información de arriendos +DHCP. +.TP +.B \-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. +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, y si el +host brindó un client-id, es almacenado en la variable de ambiente +DNSMASQ_CLIENT_ID. Si el dominio completamente calificado del host +es conocido, la parte de dominio es almacenada en DNSMASQ_DOMAIN. Si +el cliente brinda información de clase de vendedoro usuario, +estos son brindados en las variables DNSMASQ_VENDOR_CLASS y +DNSMASQ_USER_CLASS0..DNSMASQ_USER_CLASSn, pero solo para acciones "add" +y "old" cuando un host resume 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. +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: si cambios de arriendos +subsiguientes ocurren, el guión no es invocado otra vez hasta que +cualquier invocación existente haga exit. 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 dnsmasq recibe una señal HUP, el guión será +invocado para arriendos existentes con un evento "old". +.TP +.B --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. +.TP +.B \-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 +.B --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. +.TP +.B --bridge-interface=<nombre de interface>,<alias>[,<alias>] +Tratar paquetes de pedidos DHCP que llegan a cualquiera de las interfaces <alias> +como si hubieran llegado a la interface <nombre de interface>. Esta opción +es necesaria al usar bridging estilo viejo en plataformas BSD, dado a que +los paquetes llegan a interfaces tap que no tienen una dirección IP. +.TP +.B \-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 +.B --domain=thekelleys.org.uk +y tener una maquina cuyo nombre host DHCP es "laptop". La dirección IP +de esa máquina es disponible desde +.B dnsmasq +como "laptop" y "laptop.thekelleys.org.uk". Si el dominio es brindado +como "#" entonces el dominio es leido desde la primera directiva 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 +.B --dhcp-fqdn el cual puede cambiar el comportamiento de dnsmasq con +dominios. +.TP +.B --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 +.B --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 +.B --domain +sin una dirección especificada cuando +.B --dhcp-fqdn +está fijado. +.TP +.B --enable-tftp +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). +.TP +.B --tftp-root=<directorio> +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. +.TP +.B --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. +.TP +.B --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. +.TP +.B --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 +.B --tftp-port-range +es brindado, eso puede afectar el número de conexiones simultáneas. +.TP +.B --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. +.TP +.B --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. +.TP +.B \-C, --conf-file=<archivo> +Especificar un archivo de configuración diferente. La opción conf-file +también es permitida en archivos de configuración, para incluir múltiples +archivos de configuración. +.TP +.B \-7, --conf-dir=<directorio> +Leer todos los archivos dentro del directorio brindado como archivos +de configuración. Archivos cuyos nombres terminen con ~ o comienzen +con . o comienzen y terminen con # son ignorados. Esta opción puede +ser brindada en la línea de comandos o en un archivo de configuración. +.SH ARCHIVO DE CONFIGURACION +Al inicio, dnsmasq lee +.I /etc/dnsmasq.conf, +si existe. (En FreeBSD, el archivo es +.I /usr/local/etc/dnsmasq.conf +) (pero ver las opciónes +.B \-C +y +.B \-7 +porfavor.) El formato de este archivo consiste de una opción por línea, +exáctamente como las opciones largas detalladas en la sección OPCIONES +pero sin el "--" al frente. Líneas que comienzan con # son comentarios +y son ignoradas. Para opciones que solo pueden ser especificadas una +sola vez, 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. +.SH NOTAS +Al recibir un SIGHUP +.B dnsmasq +libera su cache y entonces recarga +.I /etc/hosts +y +.I /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 +.B +--no-poll +está fijado entonces SIGHUP también re-lee +.I /etc/resolv.conf. +SIGHUP +NO re-lee el archivo de configuración. +.PP +Al recibir un SIGUSR1, +.B dnsmasq +escribe 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 +.B --no-daemon +o cuando bitacoréo completo está habilitado (-q), una descarga completa de +el contenido del caché es hecha. +.PP +Cuando recibe un SIGUSR2 y está bitacoreando diréctamente a un archivo (ver +.B --log-facility +) +.B 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 +.B create +y +.B delaycompress. +.PP +Dnsmasq es un reenviador de búsquedas DNS: no puede responder búsquedas +arbitrarias comenzando desde los servidores root pero reenvía dichas +búsquedas a un servidor DNS recursivo, el cual es típicamente proveído +por el proveedor de Internet. Por predeterminado, dnsmasq lee +.I /etc/resolv.conf +para descubir las direcciones IP de los servidores DNS upstream que +debe usar, dado a que esta información es normalmente almacenada allí. +Amenos que +.B --no-poll +sea usado, +.B dnsmasq +revisa el tiempo de modificación de +.I /etc/resolv.conf +(o equivalente si +.B \--resolv-file +es usado) y lo re-lee si ha cambiado. Esto permite que servidores DNS séan +fijados dinámicamente vía PPP o DHCP ya que ambos protocolos brindan esta +información. +La ausencia de +.I /etc/resolv.conf +no es un error ya que pudo haber sido creada antes de que una conexión PPP +haya existido. Dnsmasq simplemente sigue revisando en caso de que +.I /etc/resolv.conf +sea creado en algún momento. A dnsmasq se le puede decir que revise más +de un archivo resolv.conf. Esto es útil en una laptop, donde ambos PPP y +DHCP podrían estar siendo usados: dnsmasq puede ser fijado para revisar ambos +.I /etc/ppp/resolv.conf +y +.I /etc/dhcpc/resolv.conf +y usará el contenido del que haya cambiado mas recientemente, +brindando así la habilidad de cambio automático entre servidores DNS. +.PP +Servidores upstream también pueden ser especificados en la línea de +comandos o en el archivo de configuración. Estas especificaciones de +servidor 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. +.PP +Para configurar dnsmasq como caché para el host donde está +corriendo, poner un "nameserver 127.0.0.1" en +.I /etc/resolv.conf +para así forzar procesos locales a enviar búsquedas a dnsmasq. Entonces, +o especificar los servidores upstream diréctamente a dnsmasq usando opciones +.B \--server +o poniendo sus direcciones reales en otro archivo, digamos +.I /etc/resolv.dnsmasq +y correr dnsmasq con la opcion +.B \-r /etc/resolv.dnsmasq +Esta segunda técnica permite la actualización dinámica de las direcciones +de servidor mediante PPP o DHCP. +.PP +Direcciones en /etc/hosts "harán sombra" a diferentes direcciones para +los mismos nombres en servidores DNS upstream, así que +"miempresa.com 1.2.3.4" en /etc/hosts se asegurará que las búsquedas +por "miempresa.com" siempre retornarán 1.2.3.4 aún si búsquedas en el +servidor DNS upstream devolverían una dirección diferente. Hay una +excepción a esto: si el servidor DNS upstream contiene un CNAME que +apunta a un nombre sombreado, entonces buscando el CNAME a travéz de +dnsmasq resultará en que la dirección no-sombreada será asociada con +el destino del CNAME. Para circumventar esto, agregar el CNAME a +/etc/hosts de tal manera que el CNAME es sombreado también. +.PP +El sistema network-id funciona de la siguiente manera: Para cada pedido +DHCP, dnsmasq colecciona un juego de etiquetas network-id válidas, +una del +.B dhcp-range +usado para alocar la dirección, una de cualquier +.B dhcp-host +que coincida (y "known" si un dhcp-host coincide), la etiqueta "bootp" +para pedidos BOOTP, una etiqueta cuyo nombre es el nombre de la +interface donde llegó el pedido, y posiblemente muchas de clases +de vendedor y usuario que coincidan que hayan sido enviadas por +el cliente DHCP. Cualquier opción +.B dhcp-option +que tenga etiquetas network-id será usada en preferencia de una opción +.B dhcp-option, +sin etiqueta, con tal que _todas_ las etiquetas coincidan en alguna +parte del juego coleccionado describido arriba. El prefijo "#" en una +etiqueta significa "no" así que --dhcp=option=#purple,3,1.2.3.4 envía +la opción cuando la etiqueta network-id "purple" no está en el juego +de etiquetas válidas. +.PP +Si el network-id en un +.B dhcp-range +es prefijado con "net:", entonces su significado cambia de "fijar +etiqueta" a "coincidir con etiqueta". O sea que si hay más de un +dhcp-range en en una subred, y uno tiene una etiqueta network-id la +cual está fijada (por ejemplo una opción de clase de vendedor) entonces +hosts que fijen la etiqueta network-id serán alocados direcciones en +el rango etiquetado. +.PP +El servidor DHCP de dnsmasq funcionará como servidor BOOTP tambien, +con tal que las direcciones MAC y IP de los clientes sean brindadas, +ya sea usando configuraciones +.B dhcp-host +o en +.I /etc/ethers +, y una configuración +.B dhcp-range +esté presente para activar el servidor DHCP en una red particular. +(Fijar --bootp-dynamic elimina la necesidad de trazados estáticos.) El +parámetro de nombre de archivos en un pedido BOOTP es revisado para +ver si coincide con algún network-id en configuraciónes +.B dhcp-option +al igual que la etiqueta "bootp", permitiendo así algún control sobre +las opciones devueltas a diferentes clases de hosts. + +.SH CÓDIGOS EXIT +.PP +0 - Dnsmasq hizo fork hacia el fondo exitosamente, o terminó de manera +normal si ir al fondo no está habilitado. +.PP +1 - Un problema con la configuración ha sido detectado. +.PP +2 - Un problema con acceso a redes ocurrió (dirección en uso, intento +de usar puertos privilegiados sin permiso). +.PP +3 - Un problema con una operación de sistema de archivos ocurrió (archivo +o directorio ausente, permisos). +.PP +4 - Falla de alocación de memoria. +.PP +5 - Otro problema misceláneo. +.PP +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. + +.SH LIMITES +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. + +.PP +Dnsmasq es capaz de soportar con DNS y DHCP a por lo menos mil (1,000) +clientes. Por supuesto que para lograr esto debe aumentarse el valor de +.B --dhcp-lease-max +, y tiempos de arriendo no deben ser muy cortos (menos de una hora). +El valor de +.B --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 +.B NOTAS +para detalles. + +.PP +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 +.B --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. + +.PP +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 +.B /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. + +.SH ARCHIVOS +.IR /etc/dnsmasq.conf + +.IR /usr/local/etc/dnsmasq.conf + +.IR /etc/resolv.conf + +.IR /etc/hosts + +.IR /etc/ethers + +.IR /var/lib/misc/dnsmasq.leases + +.IR /var/db/dnsmasq.leases + +.IR /var/run/dnsmasq.pid +.SH VER TAMBIEN +.BR hosts (5), +.BR resolver (5) +.SH AUTOR +Este manual fue escrito por Simon Kelley <simon@thekelleys.org.uk>. + +Traducido a español por Christopher Chatham <chrislinux@gmail.com>. diff --git a/man/fr/dnsmasq.8 b/man/fr/dnsmasq.8 new file mode 100755 index 0000000..92ec024 --- /dev/null +++ b/man/fr/dnsmasq.8 @@ -0,0 +1,1449 @@ +.TH DNSMASQ 8 +.SH NAME +Dnsmasq \- Un serveur DHCP et cache DNS poids-plume. +.SH SYNOPSIS +.B dnsmasq +.I [OPTION]... +.SH "DESCRIPTION" +.BR dnsmasq +est un serveur DHCP et DNS à faible empreinte mémoire. Il offre à la fois les +services DNS et DHCP pour un réseau local (LAN). +.PP +Dnsmasq accepte les requêtes DNS et y réponds soit en utilisant un petit cache +local, soit en effectuant une requête à un serveur DNS récursif externe (par +exemple celui de votre fournisseur d'accès internet). Il charge le contenu du +fichier /etc/hosts afin que les noms locaux n'apparaissant pas dans les DNS +globaux soient tout de même résolus, et assure également la résolution de nom +pour les hôtes présents dans le service DHCP. +.PP +Le serveur DHCP Dnsmasq DHCP supporte les définitions d'adresses statiques et les +réseaux multiples. Il envoie par défaut un jeu raisonnable de paramètres DHCP, et +peut être configuré pour envoyer n'importe quel option DHCP. +Il inclut un serveur TFTP sécurisé en lecture seule permettant le démarrage via +le réseau/PXE de clients DHCP et supporte également le protocole BOOTP. +.PP +Dnsmasq supporte IPv6 pour le DNS mais pas pour le DHCP. +.SH OPTIONS +Notes : Il est possible d'utiliser des options sans leur donner de paramètre. +Dans ce cas, la fonction correspondante sera désactivée. Par exemple +.B --pid-file= +(sans paramètre après le =) désactive l'écriture du fichier PID. +Sur BSD, à moins que le logiciel ne soit compilé avec la bibliothèque GNU +getopt, la forme longue des options ne fonctionne pas en ligne de commande; Elle +est toujours supportée dans le fichier de configuration. +.TP +.B --test +Vérifie la syntaxe du ou des fichiers de configurations. Se termine avec le +code de retour 0 si tout est OK, ou un code différent de 0 dans le cas +contraire. Ne démarre pas Dnsmasq. +.TP +.B \-h, --no-hosts +Ne pas charger les noms du fichier /etc/hosts. +.TP +.B \-H, --addn-hosts=<fichier> +Fichiers d'hôtes additionnels. Lire le fichier spécifié en plus de /etc/hosts. +Si +.B -h +est spécifié, lire uniquement le fichier spécifié. Cette option peut être +répétée afin d'ajouter d'autres fichiers. Si un répertoire est donné, lis les +fichiers contenus dans ce répertoire. +.TP +.B \-E, --expand-hosts +Ajoute le nom de domaine aux noms simples (ne contenant pas de point dans le +nom) contenus dans le fichier /etc/hosts, de la même façon que pour le service +DHCP. Notez que cela ne s'applique pas au nom de domaine dans les CNAME, les +enregistrements PTR, TXT, etc... +.TP +.B \-T, --local-ttl=<durée> +Lorsque Dnsmasq répond avec une information provenant du fichier /etc/hosts ou +avec un bail DHCP, il donne un temps de vie (time-to-live) positionné à zéro, +afin d'indiquer à la machine faisant la requête que celle-ci ne doit pas être +mise dans un cache. Ceci est le comportement correct dans presque toutes les +situations. +Cette option permet de spécifier la valeur de time-to-live à retourner (en +secondes). Cela permet de réduire la charge sur le serveur, mais les clients +risquent d'utiliser des données périmées dans certains cas. +.TP +.B --neg-ttl=<durée> +Les réponses négatives provenant des serveurs amonts contiennent normalement +une information de durée de vie (time-to-live) dans les enregistrements SOA, +information dont dnsmasq se sert pour mettre la réponse en cache. Si la réponse +du serveur amont omet cette information, dnsmasq ne cache pas la réponse. Cette +option permet de doner une valeur de durée de vie par défaut (en secondes) que +dnsmasq utilise pour mettre les réponses négatives dans son cache, même en +l'absence d'enregistrement SOA. +.TP +.B \-k, --keep-in-foreground +Ne pas aller en tâche de fond au lancement, mais en dehors de cela, fonctionner +normalement. Ce mode est prévu pour les cas où Dnsmasq est lancé par daemontools +ou launchd. +.TP +.B \-d, --no-daemon +Mode debug (déverminage) : ne pas aller en tâche de fond, ne pas écrire de +fichier pid, ne pas changer d'identifiant utilisateur, générer un état complet +du cache lors de la réception d'un signal SIGUSR1, envoyer les logs sur la +sortie standard d'erreur ("stderr") de même que dans le syslog, ne pas créer de +processus fils pour traiter les requêtes TCP. +.TP +.B \-q, --log-queries +Enregistrer les résultats des requêtes DNS traitées par Dnsmasq dans un fichier +de traces ("logs"). Active la génération d'un état complet du cache lors de la +réception d'un signal SIGUSR1. +.TP +.B \-8, --log-facility=<facility> +Définit la "facility" dans laquelle Dnsmasq enverra ses entrées syslog, par +défaut DAEMON ou LOCAL0 si le mode debug est activé. Si la "facility" contient +au moins un caractère "/", alors Dnsmasq considère qu'il s'agit d'un fichier et +enverra les logs dans le fichier correspondant à la place du syslog. (Les +erreurs lors de la lecture de la configuration vont toujours vers le syslog, +mais tous les messages postérieures à un démarrage réussi seront exclusivement +envoyés vers le fichier de logs). Lorsque Dnsmasq est configuré pour envoyer +ses traces vers un fichier, la réception d'un signal SIGUSR2 entraine la +fermeture et réouverture du fichier. Cela permet la rotation de fichiers de +traces sans nécessiter l'arrêt de Dnsmasq. +.TP +.B --log-async[=<lignes>] +Permet l'envoi de traces de manière asynchrone, et de manière optionnelle, le +nombre de lignes devant être mises dans la file d'attente par Dnsmasq lorsque +l'écriture vers le syslog est lente. +Dnsmasq peut envoyer ses logs de manière asynchrone : cela lui permet de +continuer à fonctionner sans être bloqué par le syslog, et permet à syslog +d'utiliser Dnsmasq pour les résolutions DNS sans risque d'interblocage. +Si la file d'attente devient pleine, Dnsmasq loggera le dépassement de file et +le nombre de messages perdus. La longueur par défaut de la file d'attente est de +5 et une valeur saine sera comprise entre 5 et 25, avec une limite maximum +imposée de 100. +.TP +.B \-x, --pid-file=<chemin> +Spécifie un fichier dans lequel stocker le numéro de processus (pid). La valeur +par défaut est /var/run/dnsmasq.pid. +.TP +.B \-u, --user=<nom d'utilisateur> +Spécifie l'identité (nom d'utilisateur) prise par Dnsmasq après le démarrage. +Dnsmasq doit normalement être démarré en temps que root ("super-utilisateur"), +mais abandonne ses privilèges après le démarrage en changeant d'identité. +Normalement cet utilisateur est l'utilisateur nobody ("personne"), mais il est +possible d'en définir un autre par le biais de ce paramètre. +.TP +.B \-g, --group=<nom de groupe> +Spécifie le groupe sous lequel Dnsmasq s'exécute. Par défaut, il s'agit du +groupe "dip", afin de faciliter l'accès au fichier /etc/ppp/resolv.conf qui +n'est en général pas en lecture par tout le monde. +.TP +.B \-v, --version +Imprime le numéro de version. +.TP +.B \-p, --port=<port> +Ecoute sur le port numéro <port> au lieu du port DNS standard (53). Paramétrer +cette valeur à zéro désactive complètement la fonction DNS pour ne laisser actif +que le DHCP ou le TFTP. +.TP +.B \-P, --edns-packet-max=<taille> +Spécifie la taille maximum de paquet UDP EDNS.0 supporté par le relai DNS. Le +défaut est de 1280, qui est la valeur maximale +recommandée pour ethernet dans la RFC2671. +.TP +.B \-Q, --query-port=<numéro de port> +Envoie et écoute les requêtes DNS sortantes depuis le port UDP spécifié par +<numéro de port>, et non sur un port aléatoire. NOTE : Cette option rends +dnsmasq moins sûr contre les attaques par usurpation DNS ("DNS spoofing"), mais +cela peut permettre d'utiliser moins de ressources et d'être plus rapide. Donner +une valeur de zéro à cette option restaure le comportement par défaut présent dans +les versions de dnsmasq inférieures à 2.43 qui consiste à n'allouer qu'un seul port +alloué par le système d'exploitation. +.TP +.B --min-port=<port> +Ne pas utiliser de port dont le numéro est inférieur à la valeur donnée en paramètre +pour les requêtes DNS sortantes. Dnsmasq choisis un port source aléatoire pour les +requêtes sortantes : lorsque cette option est fournie, les ports utilisés seront toujours +au dessus de la valeur spécifiée. Utile pour des systèmes derrière des dispositifs +garde-barrières ("firewalls"). +.TP +.B \-i, --interface=<nom d'interface> +N'écouter que sur l'interface réseau spécifiée. Dnsmasq aujoute automatiquement +l'interface locale ("loopback") à la liste des interfaces lorsque l'option +.B --interface +est utilisée. +Si aucune option +.B --interface +ou +.B --listen-address +n'est donnée, Dnsmasq écoutera sur toutes les interfaces disponibles sauf +celle(s) spécifiée(s) par l'option +.B --except-interface. +Les alias d'interfaces IP (e-g "eth1:0") ne peuvent être utilisés ni avec +.B --interface +ni +.B \--except-interface. +Utiliser l'option +.B --listen-address +à la place. +.TP +.B \-I, --except-interface=<interface name> +Ne pas écouter sur l'interface spécifiée. Notez que l'ordre dans lesquelles les +options +.B \--listen-address +, +.B --interface +et +.B --except-interface +sont fournies n'importe pas, et que l'option +.B --except-interface +l'emporte toujours sur les autres. +.TP +.B \-2, --no-dhcp-interface=<nom d'interface> +Ne pas fournir de service DHCP sur l'interface spécifiée, mais fournir tout de +même le service DNS. +.TP +.B \-a, --listen-address=<adresse IP> +Ecouter sur la ou les adresse(s) IP spécifiée(s). Les options +.B \--interface +et +.B \--listen-address +peuvent-être spécifiées simultanément, auquel cas un jeu d'interfaces et +d'adresses seront utilisées. Notez que si +aucune option +.B \--interface +n'est donnée alors qu'une option +.B \--listen-address +l'est, Dnsmasq n'écoutera pas automatiquement sur l'interface locale +("loopback"). Pour activer l'écoute sur l'interface locale, il est alors +nécessaire de fournir explicitement son adresse IP, 127.0.0.1 via l'option +.B \--listen-address. +.TP +.B \-z, --bind-interfaces +Sur les systèmes qui le supporte, Dnsmasq s'associe avec l'interface joker +("wildcard"), même lorsqu'il ne doit écouter que sur certaines interfaces. Par +la suite, il rejette les requêtes auxquelles il ne doit pas répondre. Cette +situation présente l'avantage de fonctionner même lorsque les interfaces vont +et viennent ou changent d'adresses. L'option +.B --bind-interfaces +force Dnsmasq à ne réellement s'associer qu'avec les interfaces sur lesquelles +il doit écouter. L'un des seuls cas où cette option est utile est celui où un +autre serveur de nom (ou une autre instance de Dnsmasq) tourne sur la même +machine. Utiliser cette option permet également d'avoir plusieurs instances de +Dnsmasq fournissant un service DHCP sur la même machine. +.TP +.B \-y, --localise-queries +Retourne des réponses aux requêtes DNS dépendantes de l'interface sur laquelle +la requête a été reçue, à partir du fichier /etc/hosts. Si un nom dans +/etc/hosts a plus d'une adresse associée avec lui, et qu'une des adresses au +moins est dans le même sous-réseau que l'interface sur laquelle la requête a été +reçue, alors ne retourne que la(les) adresse(s) du sous-réseau considéré. Cela +permet d'avoir dans /etc/hosts un serveur avec de multiples adresses, une pour +chacune de ses interfaces, et de fournir aux hôtes l'adresse correcte (basée sur +le réseau auquel ils sont attachés). Cette possibilité est actuellement limitée +à IPv4. +.TP +.B \-b, --bogus-priv +Fausse résolution inverse pour les réseaux privés. Toutes les requêtes DNS +inverses pour des adresses IP privées (ie 192.168.x.x, etc...) qui ne sont pas +trouvées dans /etc/hosts ou dans le fichier de baux DHCP se voient retournées +une réponse "pas de tel domaine" ("no such domain") au lieu d'être transmises +aux serveurs de nom amont ("upstream server"). +.TP +.B \-V, --alias=[<ancienne IP>]|[<IP de début>-<IP de fin>],<nouvelle IP>[,<masque>] +Modifie les adresses IPv4 retournées par les serveurs de nom amont; +<ancienne IP> est remplacée par <nouvelle IP>. Si le <masque> optionnel est +fourni, alors toute adresse correspondant à l'adresse <ancienne IP>/<masque> +sera réécrite. Ainsi par exemple +.B --alias=1.2.3.0,6.7.8.0,255.255.255.0 +modifiera 1.2.3.56 en 6.7.8.56 et 1.2.3.67 en 6.7.8.67. +Cette fonctionnalité correspond à ce que les routeurs Cisco PIX appellent +"bidouillage DNS" ("DNS doctoring"). Si l'ancienne IP est donnée sous la forme +d'une gamme d'adresses, alors seules les adresses dans cette gamme seront +réecrites, et non le sous-réseau dans son ensemble. Ainsi, +.B --alias=192.168.0.10-192.168.0.40,10.0.0.0,255.255.255.0 +fait correspondre 192.168.0.10->192.168.0.40 à 10.0.0.10->10.0.0.40 +.TP +.B \-B, --bogus-nxdomain=<adresse IP> +Transforme les réponses contenant l'adresse IP fournie en réponses "pas de tel +domaine" ("no such domain"). Ceci a pour but de neutraliser la modification +sournoise mise en place par Verisign en septembre 2003, lorsqu'ils ont commencé +à retourner l'adresse d'un serveur web publicitaire en réponse aux requêtes pour +les noms de domaines non enregistrés, au lieu de la réponse correcte "NXDOMAIN". +Cette option demande à Dnsmasq de retourner la réponse correcte lorsqu'il +constate ce comportement. L'adresse retournée par Verisign en septembre 2003 +est 64.94.110.11. +.TP +.B \-f, --filterwin2k +Les dernières versions de windows font des requêtes DNS périodiques auxquelles +non seulement les serveurs DNS publics ne peuvent donner de réponse, mais qui, +de surcroît, peuvent poser des problèmes en déclenchant des connexions +intempestives pour des liens réseaux avec des connexions "à la demande". Fournir +cette option active le filtrage des requêtes de ce type. Les requêtes bloquées +sont les requêtes pour les entrées de type SOA ou SRV, ainsi que les requêtes de +type ANY avec des noms possédant des caractères sous-lignés (requêtes pour des +serveurs LDAP). +.TP +.B \-r, --resolv-file=<fichier> +Lis les adresses des serveurs de nom amont dans le fichier de nom <fichier>, +au lieu du fichier /etc/resolv.conf. Pour le format de ce fichier, voir dans le +manuel pour +.BR resolv.conf (5) +les entrées correspondant aux serveurs de noms (nameserver). Dnsmasq peut lire +plusieurs fichiers de type resolv.conf, le premier fichier spécifié remplace le +fichier par défaut, le contenu des suivants est rajouté dans la liste des +fichiers à consulter. Seul le fichier ayant la dernière date de modification +sera chargé en mémoire. +.TP +.B \-R, --no-resolv +Ne pas lire le contenu du fichier /etc/resolv.conf. N'obtenir l'adresse des +serveurs de nom amont que depuis la ligne de commande ou le fichier de +configuration de Dnsmasq. +.TP +.B \-1, --enable-dbus +Autoriser la mise à jour de la configuration de Dnsmasq par le biais d'appel de +méthodes DBus. Il est possible par ce biais de mettre à jour l'adresse de +serveurs DNS amont (et les domaines correspondants) et de vider le cache. Cette +option nécessite que Dnsmasq soit compilé avec le support DBus. +.TP +.B \-o, --strict-order +Par défaut, Dnsmasq envoie les requêtes à n'importe lequel des serveurs amonts +dont il a connaissance tout en essayant de favoriser les serveurs qu'il sait +fonctionner. Cette option force Dnsmasq à essayer d'interroger, pour chaque +requête, les serveurs DNS dans leur ordre d'apparition dans le fichier +/etc/resolv.conf. +.TP +.B --all-servers +Par défaut, lorsque dnsmasq a plus d'un serveur amont disponible, il n'envoie +les requêtes qu'à un seul serveur. Spécifier cette option force dnsmasq à +effectuer ses requêtes à tous les serveurs disponibles. Le résultat renvoyé +au client sera celui fournit par le premier serveur ayant répondu. +.TP +.B --stop-dns-rebind +Rejete (et enregistre dans le journal d'activité) les adresses dans la gamme +d'adresses IP privée (au sens RFC1918) qui pourraient être renvoyées par les +serveurs amonts suite à une résolution de nom. Cela bloque les attaques cherchant +à détourner de leur usage les logiciels de navigation web ('browser') en s'en +servant pour découvrir les machines situées sur le réseau local. +.TP +.B \-n, --no-poll +Ne pas vérifier régulièrement si le fichier /etc/resolv.conf a été modifié. +.TP +.B --clear-on-reload +Lorsque le fichier /etc/resolv.conf est relu, vider le cache DNS. +Cela est utile si les nouveaux serveurs sont susceptibles d'avoir des données +différentes de celles stockées dans le cache. +.TP +.B \-D, --domain-needed +Indique à Dnsmasq de ne jamais transmettre en amont de requêtes pour des noms +simples, ne comprenant donc ni points ni nom de domaine. Si un nom n'est pas +dans /etc/hosts ou dans la liste des baux DHCP, alors une réponse de type +"non trouvé" est renvoyée. +.TP +.B \-S, --local, --server=[/[<domaine>]/[domaine/]][<Adresse IP>[#<port>][@<Adresse IP source>|<interface>[#<port>]]] +Spécifie directement l'adresse IP d'un serveur de nom amont. Cette option ne +supprime pas la lecture du fichier /etc/resolv.conf : utiliser pour cela +l'option +.B -R . +Si un ou plusieurs nom(s) de domaine(s) optionnel(s) sont fournis, ce +serveur sera uniquement utilisé uniquement pour ce(s) domaine(s), et toute +requête concernant ce(s) domaine(s) sera adressée uniquement à ce serveur. +Cette option est destinée aux serveurs de nom privés : si vous avez un serveur +de nom sur votre réseau ayant pour adresse IP 192.168.1.1 et effectuant la +résolution des noms de la forme xxx.internal.thekelleys.org.uk, alors +.B -S /internal.thekelleys.org.uk/192.168.1.1 +enverra toutes les requêtes pour les machines internes vers ce serveur de nom, +alors que toutes les autres requêtes seront adressées aux serveurs indiqués dans +le fichier /etc/resolv.conf. Une spécification de nom de domaine vide, +.B // +possède le sens particulier de "pour les noms non qualifiés uniquement", +c'est-à -dire les noms ne possédant pas de points. Un port non standard peut être +rajouté à la suite des adresses IP en utilisant le caractère #. Plus d'une +option +.B -S +est autorisée, en répétant les domaines et adresses IP comme requis. + +Il est également permis de donner une option +.B -S +avec un nom de domaine mais sans +adresse IP; Cela informe Dnsmasq que le domaine est local et qu'il doit répondre +aux requêtes le concernant depuis les entrées contenues dans le fichier +/etc/hosts ou les baux DHCP, et ne doit en aucun cas transmettre les requêtes +aux serveurs amonts. +.B local +est synonyme de +.B server +("serveur") afin de rendre plus claire l'utilisation de cette option pour cet +usage particulier. + +La chaîne de caractères optionnelle suivant le caractère @ permet de définir +la source que Dnsmasq doit utiliser pour les réponses à ce +serveur de nom. Il doit s'agir d'une des adresses IP appartenant à la machine sur +laquelle tourne Dnsmasq ou sinon la ligne sera ignorée et une erreur sera +consignée dans le journal des événements, ou alors d'un nom d'interface. Si un nom +d'interface est donné, alors les requêtes vers le serveur de nom seront envoyées +depuis cette interface; si une adresse ip est donnée, alors l'adresse source de +la requête sera l'adresse en question. L'option query-port est ignorée pour tous +les serveurs ayant une adresse source spécifiée, mais il est possible de la donner +directement dans la spécification de l'adresse source. Forcer les requêtes à être +émises depuis une interface spécifique n'est pas possible sur toutes les plateformes +supportées par dnsmasq. +.TP +.B \-A, --address=/<domaine>/[domaine/]<adresse IP> +Spécifie une adresse IP à retourner pour toute requête pour les domaines fournis +en option. Les requêtes pour ce(s) domaine(s) ne sont jamais transmises aux +serveurs amonts et reçoivent comme réponse l'adresse IP spécifiée qui peut être +une adresse IPv4 ou IPv6. Pour donner à la fois une adresse IPv4 et une adresse +IPv6 pour un domaine, utiliser plusieurs options +.B -A. +Il faut noter que le +contenu du fichier /etc/hosts et de celui des baux DHCP supplante ceci pour des +noms individuels. Une utilisation courante de cette option est de rediriger la +totalité du domaine doubleclick.net vers un serveur web local afin d'éviter les +bannières publicitaires. La spécification de domaine fonctionne de la même façon +que +.B --server, +avec la caractéristique supplémentaire que +.B /#/ +coïncide avec tout domaine. Ainsi, +.B --address=/#/1.2.3.4 +retournera 1.2.3.4 pour toute requête +n'ayant de réponse ni dans /etc/hosts, ni dans les baux DHCP, et n'étant pas +transmise à un serveur spécifique par le biais d'une directive +.B --server. +.TP +.B \-m, --mx-host=<nom de l'hôte>[[,<nom du MX>],<préference>] +Spécifie un enregistrement de type MX pour <nom de l'hôte> retournant le nom +donné dans <nom du MX> (s'il est présent), ou sinon le nom spécifié dans +l'option +.B --mx-target +si elle est présente. Sinon retourne le nom de la machine +sur laquelle Dnsmasq tourne. La valeur par défaut (spécifiée dans l'option +.B --mx-target +) est utile dans un réseau local pour rediriger les courriers +électroniques vers un serveur central. La valeur de préférence est optionnelle +et vaut par défaut 1 si elle n'est pas spécifiée. Plus d'une entrée MX peut être +fournie pour un hôte donné. +.TP +.B \-t, --mx-target=<nom d'hôte> +Spécifie la réponse par défaut fournie par Dnsmasq pour les requêtes sur des +enregistrements de type MX. Voir +.B --mx-host. +Si +.B --mx-target +est donné mais pas de +.B --mx-host, +alors Dnsmasq retourne comme réponse un enregistrement MX +contenant le nom d'hôte spécifié dans l'option +.B --mx-target +pour toute requête +concernant le MX de la machine sur laquelle tourne Dnsmasq. +.TP +.B \-e, --selfmx +Définit, pour toutes les machines locales, un MX correspondant à l'hôte +considéré. Les machines locales sont celles définies dans le fichier /etc/hosts +ou dans un bail DHCP. +.TP +.B \-L, --localmx +Définit, pour toutes les machines locales, un enregistrement MX pointant sur +l'hôte spécifié par mx-target (ou la machine sur laquelle Dnsmasq tourne). Les +machines locales sont celles définies dans le fichier /etc/hosts ou dans un bail +DHCP. +.TP +.B \-W --srv-host=<_service>.<_protocole>.[<domaine>],[<cible>[,<port>[,<priorité>[,<poids>]]]] +Spécifie un enregistrement DNS de type SRV. Voir la RFC2782 pour plus de +détails. Si le champs <domaine> n'est pas fourni, prends par défaut la valeur +fournie dans l'option +.B --domain. +La valeur par défaut pour le domaine est vide et le port par défaut est 1, alors +que les poids et priorités par défaut sont 0. Attention lorsque vous transposez +des valeurs issues d'une configuration BIND : les ports, poids et priorités sont +dans un ordre différents. Pour un service/domaine donné, plus d'un +enregistrement SRV est autorisé et tous les enregistrements qui coïncident sont +retournés dans la réponse. +.TP +.B \-Y, --txt-record=<nom>[[,<texte>],<texte>] +Définit un enregistrement DNS de type TXT. La valeur de l'enregistrement TXT est +un ensemble de chaînes de caractères, donc un nombre variable de chaînes de +caractères peuvent être spécifiées, séparées par des virgules. +.TP +.B --ptr-record=<nom>[,<cible>] +Définit un enregistrement DNS de type PTR. +.TP +.B --naptr-record=<nom>,<ordre>,<préférence>,<drapeaux>,<service>,<expr. régulière>[,<remplacement>] +Retourne un enregistrement de type NAPTR, tel que spécifié dans le RFC3403. +.TP +.B --cname=<cname>,<cible> +Retourne un enregistrement de type CNAME qui indique que <cname> est en +réalité <cible>. Il existe des contraintes significatives sur la valeur +de cible; il doit s'agir d'un nom DNS qui est connu de dnsmasq via /etc/hosts +(ou un fichier hôtes additionnel) ou via DHCP. Si une cible ne satisfait +pas ces critères, le CNAME est ignoré. Le CNAME doit être unique, mais +il est autorisé d'avoir plus d'un CNAME pointant vers la même cible. +.TP +.B --interface-name=<nom>,<interface> +Définit un entregistrement DNS associant le nom avec l'adresse primaire sur +l'interface donnée en argument. Cette option spécifie un enregistrement de type +A pour le nom donné en argument de la même façon que s'il était défini par une +ligne de /etc/hosts, sauf que l'adresse n'est pas constante mais dépendante de +l'interface définie. Si l'interface est inactive, non existante ou non +configurée, une réponse vide est fournie. Un enregistrement inverse (PTR) est +également créé par cette option, associant l'adresse de l'interface avec le nom. +Plus d'un nom peut être associé à une interface donnée en répétant cette option +plusieurs fois; dans ce cas, l'enregistrement inverse pointe vers le nom fourni +dans la première instance de cette option. +.TP +.B \-c, --cache-size=<taille> +Définit la taille du cache de Dnsmasq. La valeur par défaut est de 150 noms. +Définir une valeur de zéro désactive le cache. +.TP +.B \-N, --no-negcache +Désactive le "cache négatif". Le "cache négatif" permet à Dnsmasq de se souvenir +des réponses de type "no such domain" fournies par les serveurs DNS en amont et +de fournir les réponses sans avoir à re-transmettre les requêtes aux serveurs +amont. +.TP +.B \-0, --dns-forward-max=<nombre de requêtes> +Définit le nombre maximum de requêtes DNS simultanées. La valeur par défaut est +150, ce qui devrait être suffisant dans la majorité des configurations. La seule +situation identifiée dans laquelle cette valeur nécessite d'être augmentée est +lorsqu'un serveur web a la résolution de nom activée pour l'enregistrement de +son journal des requêtes, ce qui peut générer un nombre important de requêtes +simultanées. +.TP +.B \-F, --dhcp-range=[[net:]identifiant de réseau,]<adresse de début>,<adresse de fin>[[,<masque de réseau>],<broadcast>][,<durée de bail>] +Active le serveur DHCP. Les adresses seront données dans la plage comprise entre +<adresse de début> et <adresse de fin> et à partir des adresses définies +statiquement dans l'option +.B dhcp-host. +Si une durée de bail est donnée, alors les baux seront donnés pour cette +durée. La durée de bail est donnée en secondes, en minutes (exemple : 45m), +en heures (exemple : 1h) ou être la chaine de caractère "infinite" pour une +durée indéterminée. Si aucune valeur n'est donnée, une durée de bail par défaut +de une heure est appliquée. La valeur minimum pour un bail DHCP est de 2 +minutes. +Cette option peut être répétée, avec différentes adresses, +pour activer le service DHCP sur plus d'un réseau. Pour des réseaux directement +connectés (c'est-à -dire des réseaux dans lesquels la machine sur laquelle tourne +Dnsmasq possède une interface), le masque de réseau est optionnel. Il est par +contre requis pour les réseaux pour lesquels le service DHCP se fait via un +relais DHCP ("relay agent"). L'adresse de broadcast est toujours optionnelle. + +Il est toujours possible d'avoir plus d'une plage DHCP pour un même +sous-réseau. + +L'identifiant de réseau optionnel est un label alphanumérique qui permet de +marquer ce réseau afin de fournir des options DHCP spécifiques à chaque réseau. +Lorsque préfixé par 'net:', la signification change est au lieu de définir un +label, il définit le label pour laquelle la règle s'applique. Un seul label peut- +être défini mais plusieurs labels peuvent coïncider. + +L'adresse de fin peut être remplacée par le mot-clef +.B static +("statique") qui indique à Dnsmasq d'activer le service DHCP pour le réseau +spécifié, mais de ne pas activer l'allocation dynamique d'adresses IP : Seuls +les hôtes possédant des adresses IP statiques fournies via +.B dhcp-host +ou présentes dans le fichier /etc/ethers seront alors servis par le DHCP. + +L'adresse de fin peut-être remplacée par le mot-clef +.B proxy +, auquel cas Dnsmasq fournira un service de DHCP proxy pour le sous-réseau +spécifié. (voir +.B pxe-prompt +et +.B pxe-service +pour plus de détails). +.TP +.B \-G, --dhcp-host=[<adresse matérielle>][,id:<identifiant client>|*][,net:<identifiant de réseau>][,<adresse IP>][,<nom d'hôte>][,<durée de bail>][,ignore] +Spécifie les paramètres DHCP relatifs à un hôte. Cela permet à une machine +possédant une adresse matérielle spécifique de se voir toujours allouée les +mêmes nom d'hôte, adresse IP et durée de bail. Un nom d'hôte spécifié comme +ceci remplace le nom fourni par le client DHCP de la machine hôte. Il est +également possible d'omettre l'adresse matérielle et d'inclure le nom d'hôte, +auquel cas l'adresse IP et la durée de bail s'appliqueront à toute machine se +réclamant de ce nom. Par exemple +.B --dhcp-host=00:20:e0:3b:13:af,wap,infinite +spécifie à Dnsmasq de fournir à la machine d'adresse matérielle +00:20:e0:3b:13:af le nom, et un bail de durée indéterminée. + +.B --dhcp-host=lap,192.168.0.199 +spécifie à Dnsmasq d'allouer toujours à la machine portant le nom lap +l'adresse IP 92.168.0.199. Les adresses allouées comme ceci ne sont pas +contraintes dans une plage d'adresse spécifiée par une option --dhcp-range, mais +elles doivent être sur un réseau servi par le serveur DHCP. Il est possible +d'utiliser des identifiants clients plutôt que des adresses matérielles pour +identifier les hôtes, en préfixant par ceux-ci par 'id:'. Ainsi, +.B --dhcp-host=id:01:02:03:04,..... +réfère à l'hôte d'identifiant 01:02:03:04. Il est également possible de +spécifier l'identifiant client sous la forme d'une chaîne de caractères, comme +ceci : +.B --dhcp-host=id:identifiantclientsousformedechaine,..... + +L'option spéciale id:* signifie : "ignorer tout identifiant client et n'utiliser +que l'adresse matérielle". Cela est utile lorsqu'un client présente un +identifiant client mais pas les autres. + +Si un nom apparaît dans /etc/hosts, l'adresse associée peut être allouée à un +bail DHCP mais seulement si une option +.B --dhcp-host +spécifiant le nom existe par ailleurs. Le mot clef "ignore" ("ignorer") indique +à Dnsmasq de ne jamais fournir de bail DHCP à une machine. La machine peut être +spécifiée par son adresse matérielle, son identifiant client ou son nom d'hôte. +Par exemple +.B --dhcp-host=00:20:e0:3b:13:af,ignore +Cela est utile lorsqu'un autre serveur DHCP sur le réseau doit être utilisé par +certaines machines. + +Le paramètre net:<identifiant réseau> permet de définir un +identifiant de réseau lorsque l'option dhcp-host est utilisée. Cela peut servir +à sélectionner des options DHCP juste pour cet hôte. Lorsqu'une machine coïncide +avec une directive dhcp-host (ou une impliquée par /etc/ethers), alors +l'identifiant réseau réservé "known" ("connu") est associé. Cela permet à +Dnsmasq d'être configuré pour ignorer les requêtes issus de machines inconnue + par le biais de +.B --dhcp-ignore=#known. + +Les adresses ethernet (mais pas les identifiants clients) peuvent être définies +avec des octets joker, ainsi par exemple +.B --dhcp-host=00:20:e0:3b:13:*,ignore +demande à Dnsmasq d'ignorer une gamme d'adresses matérielles. Il est à noter +que "*" doit-être précédé d'un caractère d'échappement ou mis entre guillemets +lorsque spécifié en option de ligne de commande, mais pas dans le fichier de +configuration. + +Les adresses matérielles coïncident en principe avec n'importe +quel type de réseau (ARP), mais il est possible de les limiter à un seul type +ARP en les précédant du type ARP (en Hexadécimal) et de "-". Ainsi +.B --dhcp-host=06-00:20:e0:3b:13:af,1.2.3.4 +coïncidera uniquement avec des adresses matérielles Token-Ring, puisque le type +ARP pour une adresse Token-Ring est 6. + +Un cas spécial correspond à l'inclusion d'une ou plusieurs adresses +matérielles, c-à -d : +.B --dhcp-host=11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.2. +Cela permet à une adresse IP d'être associé à plusieurs adresses +matérielles, et donne à dnsmasq la permission d'abandonner un bail DHCP +attribué à l'une de ces adresses lorsqu'une autre adresse dans la liste +demande un bail. Ceci est une opération dangereuse qui ne fonctionnera +de manière fiable que si une adresse matérielle est active à un moment +donné et dnsmasq n'a aucun moyen de s'assurer de cela. Cela est utile, +par exemple, pour allouer une adresse IP stable à un laptop qui +aurait à la fois une connexion filaire et sans-fil. +.TP +.B --dhcp-hostsfile=<fichier> +Lis les informations d'hôtes DHCP dans le fichier spécifié. Le fichier contient +des informations à raison d'un hôte par ligne. Le format d'une ligne est la même +que le texte fourni à la droite sur caractère "=" dans l'option +.B --dhcp-host. +L'avantage de stocker les informations sur les hôtes DHCP dans ce fichier est +que celles-ci peuvent être modifiées sans recharger Dnsmasq; le fichier sera +relu lorsque Dnsmasq reçoit un signal SIGHUP. +.TP +.B --dhcp-optsfile=<fichier> +Lis les informations relatives aux options DHCP dans le fichier spécifié. +L'intérêt d'utiliser cette option est le même que pour --dhcp-hostsfile : le +fichier spécifié sera rechargé à la réception par dnsmasq d'un signal SIGHUP. +Notez qu'il est possible d'encoder l'information via +.B --dhcp-boot +en utilisant les noms optionnels bootfile-name, server-ip-address et +tftp-server. Ceci permet d'inclure ces options dans un fichier "dhcp-optsfile".DNSMASQ_SUPPLIED_HOSTNAME +.TP +.B \-Z, --read-ethers +Lis les informations d'hôtes DHCP dans le fichier /etc/ethers. Le format de +/etc/ethers est une adresse matérielle suivie, soit par un nom d'hôte, soit par +une adresse IP sous la forme de 4 chiffres séparés par des points. Lorsque lu +par Dnsmasq, ces lignes ont exactement le même effet que l'option +.B --dhcp-host +contenant les mêmes informations. /etc/ethers est relu à la réception d'un +signal SIGHUP par Dnsmasq. +.TP +.B \-O, --dhcp-option=[<identifiant_de_réseau>,[<identifiant_de_réseau>,]][encap:<option>,][vendor:[<classe_vendeur>],][<option>|option:<nom d'option>],[<valeur>[,<valeur>]] +Spécifie des options différentes ou supplémentaires pour des clients DHCP. Par +défaut, Dnsmasq envoie un ensemble standard d'options aux clients DHCP : le +masque de réseau et l'adresse de broadcast sont les mêmes que pour l'hôte +sur lequel tourne Dnsmasq, et le serveur DNS ainsi que la route par défaut +prennent comme valeur l'adresse de la machine sur laquelle tourne Dnsmasq. Si +une option de nom de domaine a été définie, son contenu est transmis. Cette +option de configuration permet de changer toutes ces valeurs par défaut, ou de +spécifier d'autres options. L'option DHCP à transmettre peut être fournie sous +forme d'un nombre décimal ou sous la forme "option:<nom d'option>". Les nombres +correspondants aux options sont définis dans la RFC2132 et suivants. Les noms +d'options connus par Dnsmasq peuvent être obtenus via "Dnsmasq --help dhcp". +Par exemple, pour définir la route par défaut à 192.168.4.4, il est possible de +faire +.B --dhcp-option=3,192.168.4.4 +ou +.B --dhcp-option = option:router, 192.168.4.4 +ou encore, pour positionner l'adresse du serveur de temps à 192.168.0.4, on peut +faire +.B --dhcp-option = 42,192.168.0.4 +ou +.B --dhcp-option = option:ntp-server, 192.168.0.4 +L'adresse 0.0.0.0 prends ici le sens "d'adresse de la machine sur laquelle +tourne Dnsmasq". Les types de données autorisées sont des adresses IP sous la +forme de 4 chiffres séparés par des points, un nombre décimal, une liste de +caractères hexadécimaux séparés par des 2 points, ou une chaîne de caractères. +Si des identifiants de réseaux sont fournis, alors cette option n'est envoyée +qu'aux réseaux dont tous les identifiants coïncident. + +Un traitement spécial est effectué sur les chaînes de caractères fournies pour +l'option 119, conformément à la RFC 3397. Les chaînes de caractères ou les +adresses IP sous forme de 4 chiffres séparés par des points donnés en arguments +de l'option 120 sont traités conforméments à la RFC 3361. Les adresses IP sous +forme de 4 chiffres séparés par des points suivies par une barre montante "/", +puis une taille de masque sont encodés conforméments à la RFC 3442. + +Attention : aucun test n'étant fait pour vérifier que des données d'un type +adéquat sont envoyées pour un numéro d'option donné, il est tout à fait possible +de persuader Dnsmasq de générer des paquets DHCP illégaux par une utilisation +incorrecte de cette option. Lorsque la valeur est un nombre décimal, Dnsmasq +doit déterminer la taille des données. Cela est fait en examinant le numéro de +l'option et/ou la valeur, mais peut-être évité en rajoutant un suffixe d'une +lettre comme suit : +b = un octet, s = 2 octets, i = 4 octets. Cela sert essentiellement pour des +options encapsulées de classes de vendeurs (voir plus bas), pour lesquelles +Dnsmasq ne peut déterminer la taille de la valeur. Les données d'options +consistant uniquement de points et de décimaux sont interprétées par Dnsmasq +comme des adresses IP, et envoyées comme telles. Pour forcer l'envoi sous forme +de chaîne de caractère, il est nécessaire d'utiliser des guillemets doubles. Par +exemple, l'utilisation de l'option 66 pour fournir une adresse IP sous la forme +d'une chaîne de caractères comme nom de serveur TFTP, il est nécessaire de faire +comme suit : +.B --dhcp-option=66,"1.2.3.4" + +Les options encapsulées de classes de vendeurs peuvent-être aussi spécifiées en +utilisant +.B --dhcp-option +: par exemple +.B --dhcp-option=vendor:PXEClient,1,0.0.0.0 +envoie l'option encapsulée de classe de vendeur "mftp-address=0.0.0.0" à +n'importe quel client dont la classe de vendeur correspond à "PXEClient". La +correspondance pour les classes de vendeur s'effectue sur des sous-chaînes de +caractères (voir +.B --dhcp-vendorclass +pour plus de détails). Si une option de +classe de vendeur (numéro 60) est envoyée par Dnsmasq, alors cela est utilisé +pour sélectionner les options encapsulées, de préférence à toute option envoyée +par le client. Il est possible d'omettre complètement une classe de vendeur : +.B --dhcp-option=vendor:,1,0.0.0.0 +Dans ce cas l'option encapsulée est toujours envoyée. + +Les options peuvent-être encapsulées au sein d'autres options : +par exemple +.B --dhcp-option=encap:175, 190, "iscsi-client0" +enverra l'option 175, au sein de laquelle se trouve l'option 190. +Plusieurs options encapsulées avec le même numéro d'option seront correctement +combinées au sein d'une seule option encapsulée. Il n'est pas possible de +spécifier encap: et vendor: au sein d'une même option dhcp. + +L'adresse 0.0.0.0 n'est pas traitée de manière particulière lorsque fournie dans +une option encapsulée. +.TP +.B --dhcp-option-force=[<identifiant de réseau>,[<identifiant de réseau>,]][encap:<option>,][vendor:[<classe de vendeur>],]<option>,[<valeur>[,<valeur>]] +Cela fonctionne exactement de la même façon que +.B --dhcp-option +sauf que cette option sera toujours envoyée, même si le client ne la demande pas +dans la liste de paramêtres requis. Cela est parfois nécessaire, par exemple lors +de la fourniture d'options à PXELinux. +.TP +.B --dhcp-no-override +Désactive la réutilisation des champs DHCP nom de serveur et nom de +fichier comme espace supplémentaire pour les options. Si cela est +possible, dnsmasq déplace les informations sur le serveur de démarrage +et le nom de fichier (fournis par 'dhcp-boot') en dehors des champs +dédiés à cet usage dans les options DHCP. Cet espace supplémentaire est +alors disponible dans le paquet DHCP pour d'autres options, mais peut, dans +quelques rares cas, perturber des clients vieux ou défectueux. Cette +option force le comportement à l'utilisation des valeurs "simples et sûres" +afin d'éviter des problèmes dans de tels cas. +.TP +.B \-U, --dhcp-vendorclass=<identifiant de réseau>,<classe de vendeur> +Associe une chaîne de classe de vendeur à un indentifiant de réseau. La plupart +des clients DHCP fournissent une "classe de vendeur" ("vendor class") qui +représente, d'une certaine façon, le type d'hôte. Cette option associe des +classes de vendeur à des labels, de telle sorte que des options DHCP peuvent-être +fournie de manière sélective aux différentes classes d'hôtes. Par exemple, +.B dhcp-vendorclass=printers,Hewlett-Packard JetDirect +permet de n'allouer des options qu'aux imprimantes HP de la manière suivante : +.B --dhcp-option=printers,3,192.168.4.4 +La chaîne de caractères de la classe de vendeur founie en argument est cherchée +en temps que sous-chaîne de caractères au sein de la classe de vendeur fournie +par le client, de façon à permettre la recherche d'un sous-ensemble de la chaîne +de caractères ("fuzzy matching"). +.TP +.B \-j, --dhcp-userclass=<identifiant de réseau>,<classe utilisateur> +Associe une chaîne de classe d'utilisateur à un identifiant réseau (effectue la +recherche sur des sous-chaînes, comme pour les classes de vendeur). La plupart +des clients permettent de configurer une "classe d'utilisateur". Cette option +associe une classe d'utilisateur à un label, de telle manière qu'il soit +possible de fournir des options DHCP spécifiques à différentes classes d'hôtes. +Il est possible, par exemple, d'utiliser ceci pour définir un serveur +d'impression différent pour les hôtes de la classe "comptes" et ceux de la +classe "ingénierie". +.TP +.B \-4, --dhcp-mac=<identifiant de réseau>,<adresse MAC> +Associe une adresse matérielle (MAC) à un identifiant réseau. L'adresse +matérielle peut inclure des jokers. Par exemple +.B --dhcp-mac=3com,01:34:23:*:*:* +permet de définir le label "3com" pour n'importe quel hôte dont l'adresse +matérielle coïncide avec les critères définis. +.TP +.B --dhcp-circuitid=<identifiant de réseau>,<identifiant de circuit>, --dhcp-remoteid=<identifiant de réseau>,<identifiant distant> +Associe des options de relais DHCP issus de la RFC3046 à des identifiants de +réseau. Cette information peut-être fournie par des relais DHCP. L'identifiant +de circuit ou l'identifiant distant est normalement fourni sous la forme d'une +chaîne de valeurs hexadécimales séparées par des ":", mais il est également +possible qu'elle le soit sous la forme d'une simple chaîne de caractères. Si +l'identifiant de circuit ou d'agent correspond exactement à celui fourni par le +relais DHCP, alors l'identifiant de réseau est positionné. +.TP +.B --dhcp-subscrid=<identifiant de réseau>,<identifiant d'abonné> +Associe des options de relais DHCP issues de la RFC3993 à des identifiants de +réseau. +.TP +.B --dhcp-match=<identifiant de réseau>,<numéro d'option>|option:<nom d'option>[,<valeur>] +Si aucune valeur n'est spécifiée, associe l'identifiant de réseau si le client +envoie une option DHCP avec le numéro ou le nom spécifié. Lorsqu'une valeur est +fournie, positionne le label seulement dans le cas où l'option est fournie et +correspond à la valeur. La valeur peut-être de la forme "01:ff:*:02", auquel +cas le début de l'option doit correspondre (en respectant les jokers). La +valeur peut aussi être de la même forme que dans +.B dhcp-option +, auquel cas l'option est traitée comme un tableau de valeur, et un des +éléments doit correspondre, ainsi + +--dhcp-match=efi-ia32,option:client-arch,6 + +spécifie le label "efi-ia32" si le numéro 6 apparaît dnas la liste +d'architectures envoyé par le client au sein de l'option 93. (se réferer +au RFC 4578 pour plus de détails). Si la valeur est un chaine de caractères, +celle-ci est recherchée (correspondance en temps que sous-chaîne). +.TP +.B \-J, --dhcp-ignore=<identifiant de réseau>[,<identifiant de réseau>] +Lorsque tous les identifiants de réseau fournis coïncident avec la liste +d'identifiants réseau dérivée des classes de réseau, hôte, vendeur et +utilisateur, ignorer l'hôte et ne pas donner de bail DHCP. +.TP +.B --dhcp-ignore-names[=<identifiant de réseau>[,<identifiant de réseau>]] +Lorsque tous les identifiant de réseau coïncident avec la liste d'identifiants +réseau dérivées des classes de réseau, hôte, vendeur et utilisateur, ignorer le +nom de machine fourni par l'hôte. Il est à noter que, à la différence de +l'option "dhcp-ignore", il est permis de ne pas fournir d'identifiant réseau. +Dans ce cas, les noms d'hôtes fournis par les clients DHCP seront toujours +ignorés, et les noms d'hôtes seront ajoutés au DNS en utilisant uniquement la +configuration dhcp-host de Dnsmasq, ainsi que le contenu des fichiers /etc/hosts +et /etc/ethers. +.TP +.B --dhcp-broadcast=<identifiant de réseau>[,<identifiant de réseau>] +Lorsque tous les identifiants de réseaux fournis correspondent à ceux +obtenus à partir des classes de réseau, d'hôte ou d'utilisateur, force +l'utilisation du broadcast pour communiquer avec l'hôte lorsque celui-ci n'est +pas configuré. La plupart des clients DHCP nécessitant une réponse par le biais +d'un broadcast activent une option dans leur requête, ce qui fait que cela +se fait automatiquement, mais ce n'est pas la cas de certains vieux clients BOOTP. +.TP +.B \-M, --dhcp-boot=[net:<identifiant de réseau>,]<nom de fichier>,[<nom de serveur>[,<adresse de serveur>]] +Spécifie les options BOOTP devant être retournées par le serveur DHCP. Le nom de +serveur ainsi que l'adresse sont optionnels : s'ils ne sont pas fournis, le nom +est laissé vide et l'adresse fournie est celle de la machine sur laquelle +s'exécute Dnsmasq. Si Dnsmasq founit un service TFTP (voir +.B --enable-tftp +), alors seul un nom de fichier est requis ici pour permettre un démarrage par +le réseau. +Si d'éventuels identifiants de réseau sont fournis, ils doivent coïncider avec +ceux du client pour que cet élement de configuration lui soit envoyé. Il est à +noter que les identifiants de réseau doivent-être préfixés par "net:". +.TP +.B --pxe-service=[net:<identifiant de réseau>,]<CSA>,<entrée de menu>,<nom de fichier>|<type de service de démarrage>[,<adresse de serveur>] +La plupart des ROMS de démarrage PXE ne permettent au système PXE que la simple +obtention d'une adresse IP, le téléchargement du fichier spécifié dans +.B dhcp-boot +et son exécution. Cependant, le système PXE est capable de fonctions bien plus +complexes pour peu que le serveur DHCP soit adapté. + +Ceci spécifie l'option de démarrage qui apparaitra dans un menu de démarrage +PXE. <CSA> est le type du système client. Seuls des types de services valides +apparaitront dans un menu. Les types connus sont x86PC, PC98, IA64_EFI, Alpha, +Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI et X86-64_EFI; +D'autres types peuvent-être spécifiés sous la forme d'une valeur entière. Le +paramètre après le texte correspondant à l'entrée dans le menu peut être un nom +de fichier, auquel cas Dnsmasq agit comme un serveur de démarrage et indique au +client PXE qu'il faut télécharger ce fichier via TFTP, soit depuis ce serveur +(l'option +.B enable-tftp +doit être spécifiée pour que cela marche), soit depuis un autre serveur TFTP +si une adresse de serveur est fournie. +Veuillez noter que le suffixe de "couche" (en principe ".0") est fourni par PXE +et ne doit pas être rajouté au nom de fichier. Si une valeur numérique entière +est fournir pour le type de démarrage, en remplacement du nom de fichier, le +client PXE devra chercher un service de démarrage de ce type sur le réseau. +Cette recherche peut être faite via multicast ou broadcast, ou directement +auprès d'un serveur si son adresse IP est fournie dans l'option. Un service de +démarrage de type 0 est spécial et provoquera une interruption du démarrage par +le réseau ainsi que la poursuite du démarrage sur un média local. +.TP +.B --pxe-prompt=[net:<identifiant de réseau>,]<invite>[,<délai>] +Cette option permet d'afficher une invite à la suite du démarrage PXE. Si un +délai est fourni, alors la première entrée du menu de démarrage sera +automatiquement exécutée après ce délai. Si le délai vaut 0, alors la première +entrée disponible sera exécutée immédiatement. Si +.B pxe-prompt +est omis, le système attendra un choix de l'utilisateur s'il existe plusieurs +entrées dans le menu, ou démarrera immédiatement dans le cas où il n'y a qu'une +seule entrée. Voir +.B pxe-service +pour plus de détails sur les entrées de menu. + +Dnsmasq peut servir de "proxy-DHCP" PXE, dans le cas où un autre serveur DHCP +sur le réseau est responsable de l'allocation des adresses IP, auquel cas +Dnsmasq se contente de fournir les informations données dans les options +.B pxe-prompt +et +.B pxe-service +pour permettre le démarrage par le réseau. Ce mode est activé en utilisant le +mot-clef +.B proxy +dans +.B dhcp-range. +.TP +.B \-X, --dhcp-lease-max=<nombre> +Limite Dnsmasq à un maximum de <nombre> baux DHCP. Le défaut est de 150. Cette +limite permet d'éviter des attaques de déni de service ("DoS") par des hôtes +créant des milliers de baux et utilisant beaucoup de mémoire dans le processus +Dnsmasq. +.TP +.B \-K, --dhcp-authoritative +Cette option doit être donnée lorsque Dnsmasq est le seul serveur DHCP sur le +réseau. Cela change le comportement par défaut qui est celui d'un strict respect +des RFC, afin que les requêtes DHCP pour des baux inconnus par des hôtes +inconnus ne soient pas ignorées. Cela permet à de nouveaux hôtes d'obtenir des +baux sans tenir compte de fastidieuses temporisations ("timeout"). Cela permet +également à Dnsmasq de reconstruire sa base de donnée contenant les baux sans +que les clients n'aient besoin de redemander un bail, si celle-ci est perdue. +.TP +.B --dhcp-alternate-port[=<port serveur>[,<port client>]] +Change les ports utilisés par défaut pour le DHCP. Si cette option est donnée +toute seule sans arguments, alors change les ports utilisés pour le DHCP +de 67 et 68 respectivement à 1067 et 1068. Si un seul argument est donné, ce +numéro est utilisé pour le port serveur et ce numéro plus 1 est utilisé pour le +port client. Enfin, en fournissant deux numéros de ports, il est possible de +spécifier arbitrairement 2 ports à la fois pour le serveur et pour le client DHCP. +.TP +.B \-3, --bootp-dynamic[=<identifiant de réseau>[,<identifiant de réseau>]] +Permet l'allocation dynamique d'adresses IP à des clients BOOTP. Utiliser cette +option avec précaution, une adresse allouée à un client BOOTP étant perpétuelle, +et de fait n'est plus disponibles pour d'autres hôtes. Si aucun argument n'est +donné, alors cette option permet une allocation dynamique dans tous les cas. Si +des arguments sont spécifiés, alors l'allocation ne se fait que lorsque tous +les identifiants coïncident. Il est possible de répeter cette option avec +plusieurs jeux d'arguments. +.TP +.B \-5, --no-ping +Par défaut, le serveur DHCP tente de s'assurer qu'une adresse n'est pas utilisée +avant de l'allouer à un hôte. Cela est fait en envoyant une requête ICMP de type +"echo request" (aussi connue sous le nom de "ping") à l'adresse en question. Si +le serveur obtient une réponse, alors l'adresse doit déjà être utilisée et une +autre est essayée. Cette option permet de supprimer cette vérification. A +utiliser avec précaution. +.TP +.B --log-dhcp +Traces additionnelles pour le service DHCP : enregistre toutes les options +envoyées aux clients DHCP et les identifiants de réseaux utilisés pour la +détermination de celles-ci. +.TP +.B \-l, --dhcp-leasefile=<chemin de fichier> +Utilise le fichier dont le chemin est fourni pour stocker les informations de +baux DHCP. +.TP +.B \-6 --dhcp-script=<chemin de fichier> +Lorsqu'un bail DHCP est créé, ou qu'un ancien est supprimé, le fichier dont le +chemin est spécifié est exécuté. Les arguments fournis à celui-ci sont soit +"add" ("ajouter"), "old" ("ancien") ou "del" ("supprimer"), suivi de l'adresse +MAC de l'hôte puis l'adresse IP et le nom d'hôte si celui-ci est +connu."add" signifie qu'un bail a été créé, "del" signifie qu'il a été supprimé, +"old" notifie que le bail existait au lancement de Dnsmasq, ou un changement +d'adresse MAC ou de nom d'hôte pour un bail existant (ou, dans le cas où +leasefile-ro est spécifié, un changement de durée de bail ou d'identifiant +d'hôte). Si l'adresse Mac est d'un type de réseau autre qu'ethernet, il est +nécessaire de la préceder du type de réseau, par exemple "06-01:23:45:67:89:ab" +pour du token ring. Le processus est exécuté en temps que super-utilisateur +(si Dnsmasq a été lancé en temps que "root"), même si Dnsmasq est configuré +pour changer son UID pour celle d'un utilisateur non-privilégié. +L'environnement est hérité de celui de l'invocation du processus Dnsmasq, et +si l'hôte fournit un identifiant de client, celui-ci est stocké dans la +variable d'environnement DNSMASQ_CLIENT_ID. Si un nom de domaine pleinement +qualifié (FQDN) est connu pour l'hôte, la part relative au domaine est stockée +dans DNSMASQ_DOMAIN. Si le client fournit une information de classe de vendeur, +de classe d'utilisateur ou un nom d'hôte, celles-ci sont positionnées dans les +variables DNSMASQ_VENDOR_CLASS et DNSMASQ_USER_CLASS0 à DNSMASQ_USER_CLASSn +et DNSMASQ_SUPPLIED_HOSTNAME respectivement, mais seulement pour les actions +"add" et "old" lorsqu'un hôte reprend un bail existant, ces variables n'étant +pas stockées dans la base de baux de Dnsmasq. Si Dnsmasq a été compilé avec +l'option HAVE_BROKEN_RTC ("horloge RTC défectueuse"), alors la durée du bail +(en secondes) est stockée dans la variable DNSMASQ_LEASE_LENGTH, sinon la date +d'expiration du bail est toujours stocké dans la variable d'environnement +DNSMASQ_LEASE_EXPIRES. Le nombre de secondes avant expiration est toujours +stocké dans DNSMASQ_TIME_REMAINING. Si un bail était associé à un nom d'hôte et +que celui-ci est supprimé, un évênement de type "old" est généré avec le +nouveau statut du bail, c-à -d sans nom d'hôte, et le nom initial est fourni +dans la variable d'environnement DNSMASQ_OLD_HOSTNAME. La variable +DNSMASQ_INTERFACE contient le nom de l'interface sur laquelle la requête est +arrivée; ceci n'est pas renseigné dans le cas des actions "old" ayant lieu +après un redémarrage de dnsmasq. La variable DNSMASQ_RELAY_ADDRESS est +renseignée si le client a utilisé un relai DHCP pour contacter Dnsmasq, si +l'adresse IP du relai est connue. +Tous les descripteurs de fichiers sont fermés, sauf stdin, stdout et stderr qui +sont ouverts sur /dev/null (sauf en mode déverminage). +Le script n'est pas lancé de manière concurrente : si un autre changement de +bail intervient, le script ne sera relancé que lorsque l'exécution actuelle sera +terminée. +Au démarrage de Dnsmasq, le script sera invoqué pour chacun des baux existants +dans le fichier des baux. Le script sera lancé avec l'action "del" pour les baux +expirés, et "old" pour les autres. <chemin de fichier> doit être un chemin +absolu (c'est-à -dire partant de la racine "/"), aucune recherche n'aura lieu +dans les répertoires de la variable d'environnement PATH. Lorsque Dnsmasq reçoit +un signal HUP, le script sera invoqué avec une action "old" pour tous les baux +existants. +.TP +.B --dhcp-scriptuser +Spécifie l'utilisateur sous lequel le script lease-change doit être exécuté. La +valeur par défaut correspond à l'utilisateur root mais peut-être changée par le +biais de cette option. +.TP +.B \-9, --leasefile-ro +Supprimer complètement l'usage du fichier servant de base de donnée pour les +baux DHCP. Le fichier ne sera ni créé, ni lu, ni écrit. Change la façon dont le +script de changement d'état de bail est lancé (si celui-ci est fourni par le +biais de l'option +.B --dhcp-script +), de sorte que la base de données de baux puisse +être complètement gérée par le script sur un stockage externe. En addition aux +actions décrites dans +.B --dhcp-script, +le script de changement d'état de bail est appellé une fois, au lancement de +Dnsmasq, avec pour seul argument "init". Lorsqu'appellé de la sorte, le script +doit fournir l'état de la base de baux, dans le format de fichier de baux de +Dnsmasq, sur sa sortie standard (stdout) et retourner un code de retour de 0. +Positionner cette option provoque également une invocation du script de +changement d'état de bail à chaque changement de l'identifiant de client, de +longueur de bail ou de date d'expiration. +.TP +.B --bridge-interface=<interface>,<alias>[,<alias>] +Traiter les requêtes DHCP arrivant sur n'importe laquelle des interfaces <alias> +comme si elles arrivaient de l'interface <interface>. Cette option est +nécessaire lors de l'utilisation de pont ethernet "ancien mode" sur plate-forme +BSD, puisque dans ce cas les paquets arrivent sur des interfaces "tap" n'ont +pas d'adresse IP. +.TP +.B \-s, --domain=<domaine>[,<gamme d'adresses>] +Spécifie le domaine du serveur DHCP. Le domaine peut être donné de manière +inconditionnelle (sans spécifier de gamme d'adresses IP) ou pour des gammes +d'adresses IP limitées. Cela a deux effets; tout d'abord, le +serveur DHCP retourne le domaine à tous les hôtes le demandant, deuxièmement, +cela spécifie le domaine valide pour les hôtes DHCP configurés. Le but de cela +est de contraindre les noms d'hôte afin qu'aucun hôte sur le LAN ne puisse +fournir via DHCP un nom tel que par exemple "microsoft.com" et capturer du +trafic de manière illégitime. Si aucun nom de domaine n'est spécifié, alors +les noms d'hôtes avec un nom de domaine (c-à -d un point dans le nom) seront +interdits et enregistrés dans le journal (logs). Si un suffixe est fourni, alors +les noms d'hôtes possédant un domaine sont autorisés, pour peu que le nom de +domaine coïncide avec le nom fourni. De plus, si un suffixe est fourni, alors +les noms d'hôtes ne possédant pas de nom de domain se voient rajouter le +suffixe fourni dans l'option +.B --domain. +Ainsi, sur mon réseau, je peux configurer +.B --domain=thekelleys.org.uk +et avoir une machine dont le nom DHCP serait "laptop". L'adresse IP de cette +machine sera disponible à la fois pour "laptop" et "laptop.thekelleys.org.uk". +Si la valeur fournie pour <domaine> est "#", alors le nom de domaine est +positionné à la première valeur de la directive "search" du fichier +/etc/resolv.conf (ou équivalent). La gamme d'adresses peut être de la forme +<adresse ip>,<adresse ip> ou <adresse ip>/<masque de réseau> voire une simple +<adresse ip>. Voir +.B --dhcp-fqdn +qui peut changer le comportement de dnsmasq relatif aux domaines. +.TP +.B --dhcp-fqdn +Dans le mode par défaut, dnsmasq insère les noms non-qualifiés des clients +DHCP dans le DNS. Pour cette raison, les noms doivent être uniques, même si +deux clients ayant le même nom sont dans deux domaines différents. Si un +deuxième client DHCP apparaît ayant le même nom qu'un client déjà existant, +ce nom est transféré au nouveau client. Si +.B --dhcp-fqdn +est spécifié, ce comportement change : les noms non qualifiés ne sont plus +rajoutés dans le DNS, seuls les noms qualifiés le sont. Deux clients DHCP +avec le même nom peuvent tous les deux garder le nom, pour peu que la partie +relative au domaine soit différente (c-à -d que les noms pleinements qualifiés +diffèrent). Pour d'assurer que tous les noms ont une partie domaine, il doit-y +avoir au moins un +.B --domain +sans gamme d'adresses de spécifié lorsque l'option +.B --dhcp-fqdn +est configurée. +.TP +.B --enable-tftp +Active la fonction serveur TFTP. Celui-ci est de manière délibérée limité aux +fonctions nécessaires au démarrage par le réseau ("net-boot") d'un client. Seul +un accès en lecture est possible; les extensions tsize et blksize sont supportées +(tsize est seulement supporté en mode octet). +.TP +.B --tftp-root=<répertoire> +Les fichiers à fournir dans les transferts TFTP seront cherchés en prenant le +répertoire fourni comme racine. Lorsque cela est fourni, les chemins TFTP +incluant ".." sont rejetés, afin d'éviter que les clients ne puissent sortir de +la racine spécifiée. Les chemins absolus (commençant par "/") sont autorisés, +mais ils doivent être à la racine TFTP fournie. +.TP +.B --tftp-unique-root +Ajouter l'adresse IP du client TFTP en temps qu'élément de chemin, à la suite +de la racine tftp (adresse sous forme de 4 chiffres séparés par des points). +Uniquement valable si une racine TFTP est spécifiée et si le répertoire +correspond existe. Ainsi, si la valeur pour tftp-root est "/tftp" et que le +client d'adresse IP 1.2.3.4 requiert le fichier "monfichier", alors le chemin +effective résultant sera "/tftp/1.2.3.4/monfichier" si /tftp/1.2.3.4 existe, ou +"/tftp/monfichier" dans le cas contraire. +.TP +.B --tftp-secure +Active le mode TFTP sécurisé : sans cela, tout fichier lisible +par Dnsmasq est disponible via TFTP (les règles de contrôle d'accès unix +habituelles s'appliquent). Lorsque l'option +.B --tftp-secure +est spécifiée, seuls les fichiers possédés par l'utilisateur sous lequel tourne +le processus Dnsmasq sont accessibles. Si Dnsmasq est exécuté en temps que +super-utilisateur ("root"), des règles différentes s'appliquent : +.B --tftp-secure +n'a aucun effet, mais seuls les fichiers ayant un droit de lecture pour tout le +monde sont accessibles. Il n'est pas recommandé d'exécuter Dnsmasq sous +l'utilisateur "root" lorsque le service TFTP est activé, et il est formellement +déconseillé de le faire sans fournir l'option +.B --tftp-root. +Sans cela, en effet, l'accès de tous les fichiers du serveur pour lequel le +droit de lecture pour tout le monde est positionné ("world-readable") devient +possible par n'importe quel hôte sur le réseau. +.TP +.B --tftp-max=<connexions> +Définit le nombre maximum de connexions TFTP simultanées autorisées. La valeur +par défaut est de 50. Lorsqu'un grand nombre de connexions TFTP est spécifié, +il se peut que la limite de nombre de descripteurs de fichiers par processus +soit atteinte. Dnsmasq nécessite quelques descripteurs de fichiers, ainsi qu'un +descripteur de fichier pour chaque connexion TFTP simultanée et pour chacun des +fichiers devant être fournis. De fait, servir le même fichier à n clients ne +nécessitera qu'environ n + 10 descripteurs de fichiers, alors que fournir des +fichiers tous différents à n clients utilisera environ (2*n) + 10 descripteurs. +Si elle est donnée, l'option +.B --tftp-port-range +peut affecter le nombre maximum de connexions concurrentes. +.TP +.B --tftp-no-blocksize +Empêche le serveur TFTP de négocier l'option "blocksize" (taille de bloc) avec +les clients. Certains clients buggés spécifient cette option mais se comportent +ensuite de manière incorrecte si celle-ci est accordée. +.TP +.B --tftp-port-range=<début>,<fin> +Un serveur TFTP écoute sur le port prédéfini 69 ("well-known port") pour +l'initiation de la connexion, mais utilise également un port dynamiquement +alloué pour chaque connexion. Normalement, ces ports sont alloués par +le système d'exploitation, mais cette option permet de spécifier une gamme +de ports à utiliser pour les transferts TFTP. Cela peut-être utile si +TFTP doit traverser un dispositif garde-barrière ("firewall"). La valeur +de début pour la plage de port ne peut-être inférieure à 1025 sauf si +dnsmasq tourne en temps que super-utilisateur ("root"). Le nombre de +connexions TFTP concurrentes est limitée par la taille de la gamme de +ports ainsi spécifiée. +.TP +.B --tftp-port-range=<début>,<fin> +Un serveur TFTP écoute sur un numéro de port bien connu (69) pour l'initiation +de la connexion, et alloue dynamiquement un port pour chaque connexion. Ces +numéros de ports sont en principe alloués par le système d'exploitation, mais +cette option permet de spécifier une gamme de ports à utiliser pour les +transferts TFTP. Cela peut-être utile lorsque ceux-ci doivent traverser un +dispositif garde-barrière ("firewall"). Le début de la plage ne peut-être +inférieur à 1024 à moins que Dnsmasq ne fonctionne en temps que +super-utilisateur ("root"). Le nombre maximal de connexions TFTP concurrentes +est limitée par la taille de la plage de ports ainsi définie. +.TP +.B \-C, --conf-file=<fichier> +Spécifie un fichier de configuration différent. L'option "conf-file" est +également autorisée dans des fichiers de configuration, ce qui permet +l'inclusion de multiples fichiers de configuration. +.TP +.B \-7, --conf-dir=<répertoire>[,<extension de fichier>...] +Lis tous les fichiers du répertoire spécifié et les traite comme des fichiers de +configuration. Si des extensions sont données, tout fichier finissant par ces +extensions seront ignorés. Tout fichier dont le nom se termine en ~ ou commence +par ., ainsi que ceux commençant ou se terminant par # seront systématiquement +ignorés. +Cette option peut être donnée en ligne de commande ou dans un fichier de +configuration. +.SH FICHIER DE CONFIGURATION +Au démarrage, Dnsmasq lis +.I /etc/dnsmasq.conf, +si ce fichier existe. (Sur FreeBSD, ce fichier est +.I /usr/local/etc/dnsmasq.conf +) (voir cependant les options +.B \-C +et +.B \-7 +). Le format de ce fichier consiste en une option par ligne, exactement comme +les options longues détaillées dans la section OPTIONS, mais sans être précédées +par "--". Les lignes commençant par # sont des commentaires et sont ignorées. +Pour les options qui ne peuvent-être spécifiées qu'une seule fois, celle du +fichier de configuration prends le pas sur celle fournie en ligne de commande. +Il est possible d'utiliser des guillemets afin d'éviter que les ",",":","." et +"#" ne soit interprêtés, et il est possible d'utiliser les séquences +d'échappement suivantes : \\\\ \\" \\t \\e \\b \\r et \\n. Elles correspondent +respectivement à la barre oblique descendante ("anti-slash"), guillemets doubles, +tabulation, caractère d'échappement ("escape"), suppression ("backspace"), retour ("return") et +nouvelle ligne ("newline"). +.SH NOTES +A la réception d'un signal SIGHUP, +.B Dnsmasq +vide son cache et recharge les fichiers +.I /etc/hosts +et +.I /etc/ethers +ainsi que tout autre fichier spécifié par les options +.B --dhcp-hostsfile +, +.B --dhcp-optsfile +ou +.B --addn-hosts. +Le script de changement de bail est appellé pour chaque bail DHCP existant. Si +l'option +.B --no-poll +est positionnée, alors le fichier +.I /etc/resolv.conf +est également rechargé. +SIGHUP ne provoque PAS de rechargement du fichier de configuration. +.PP +A la réception d'un signal SIGUSR1, +.B Dnsmasq +écrit des statistiques dans les traces système. Les informations fournies sont : +la taille du cache, le nombre de noms ayant été supprimés du cache avant +expiration afin de faire de la place pour les nouveaux noms, ainsi que le nombre +total d'entrées ayant été insérées dans le cache. Pour chaque serveur amont, il fournit +le nomnbre de requêtes transmises ainsi que le nombre de requêtes ayant résulté par une +erreur. Lorsque Dnsmasq a été lancé via +.B --no-daemon +ou lorsque la traçabilité maximale a été activée ( +.B -q +), la totalité du contenu du +cache est de surcroît fournie. +.PP +A la réception d'un signal SIGUSR2 et lorsqu'il enregistre directement ses +traces dans un fichier (voir +.B --log-facility +), alors +.B Dnsmasq +ferme et re-rouvre le fichier de traces. Il faut noter que pendant cette +opération Dnsmasq ne s'exécute pas en temps que "root". Lorsqu'il créé un +fichier de traces pour la première fois, Dnsmasq change le propriétaire du +fichier afin de le faire appartenir à l'utilisateur non "root" sous lequel +Dnsmasq s'exécute. Le logiciel de rotation de fichiers de trace logrotate doit +être configuré pour créer un nouveau fichier avec un propriétaire identique au +fichier existant avant d'envoyer le signal SIGUSR2. Si une requête DNS TCP est +en cours, l'ancien fichier de traces reste ouvert dans le processus fils qui +traite la requête TCP et il peut y être écrit. Il existe cependant une limite +de 150 secondes après laquelle tous les processus traitant des requêtes TCP +expirent : pour cette raison, il est préférable de ne pas configurer la +compression des fichiers de traces venant juste de faire l'objet d'une rotation. +Dans le cas de l'utilisation du logiciel logrotate, les options requises sont +.B create +et +.B delaycompress. + + +.PP +Dnsmasq est un logiciel de transmission de requêtes DNS : il n'est pas capable +d'effectuer une résolution de nom récursive en partant des serveurs DNS racine, +mais transmet de telles requêtes à un serveur DNS amont capable de telles +recherches récursives, ce qui est typiquement le cas d'un serveur DNS de FAI. +Par défaut, Dnsmasq lis +.I /etc/resolv.conf +pour découvrir les adresses IP des serveurs DNS amonts à utiliser, puisque cette +information est en général stockée à cet endroit. A moins que l'option +.B --no-poll +ne soit utilisée, +.B Dnsmasq +vérifie la date de modification du fichier +.I /etc/resolv.conf +(ou l'équivalent si +.B \--resolv-file +est utilisé), et le relis lorsqu'il change. Cela permet de définir les serveurs +DNS amont de manière dynamique lorsque PPP ou DHCP sont utilisés, puisque ces +protocoles fournissent cette information. +L'absence du fichier +.I /etc/resolv.conf +ne conduit pas à une erreur, puisqu'il peut très bien ne pas être créé avant +qu'une connexion PPP ne soit établie. Dans ce cas, Dnsmasq vérifie régulièrement +pour voir si un fichier +.I /etc/resolv.conf +est créé. Dnsmasq peut être configuré pour lire plus d'un fichier resolv.conf. +Cela est utile sur un ordinateur portable où PPP et DHCP peuvent-être utilisés : +Dnsmasq peut alors être configuré pour lire à la fois +.I /etc/ppp/resolv.conf +et +.I /etc/dhcpc/resolv.conf +et utilisera le contenu du fichier ayant changé en dernier, ce qui permet de +passer automatiquement de serveurs DNS à d'autres. +.PP +Les serveurs amonts peuvent aussi être spécifiés sur la ligne de commande ou +dans un fichier de configuration. Ces spécifications de serveurs peuvent +éventuellement se voir adjoindre d'un nom de domaine qui précise à Dnsmasq quel +serveur utiliser pour trouver les noms d'un domaine donné. +.PP +Pour configurer Dnsmasq afin qu'il se comporte comme un cache pour la machine +sur laquelle il tourne, mettre "nameserver 127.0.0.1" dans le fichier +.I /etc/resolv.conf +afin de forcer les processus locaux à envoyer leurs requêtes à Dnsmasq. Ensuite, +spécifier les serveurs DNS amont soit en les fournissant directement à Dnsmasq +via l'option +.B \--server +ou alors en mettant leurs adresses dans un autre fichier, par exemple +.I /etc/resolv.dnsmasq +et en lançant Dnsmasq avec l'option +.B \-r /etc/resolv.dnsmasq. +Cette deuxième technique permet la mise-à -jour dynamique des addresses de +serveurs DNS amont par le biais de PPP ou DHCP. +.PP +Les adresses dans /etc/hosts prennent le dessus sur celles fournies par le +serveur DNS amont, ainsi "macompagnie.com 1.2.3.4" dans /etc/hosts assure que +les requêtes pour "macompagnie.com" retourneront toujours 1.2.3.4, même si une +requête au serveur DNS amont retournerait une adresse différente. Il y a une +exception à ceci : si le DNS amont contient un CNAME qui pointe vers un nom +présent dans /etc/hosts, alors la recherche du CNAME via Dnsmasq fournira +l'adresse DNS amont. Pour contourner cela, il suffit de mettre l'entrée +correspondant au CNAME dans /etc/hosts. + +.PP +les identifiants de réseau fonctionnent comme suit : Dnsmasq associe à chaque +requête DHCP un ensemble d'identifiants de réseau; un pour la plage d'adresse +DHCP ( +.B dhcp-range +) utilisée pour allouer l'adresse, un identifiant pour chaque entrée +.B dhcp-host +associée (il ajoute "known" lorsqu'une entrée dhcp-host coïncide), l'étiquette +"bootp" pour les requêtes BOOTP, un identifiant dont le nom est le nom de +l'interface sur laquelle la requête est arrivée, et éventuellement un +identifiant pour chaque classe de vendeur ou d'utilisateur +fournie par le client DHCP dans sa requête. Les options DHCP ( +.B dhcp-option +) ayant un identifiant de réseau seront utilisés de préférence à celles +sans identifiants de réseau, pour peu que +.I tous +les labels correspondent. +Le préfixe '#' sur un label est un indicateur de négation, ainsi +.B --dhcp=option=#purple,3,1.2.3.4 +envoie l'option lorsque le label "purple" n'est pas dans la liste de labels +valides pour l'hôte considéré. +.PP +Si l'identifiant de réseau dans la plage d'adresses DHCP ( +.B dhcp-range +) est préfixé par 'net:', alors sa signification change : au lieu d'associer un +label à la plage spécifiée, cela indique un label de réseau devant être spécifié +par le client DHCP. Ainsi, s'il y a plus d'une plage d'adresses DHCP sur un +sous-réseau, et que l'une est préfixée par un identifiant de réseau (par exemple +l'un spécifié dans une option de classe de vendeur), alors un hôte ayant +l'identifiant de réseau en question positionné se verra allouer une adresse dans +la plage d'adresses DHCP préfixée. +.PP +Le serveur DHCP intégré dans Dnsmasq fonctionne également en temps que serveur +BOOTP, pour peu que l'adresse MAC et l'adresse IP des clients soient fournies, +que ce soit par le biais de l'option +.B dhcp-host +ou dans le fichier +.I /etc/ethers +, et que l'option +.B dhcp-range +soit présente afin d'activer le serveur DHCP pour un réseau donné (L'option +.B --bootp-dynamic +supprime la nécessité des associations statiques). Le paramètre +"filename" (nom de fichier) de la requête BOOTP est comparé avec les +identifiants de réseaux des options +.B dhcp-option +ainsi que le label "bootp", ce qui permet de contrôler les options retournées +aux différentes classes d'hôtes. + +.SH CODES DE SORTIE +.PP +0 - Dnsmasq s'est correctement lancé en tâche de fond, ou alors s'est +correctement terminé si le lancement en tâche de fond n'a pas été activé. +.PP +1 - Un problème de configuration a été détecté. +.PP +2 - Un problème est survenu avec un accès réseau (adresse déjà utilisée, +tentative d'utiliser un port privilégié sans les permissions nécessaires). +.PP +3 - Un problème est survenu avec une opération sur un système de fichier +(fichier ou répertoire manquant, permissions). +.PP +4 - Impossibilité d'allouer de la mémoire. +.PP +5 - Autre problème. +.PP +11 ou plus - un code de retour différent de 0 a été reçu lors de l'appel au +processus "init" du script des bails. Le code de retour de Dnsmasq correspond +au code de retour du script plus 10. + +.SH LIMITES +Les valeurs par défaut pour les limites de ressources de Dnsmasq sont en général +conservatrices et appropriées pour des utilisations embarquées sur des machines +de type routeur ayant des processeurs lents et une mémoire limitée. Sur du +matériel plus performant, il est possible d'augmenter les limites et de gérer +plus de clients. Les remarques suivantes s'appliquent à Dnsmasq version 2.37 et +ultérieur : les versions précédentes ne montaient pas en charge aussi bien. + +.PP +Dnsmasq est capable de gérer le DNS et DHCP pour au moins un millier de clients. +Evidement, pour cela la valeur de +.B --dhcp-lease-max +doit être augmentée et la durée des baux ne doit pas être très courte (moins +d'une heure). La valeur de +.B --dns-forward-max +peut-être augmentée : commencer par la rendre égale au nombre de clients et +l'augmenter si le DNS semble lent. Noter que la performance du DNS dépends +également de la performance des serveurs amonts. La taille du cache DNS peut- +être augmentée : la limite en dur est de 10000 entrées et la valeur par défaut +(150) est très basse. Envoyer un signal SIGUSR1 à Dnsmasq le fait émettre des +informations utiles pour paramétrer la taille de cache. Voir la section +.B NOTES +pour plus de détails. +.PP +Le serveur TFTP intégré est capable de plusieurs transferts de fichiers +simultanés : La limite absolue est liée au nombre maximal de descripteurs de +fichiers alloué à un processus et à la capacité de l'appel système select() à +gérer un grand nombre de HANDLE de fichier. Si la limite est fixée trop haut par +le biais de +.B --tftp-max +elle sera réduite et la limite actuelle sera enregistrée au démarrage. Il faut +noter que plus de transferts sont possible lorsque le même fichier est transmis +au lieu d'avoir un fichier différent pour chaque transfert. + +.PP +Il est possible d'utiliser Dnsmasq pour bloquer la publicité sur la toile +en associant des serveurs de publicité bien connus à l'adresse 127.0.0.1 ou +0.0.0.0 par le biais du fichier +.B /etc/hosts +ou d'un fichier d'hôte additionnel. Cette liste peut-être très longue, Dnsmasq +ayant été testé avec succès avec un million de noms. Cette taille de fichier +nécessite un processeur à 1 Ghz et environ 60 Mo de RAM. + +.SH FICHIERS +.IR /etc/dnsmasq.conf + +.IR /usr/local/etc/dnsmasq.conf + +.IR /etc/resolv.conf + +.IR /etc/hosts + +.IR /etc/ethers + +.IR /var/lib/misc/dnsmasq.leases + +.IR /var/db/dnsmasq.leases + +.IR /var/run/dnsmasq.pid +.SH VOIR AUSSI +.BR hosts (5), +.BR resolver (5) +.SH AUTEUR +Cette page de manuel a été écrite par Simon Kelley <simon@thekelleys.org.uk>. + +La traduction dans un français bancal a été commise par Gildas Le Nadan +<3ntr0p13@gmail.com> : Toute révision/correction permettant de corriger +orthographe ou grammaire mais surtout les éventuelles fautes de sens sera la +bienvenue! |