Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| logiciel:internet:unbound:start [2021/04/03 11:31] – ↷ Nom de la page changé de logiciel:internet:unbound:start1 à logiciel:internet:unbound:start admin | logiciel:internet:unbound:start [2022/08/13 21:57] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| ====== Unbound : un serveur DNS local ====== | ====== Unbound : un serveur DNS local ====== | ||
| - | Le serveur DNS local **Unbound** ((plus simple a configurer que **bind9** pour un LAN de petite taille.)) | + | **Unbound** |
| - | * soit d’après sa propre | + | |
| + | Il fait cette traduction | ||
| + | * soit d’après sa propre | ||
| * soit en faisant appel à d’autres serveurs DNS. | * soit en faisant appel à d’autres serveurs DNS. | ||
| - | Avantages | + | Dans un souci d’efficacité, il peut mettre les résultats |
| - | - La mise en cache des résultats accélère les requêtes DNS sur le réseau local et améliore l'efficacité | + | |
| - | - il peut fermer l' | + | |
| - | - il permet de définir des domaines factices sur le réseau local. | + | |
| - | Nous allons voir comment mettre | + | Nous utiliserons Unbound |
| - | Le serveur **Unbound** sera installé sur un serveur du réseau local (un RPI dans cet exemple). | + | Le serveur **Unbound** sera installé sur un serveur du réseau local (un Raspberry Pi dans cet exemple). |
| ===== Pré-requis ===== | ===== Pré-requis ===== | ||
| Ligne 21: | Ligne 20: | ||
| * et une connexion à Internet active pour les tests. | * et une connexion à Internet active pour les tests. | ||
| - | ===== Installation ===== | + | ===== Installation |
| - | + | ||
| - | * Sur la machine du serveur, installez les paquets **[[apt> | + | |
| + | - **Sous Linux** : installez les paquets **[[apt> | ||
| + | - **Sous Windows** : Téléchargez l' | ||
| ===== Configuration ===== | ===== Configuration ===== | ||
| + | |||
| + | ==== Sous Linux ==== | ||
| <WRAP center round important 60%> | <WRAP center round important 60%> | ||
| Ligne 32: | Ligne 33: | ||
| Ainsi, le fichier **/ | Ainsi, le fichier **/ | ||
| </ | </ | ||
| + | |||
| + | <WRAP center round info 60%> | ||
| + | Voici un exemple de fichier **local.conf** pour un serveur DNS avec déclaration automatique des sous-domaines : | ||
| + | |||
| + | <code - / | ||
| + | server: | ||
| + | #verbosity: 1 | ||
| + | |||
| + | # Répondre aux requêtes DNS sur toutes les interfaces réseau. | ||
| + | interface: 0.0.0.0 | ||
| + | port: 53 | ||
| + | |||
| + | # ouverture à tout le monde | ||
| + | access-control: | ||
| + | chroot: "" | ||
| + | |||
| + | # emplacement du fichier de log | ||
| + | logfile: "/ | ||
| + | # je ne souhaite pas " | ||
| + | use-syslog: no | ||
| + | |||
| + | # zone *.chateau | ||
| + | local-zone: " | ||
| + | local-data: " | ||
| + | |||
| + | # zone *.framboise | ||
| + | local-zone: " | ||
| + | local-data: " | ||
| + | |||
| + | # Utilisation du DNS " | ||
| + | forward-zone: | ||
| + | name: " | ||
| + | forward-addr: | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | Pour les options, voir la page [[logiciel: | ||
| + | |||
| + | ++++ Fichier exemple fourni avec unbound | | ||
| + | <WRAP center round info 60%> | ||
| + | Voici le fichier exemple fourni avec unbound : | ||
| + | <code - / | ||
| + | # | ||
| + | # Example configuration file. | ||
| + | # | ||
| + | # See unbound.conf(5) man page, version 1.4.22. | ||
| + | # | ||
| + | # this is a comment. | ||
| + | |||
| + | #Use this to include other text into the file. | ||
| + | #include: " | ||
| + | |||
| + | # The server clause sets the main parameters. | ||
| + | server: | ||
| + | # whitespace is not necessary, but looks cleaner. | ||
| + | |||
| + | # verbosity number, 0 is least verbose. 1 is default. | ||
| + | verbosity: 1 | ||
| + | |||
| + | # print statistics to the log (for every thread) every N seconds. | ||
| + | # Set to "" | ||
| + | # statistics-interval: | ||
| + | |||
| + | # enable cumulative statistics, without clearing them after printing. | ||
| + | # statistics-cumulative: | ||
| + | |||
| + | # enable extended statistics (query types, answer codes, status) | ||
| + | # printed from unbound-control. default off, because of speed. | ||
| + | # extended-statistics: | ||
| + | |||
| + | # number of threads to create. 1 disables threading. | ||
| + | # num-threads: | ||
| + | |||
| + | # specify the interfaces to answer queries from by ip-address. | ||
| + | # The default is to listen to localhost (127.0.0.1 and ::1). | ||
| + | # specify 0.0.0.0 and ::0 to bind to all available interfaces. | ||
| + | # specify every interface[@port] on a new ' | ||
| + | # The listen interfaces are not changed on reload, only on restart. | ||
| + | # interface: 192.0.2.153 | ||
| + | # interface: 192.0.2.154 | ||
| + | # interface: 192.0.2.154@5003 | ||
| + | # interface: 2001:DB8::5 | ||
| + | |||
| + | # enable this feature to copy the source address of queries to reply. | ||
| + | # Socket options are not supported on all platforms. experimental. | ||
| + | # interface-automatic: | ||
| + | |||
| + | # port to answer queries from | ||
| + | # port: 53 | ||
| + | |||
| + | # specify the interfaces to send outgoing queries to authoritative | ||
| + | # server from by ip-address. If none, the default (all) interface | ||
| + | # is used. Specify every interface on a ' | ||
| + | # outgoing-interface: | ||
| + | # outgoing-interface: | ||
| + | # outgoing-interface: | ||
| + | |||
| + | # number of ports to allocate per thread, determines the size of the | ||
| + | # port range that can be open simultaneously. | ||
| + | # num-queries-per-thread, | ||
| + | # outgoing-range: | ||
| + | |||
| + | # permit unbound to use this port number or port range for | ||
| + | # making outgoing queries, using an outgoing interface. | ||
| + | # outgoing-port-permit: | ||
| + | |||
| + | # deny unbound the use this of port number or port range for | ||
| + | # making outgoing queries, using an outgoing interface. | ||
| + | # Use this to make sure unbound does not grab a UDP port that some | ||
| + | # other server on this computer needs. The default is to avoid | ||
| + | # IANA-assigned port numbers. | ||
| + | # If multiple outgoing-port-permit and outgoing-port-avoid options | ||
| + | # are present, they are processed in order. | ||
| + | # outgoing-port-avoid: | ||
| + | |||
| + | # number of outgoing simultaneous tcp buffers to hold per thread. | ||
| + | # outgoing-num-tcp: | ||
| + | |||
| + | # number of incoming simultaneous tcp buffers to hold per thread. | ||
| + | # incoming-num-tcp: | ||
| + | |||
| + | # buffer size for UDP port 53 incoming (SO_RCVBUF socket option). | ||
| + | # 0 is system default. | ||
| + | # so-rcvbuf: 0 | ||
| + | |||
| + | # buffer size for UDP port 53 outgoing (SO_SNDBUF socket option). | ||
| + | # 0 is system default. | ||
| + | # so-sndbuf: 0 | ||
| + | |||
| + | # on Linux(3.9+) use SO_REUSEPORT to distribute queries over threads. | ||
| + | # so-reuseport: | ||
| + | |||
| + | # EDNS reassembly buffer to advertise to UDP peers (the actual buffer | ||
| + | # is set with msg-buffer-size). 1480 can solve fragmentation (timeouts). | ||
| + | # edns-buffer-size: | ||
| + | |||
| + | # Maximum UDP response size (not applied to TCP response). | ||
| + | # Suggested values are 512 to 4096. Default is 4096. 65536 disables it. | ||
| + | # max-udp-size: | ||
| + | |||
| + | # buffer size for handling DNS data. No messages larger than this | ||
| + | # size can be sent or received, by UDP or TCP. In bytes. | ||
| + | # msg-buffer-size: | ||
| + | |||
| + | # the amount of memory to use for the message cache. | ||
| + | # plain value in bytes or you can append k, m or G. default is " | ||
| + | # msg-cache-size: | ||
| + | |||
| + | # the number of slabs to use for the message cache. | ||
| + | # the number of slabs must be a power of 2. | ||
| + | # more slabs reduce lock contention, but fragment memory usage. | ||
| + | # msg-cache-slabs: | ||
| + | |||
| + | # the number of queries that a thread gets to service. | ||
| + | # num-queries-per-thread: | ||
| + | |||
| + | # if very busy, 50% queries run to completion, 50% get timeout in msec | ||
| + | # jostle-timeout: | ||
| + | |||
| + | # msec to wait before close of port on timeout UDP. 0 disables. | ||
| + | # delay-close: | ||
| + | |||
| + | # the amount of memory to use for the RRset cache. | ||
| + | # plain value in bytes or you can append k, m or G. default is " | ||
| + | # rrset-cache-size: | ||
| + | |||
| + | # the number of slabs to use for the RRset cache. | ||
| + | # the number of slabs must be a power of 2. | ||
| + | # more slabs reduce lock contention, but fragment memory usage. | ||
| + | # rrset-cache-slabs: | ||
| + | |||
| + | # the time to live (TTL) value lower bound, in seconds. Default 0. | ||
| + | # If more than an hour could easily give trouble due to stale data. | ||
| + | # cache-min-ttl: | ||
| + | |||
| + | # the time to live (TTL) value cap for RRsets and messages in the | ||
| + | # cache. Items are not cached for longer. In seconds. | ||
| + | # cache-max-ttl: | ||
| + | |||
| + | # the time to live (TTL) value for cached roundtrip times, lameness and | ||
| + | # EDNS version information for hosts. In seconds. | ||
| + | # infra-host-ttl: | ||
| + | |||
| + | # the number of slabs to use for the Infrastructure cache. | ||
| + | # the number of slabs must be a power of 2. | ||
| + | # more slabs reduce lock contention, but fragment memory usage. | ||
| + | # infra-cache-slabs: | ||
| + | |||
| + | # the maximum number of hosts that are cached (roundtrip, EDNS, lame). | ||
| + | # infra-cache-numhosts: | ||
| + | |||
| + | # Enable IPv4, " | ||
| + | # do-ip4: yes | ||
| + | |||
| + | # Enable IPv6, " | ||
| + | # do-ip6: yes | ||
| + | |||
| + | # Enable UDP, " | ||
| + | # do-udp: yes | ||
| + | |||
| + | # Enable TCP, " | ||
| + | # do-tcp: yes | ||
| + | |||
| + | # upstream connections use TCP only (and no UDP), " | ||
| + | # useful for tunneling scenarios, default no. | ||
| + | # tcp-upstream: | ||
| + | |||
| + | # Detach from the terminal, run in background, " | ||
| + | # do-daemonize: | ||
| + | |||
| + | # control which clients are allowed to make (recursive) queries | ||
| + | # to this server. Specify classless netblocks with /size and action. | ||
| + | # By default everything is refused, except for localhost. | ||
| + | # Choose deny (drop message), refuse (polite error reply), | ||
| + | # allow (recursive ok), allow_snoop (recursive and nonrecursive ok) | ||
| + | # deny_non_local (drop queries unless can be answered from local-data) | ||
| + | # refuse_non_local (like deny_non_local but polite error reply). | ||
| + | # access-control: | ||
| + | # access-control: | ||
| + | # access-control: | ||
| + | # access-control: | ||
| + | # access-control: | ||
| + | |||
| + | # if given, a chroot(2) is done to the given directory. | ||
| + | # i.e. you can chroot to the working directory, for example, | ||
| + | # for extra security, but make sure all files are in that directory. | ||
| + | # | ||
| + | # If chroot is enabled, you should pass the configfile (from the | ||
| + | # commandline) as a full path from the original root. After the | ||
| + | # chroot has been performed the now defunct portion of the config | ||
| + | # file path is removed to be able to reread the config after a reload. | ||
| + | # | ||
| + | # All other file paths (working dir, logfile, roothints, and | ||
| + | # key files) can be specified in several ways: | ||
| + | # o as an absolute path relative to the new root. | ||
| + | # o as a relative path to the working directory. | ||
| + | # o as an absolute path relative to the original root. | ||
| + | # In the last case the path is adjusted to remove the unused portion. | ||
| + | # | ||
| + | # The pid file can be absolute and outside of the chroot, it is | ||
| + | # written just prior to performing the chroot and dropping permissions. | ||
| + | # | ||
| + | # Additionally, | ||
| + | # How to do this is specific to your OS. | ||
| + | # | ||
| + | # If you give "" | ||
| + | # chroot: "/ | ||
| + | |||
| + | # if given, user privileges are dropped (after binding port), | ||
| + | # and the given username is assumed. Default is user " | ||
| + | # If you give "" | ||
| + | # username: " | ||
| + | |||
| + | # the working directory. The relative files in this config are | ||
| + | # relative to this directory. If you give "" | ||
| + | # is not changed. | ||
| + | # directory: "/ | ||
| + | |||
| + | # the log file, "" | ||
| + | # Use of this option sets use-syslog to " | ||
| + | # logfile: "" | ||
| + | |||
| + | # Log to syslog(3) if yes. The log facility LOG_DAEMON is used to | ||
| + | # log to, with identity " | ||
| + | # use-syslog: yes | ||
| + | |||
| + | # print UTC timestamp in ascii to logfile, default is epoch in seconds. | ||
| + | # log-time-ascii: | ||
| + | |||
| + | # print one line with time, IP, name, type, class for every query. | ||
| + | # log-queries: | ||
| + | |||
| + | # the pid file. Can be an absolute path outside of chroot/work dir. | ||
| + | # pidfile: "/ | ||
| + | |||
| + | # file to read root hints from. | ||
| + | # get one from ftp:// | ||
| + | # root-hints: "" | ||
| + | |||
| + | # enable to not answer id.server and hostname.bind queries. | ||
| + | # hide-identity: | ||
| + | |||
| + | # enable to not answer version.server and version.bind queries. | ||
| + | # hide-version: | ||
| + | |||
| + | # the identity to report. Leave "" | ||
| + | # identity: "" | ||
| + | |||
| + | # the version to report. Leave "" | ||
| + | # version: "" | ||
| + | |||
| + | # the target fetch policy. | ||
| + | # series of integers describing the policy per dependency depth. | ||
| + | # The number of values in the list determines the maximum dependency | ||
| + | # depth the recursor will pursue before giving up. Each integer means: | ||
| + | # -1 : fetch all targets opportunistically, | ||
| + | # 0: fetch on demand, | ||
| + | # positive value: fetch that many targets opportunistically. | ||
| + | # Enclose the list of numbers between quotes ("" | ||
| + | # target-fetch-policy: | ||
| + | |||
| + | # Harden against very small EDNS buffer sizes. | ||
| + | # harden-short-bufsize: | ||
| + | |||
| + | # Harden against unseemly large queries. | ||
| + | # harden-large-queries: | ||
| + | |||
| + | # Harden against out of zone rrsets, to avoid spoofing attempts. | ||
| + | # harden-glue: | ||
| + | |||
| + | # Harden against receiving dnssec-stripped data. If you turn it | ||
| + | # off, failing to validate dnskey data for a trustanchor will | ||
| + | # trigger insecure mode for that zone (like without a trustanchor). | ||
| + | # Default on, which insists on dnssec data for trust-anchored zones. | ||
| + | # harden-dnssec-stripped: | ||
| + | |||
| + | # Harden against queries that fall under dnssec-signed nxdomain names. | ||
| + | # harden-below-nxdomain: | ||
| + | |||
| + | # Harden the referral path by performing additional queries for | ||
| + | # infrastructure data. Validates the replies (if possible). | ||
| + | # Default off, because the lookups burden the server. | ||
| + | # implementation of draft-wijngaards-dnsext-resolver-side-mitigation. | ||
| + | # harden-referral-path: | ||
| + | |||
| + | # Use 0x20-encoded random bits in the query to foil spoof attempts. | ||
| + | # This feature is an experimental implementation of draft dns-0x20. | ||
| + | # use-caps-for-id: | ||
| + | |||
| + | # Enforce privacy of these addresses. Strips them away from answers. | ||
| + | # It may cause DNSSEC validation to additionally mark it as bogus. | ||
| + | # Protects against 'DNS Rebinding' | ||
| + | # Only ' | ||
| + | # these private addresses. No default. | ||
| + | # private-address: | ||
| + | # private-address: | ||
| + | # private-address: | ||
| + | # private-address: | ||
| + | # private-address: | ||
| + | # private-address: | ||
| + | |||
| + | # Allow the domain (and its subdomains) to contain private addresses. | ||
| + | # local-data statements are allowed to contain private addresses too. | ||
| + | # private-domain: | ||
| + | |||
| + | # If nonzero, unwanted replies are not only reported in statistics, | ||
| + | # but also a running total is kept per thread. If it reaches the | ||
| + | # threshold, a warning is printed and a defensive action is taken, | ||
| + | # the cache is cleared to flush potential poison out of it. | ||
| + | # A suggested value is 10000000, the default is 0 (turned off). | ||
| + | # unwanted-reply-threshold: | ||
| + | |||
| + | # Do not query the following addresses. No DNS queries are sent there. | ||
| + | # List one address per entry. List classless netblocks with /size, | ||
| + | # do-not-query-address: | ||
| + | # do-not-query-address: | ||
| + | |||
| + | # if yes, the above default do-not-query-address entries are present. | ||
| + | # if no, localhost can be queried (for testing and debugging). | ||
| + | # do-not-query-localhost: | ||
| + | |||
| + | # if yes, perform prefetching of almost expired message cache entries. | ||
| + | # prefetch: no | ||
| + | |||
| + | # if yes, perform key lookups adjacent to normal lookups. | ||
| + | # prefetch-key: | ||
| + | |||
| + | # if yes, Unbound rotates RRSet order in response. | ||
| + | # rrset-roundrobin: | ||
| + | |||
| + | # if yes, Unbound doesn' | ||
| + | # into response messages when those sections are not required. | ||
| + | # minimal-responses: | ||
| + | |||
| + | # module configuration of the server. A string with identifiers | ||
| + | # separated by spaces. " | ||
| + | # module-config: | ||
| + | |||
| + | # File with trusted keys, kept uptodate using RFC5011 probes, | ||
| + | # initial file like trust-anchor-file, | ||
| + | # Use several entries, one per domain name, to track multiple zones. | ||
| + | # | ||
| + | # If you want to perform DNSSEC validation, run unbound-anchor before | ||
| + | # you start unbound (i.e. in the system boot scripts). | ||
| + | # Please note usage of unbound-anchor root anchor is at your own risk | ||
| + | # and under the terms of our LICENSE (see that file in the source). | ||
| + | # auto-trust-anchor-file: | ||
| + | |||
| + | # File with DLV trusted keys. Same format as trust-anchor-file. | ||
| + | # There can be only one DLV configured, it is trusted from root down. | ||
| + | # Download http:// | ||
| + | # dlv-anchor-file: | ||
| + | |||
| + | # File with trusted keys for validation. Specify more than one file | ||
| + | # with several entries, one file per entry. | ||
| + | # Zone file format, with DS and DNSKEY entries. | ||
| + | # Note this gets out of date, use auto-trust-anchor-file please. | ||
| + | # trust-anchor-file: | ||
| + | |||
| + | # Trusted key for validation. DS or DNSKEY. specify the RR on a | ||
| + | # single line, surrounded by "" | ||
| + | # Note this gets out of date, use auto-trust-anchor-file please. | ||
| + | # (These examples are from August 2007 and may not be valid anymore). | ||
| + | # trust-anchor: | ||
| + | # trust-anchor: | ||
| + | |||
| + | # File with trusted keys for validation. Specify more than one file | ||
| + | # with several entries, one file per entry. Like trust-anchor-file | ||
| + | # but has a different file format. Format is BIND-9 style format, | ||
| + | # the trusted-keys { name flag proto algo " | ||
| + | # you need external update procedures to track changes in keys. | ||
| + | # trusted-keys-file: | ||
| + | |||
| + | # Ignore chain of trust. Domain is treated as insecure. | ||
| + | # domain-insecure: | ||
| + | |||
| + | # Override the date for validation with a specific fixed date. | ||
| + | # Do not set this unless you are debugging signature inception | ||
| + | # and expiration. "" | ||
| + | # val-override-date: | ||
| + | |||
| + | # The time to live for bogus data, rrsets and messages. This avoids | ||
| + | # some of the revalidation, | ||
| + | # val-bogus-ttl: | ||
| + | |||
| + | # The signature inception and expiration dates are allowed to be off | ||
| + | # by 10% of the signature lifetime (expir-incep) from our local clock. | ||
| + | # This leeway is capped with a minimum and a maximum. | ||
| + | # val-sig-skew-min: | ||
| + | # val-sig-skew-max: | ||
| + | |||
| + | # Should additional section of secure message also be kept clean of | ||
| + | # unsecure data. Useful to shield the users of this validator from | ||
| + | # potential bogus data in the additional section. All unsigned data | ||
| + | # in the additional section is removed from secure messages. | ||
| + | # val-clean-additional: | ||
| + | |||
| + | # Turn permissive mode on to permit bogus messages. Thus, messages | ||
| + | # for which security checks failed will be returned to clients, | ||
| + | # instead of SERVFAIL. It still performs the security checks, which | ||
| + | # result in interesting log files and possibly the AD bit in | ||
| + | # replies if the message is found secure. The default is off. | ||
| + | # val-permissive-mode: | ||
| + | |||
| + | # Ignore the CD flag in incoming queries and refuse them bogus data. | ||
| + | # Enable it if the only clients of unbound are legacy servers (w2008) | ||
| + | # that set CD but cannot validate themselves. | ||
| + | # ignore-cd-flag: | ||
| + | |||
| + | # Have the validator log failed validations for your diagnosis. | ||
| + | # 0: off. 1: A line per failed user query. 2: With reason and bad IP. | ||
| + | # val-log-level: | ||
| + | |||
| + | # It is possible to configure NSEC3 maximum iteration counts per | ||
| + | # keysize. Keep this table very short, as linear search is done. | ||
| + | # A message with an NSEC3 with larger count is marked insecure. | ||
| + | # List in ascending order the keysize and count values. | ||
| + | # val-nsec3-keysize-iterations: | ||
| + | |||
| + | # instruct the auto-trust-anchor-file probing to add anchors after ttl. | ||
| + | # add-holddown: | ||
| + | |||
| + | # instruct the auto-trust-anchor-file probing to del anchors after ttl. | ||
| + | # del-holddown: | ||
| + | |||
| + | # auto-trust-anchor-file probing removes missing anchors after ttl. | ||
| + | # If the value 0 is given, missing anchors are not removed. | ||
| + | # keep-missing: | ||
| + | |||
| + | # the amount of memory to use for the key cache. | ||
| + | # plain value in bytes or you can append k, m or G. default is " | ||
| + | # key-cache-size: | ||
| + | |||
| + | # the number of slabs to use for the key cache. | ||
| + | # the number of slabs must be a power of 2. | ||
| + | # more slabs reduce lock contention, but fragment memory usage. | ||
| + | # key-cache-slabs: | ||
| + | |||
| + | # the amount of memory to use for the negative cache (used for DLV). | ||
| + | # plain value in bytes or you can append k, m or G. default is " | ||
| + | # neg-cache-size: | ||
| + | |||
| + | # By default, for a number of zones a small default ' | ||
| + | # reply is built-in. | ||
| + | # wish to serve such zone you can unblock them by uncommenting one | ||
| + | # of the nodefault statements below. | ||
| + | # You may also have to use domain-insecure: | ||
| + | # unless you have your own trust anchors for this zone. | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | # local-zone: " | ||
| + | |||
| + | # a number of locally served zones can be configured. | ||
| + | # local-zone: | ||
| + | # local-data: | ||
| + | # o deny serves local data (if any), else, drops queries. | ||
| + | # o refuse serves local data (if any), else, replies with error. | ||
| + | # o static serves local data, else, nxdomain or nodata answer. | ||
| + | # o transparent gives local data, but resolves normally for other names | ||
| + | # o redirect serves the zone data for any subdomain in the zone. | ||
| + | # o nodefault can be used to normally resolve AS112 zones. | ||
| + | # o typetransparent resolves normally for other types and other names | ||
| + | # | ||
| + | # defaults are localhost address, reverse for 127.0.0.1 and ::1 | ||
| + | # and nxdomain for AS112 zones. If you configure one of these zones | ||
| + | # the default content is omitted, or you can omit it with ' | ||
| + | # | ||
| + | # If you configure local-data without specifying local-zone, by | ||
| + | # default a transparent local-zone is created for the data. | ||
| + | # | ||
| + | # You can add locally served data with | ||
| + | # local-zone: " | ||
| + | # local-data: " | ||
| + | # local-data: ' | ||
| + | # | ||
| + | # You can override certain queries with | ||
| + | # local-data: " | ||
| + | # | ||
| + | # You can redirect a domain to a fixed address with | ||
| + | # (this makes example.com, | ||
| + | # local-zone: " | ||
| + | # local-data: " | ||
| + | # | ||
| + | # Shorthand to make PTR records, "IPv4 name" or "IPv6 name". | ||
| + | # You can also add PTR records using local-data directly, but then | ||
| + | # you need to do the reverse notation yourself. | ||
| + | # local-data-ptr: | ||
| + | |||
| + | # service clients over SSL (on the TCP sockets), with plain DNS inside | ||
| + | # the SSL stream. | ||
| + | # default is "" | ||
| + | # ssl-service-key: | ||
| + | # ssl-service-pem: | ||
| + | # ssl-port: 443 | ||
| + | |||
| + | # request upstream over SSL (with plain DNS inside the SSL stream). | ||
| + | # Default is no. Can be turned on and off with unbound-control. | ||
| + | # ssl-upstream: | ||
| + | |||
| + | # Python config section. To enable: | ||
| + | # o use --with-pythonmodule to configure before compiling. | ||
| + | # o list python in the module-config string (above) to enable. | ||
| + | # o and give a python-script to run. | ||
| + | python: | ||
| + | # Script file to load | ||
| + | # python-script: | ||
| + | |||
| + | # Remote control config section. | ||
| + | remote-control: | ||
| + | # Enable remote control with unbound-control(8) here. | ||
| + | # set up the keys and certificates with unbound-control-setup. | ||
| + | # control-enable: | ||
| + | |||
| + | # what interfaces are listened to for remote control. | ||
| + | # give 0.0.0.0 and ::0 to listen to all interfaces. | ||
| + | # control-interface: | ||
| + | # control-interface: | ||
| + | |||
| + | # port number for remote control operations. | ||
| + | # control-port: | ||
| + | |||
| + | # unbound server key file. | ||
| + | # server-key-file: | ||
| + | |||
| + | # unbound server certificate file. | ||
| + | # server-cert-file: | ||
| + | |||
| + | # unbound-control key file. | ||
| + | # control-key-file: | ||
| + | |||
| + | # unbound-control certificate file. | ||
| + | # control-cert-file: | ||
| + | |||
| + | # Stub zones. | ||
| + | # Create entries like below, to make all queries for ' | ||
| + | # ' | ||
| + | # nameservers by hostname or by ipaddress. If you set stub-prime to yes, | ||
| + | # the list is treated as priming hints (default is no). | ||
| + | # With stub-first yes, it attempts without the stub if it fails. | ||
| + | # stub-zone: | ||
| + | # name: " | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | # stub-zone: | ||
| + | # name: " | ||
| + | # | ||
| + | |||
| + | # Forward zones | ||
| + | # Create entries like below, to make all queries for ' | ||
| + | # ' | ||
| + | # recursion to other nameservers. List zero or more nameservers by hostname | ||
| + | # or by ipaddress. Use an entry with name " | ||
| + | # If you enable forward-first, | ||
| + | # forward-zone: | ||
| + | # name: " | ||
| + | # forward-addr: | ||
| + | # forward-addr: | ||
| + | # forward-first: | ||
| + | # forward-zone: | ||
| + | # name: " | ||
| + | # forward-host: | ||
| + | </ | ||
| + | </ | ||
| + | ++++ | ||
| Liste des serveurs DNS racines | Liste des serveurs DNS racines | ||
| Ligne 41: | Ligne 679: | ||
| <WRAP center round info 60%> | <WRAP center round info 60%> | ||
| - | | + | |
| : Niveau de détail des messages. | : Niveau de détail des messages. | ||
| * 0 => pas de message, que les erreurs. | * 0 => pas de message, que les erreurs. | ||
| Ligne 49: | Ligne 687: | ||
| * 4 => informations au niveau de l' | * 4 => informations au niveau de l' | ||
| * 5 => enregistre l' | * 5 => enregistre l' | ||
| - | | + | |
| : Interface à utiliser pour se connecter au réseau. | : Interface à utiliser pour se connecter au réseau. | ||
| : **Par défaut : localhost, port par défaut (fourni par le paramètre port, 53 sinon)**. | : **Par défaut : localhost, port par défaut (fourni par le paramètre port, 53 sinon)**. | ||
| Ligne 55: | Ligne 693: | ||
| : Peut être fourni plusieurs fois pour travailler sur de multiples interfaces. | : Peut être fourni plusieurs fois pour travailler sur de multiples interfaces. | ||
| : Les interfaces ne sont pas modifiées par un reload (kill -HUP), mais seulement au redémarrage. | : Les interfaces ne sont pas modifiées par un reload (kill -HUP), mais seulement au redémarrage. | ||
| - | | + | |
| : Numéro de port sur lequel le serveur répond aux requêtes. | : Numéro de port sur lequel le serveur répond aux requêtes. | ||
| : **par défaut : 53** | : **par défaut : 53** | ||
| - | | + | |
| : Active ou désactive les réponses aux requêtes IP4. | : Active ou désactive les réponses aux requêtes IP4. | ||
| : **Par défaut : yes**. | : **Par défaut : yes**. | ||
| - | | + | |
| : Active ou désactive les réponses aux requêtes IP6. | : Active ou désactive les réponses aux requêtes IP6. | ||
| : **Par défaut : yes**. | : **Par défaut : yes**. | ||
| - | | + | |
| : Active ou désactive les réponses aux requêtes UDP. | : Active ou désactive les réponses aux requêtes UDP. | ||
| : **Par défaut : yes**. | : **Par défaut : yes**. | ||
| - | | + | |
| : Active ou désactive les réponses aux requêtes TCP. | : Active ou désactive les réponses aux requêtes TCP. | ||
| : **Par défaut : yes**. | : **Par défaut : yes**. | ||
| - | | + | |
| : Active ou désactive le fonctionnement en arrière-plan (comme un démon). | : Active ou désactive le fonctionnement en arrière-plan (comme un démon). | ||
| : **Par défaut : yes**. | : **Par défaut : yes**. | ||
| - | | + | |
| : **netblock** : plage d' | : **netblock** : plage d' | ||
| : Actions possibles : deny, refuse, allow, allow_snoop, | : Actions possibles : deny, refuse, allow, allow_snoop, | ||
| Ligne 84: | Ligne 722: | ||
| : Si aucun **deny** ne correspond, la correspondance de plage la plus spécifique est utilisée. | : Si aucun **deny** ne correspond, la correspondance de plage la plus spécifique est utilisée. | ||
| : **Par défaut, seul localhost est autorisé, le reste est bloqué**. | : **Par défaut, seul localhost est autorisé, le reste est bloqué**. | ||
| - | | + | |
| : Lire les indications de racine dans ce fichier. | : Lire les indications de racine dans ce fichier. | ||
| : **Par défaut : rien, en utilisant des builtin pour la classe IN.** | : **Par défaut : rien, en utilisant des builtin pour la classe IN.** | ||
| : Le fichier a le format des fichiers de zone, avec seulement root names et addresses. | : Le fichier a le format des fichiers de zone, avec seulement root names et addresses. | ||
| - | | + | |
| - | | + | |
| : Cacher les infos sur le serveur DNS. | : Cacher les infos sur le serveur DNS. | ||
| - | | + | |
| : limite l' | : limite l' | ||
| : **Par défaut : yes.** | : **Par défaut : yes.** | ||
| - | | + | |
| : Requérir les infos DNSSEC pour les zones de confiance. | : Requérir les infos DNSSEC pour les zones de confiance. | ||
| : **Par défaut : on**. | : **Par défaut : on**. | ||
| - | | + | |
| : Ne pas tenir compte de la casse dans la requête : MonSite.com équivaut à monsite.com. | : Ne pas tenir compte de la casse dans la requête : MonSite.com équivaut à monsite.com. | ||
| : **no par défaut** | : **no par défaut** | ||
| - | | + | |
| : valeur mini de la TTL en secondes. Ne pas dépasser 1h | : valeur mini de la TTL en secondes. Ne pas dépasser 1h | ||
| : **Par défaut : 0**. | : **Par défaut : 0**. | ||
| - | | + | |
| : activation du prefetch. Si un requête est faite lorsque la tll expire dans moins de 10% du temps qu'il lui est imparti, le cache se mettra à jour aussitôt après avoir répondu à la requête. | : activation du prefetch. Si un requête est faite lorsque la tll expire dans moins de 10% du temps qu'il lui est imparti, le cache se mettra à jour aussitôt après avoir répondu à la requête. | ||
| : **Par défaut : no**. | : **Par défaut : no**. | ||
| - | | + | |
| : Le nombre de threads à créer pour servir les clients. Utilisez 1 pour pas de threading. | : Le nombre de threads à créer pour servir les clients. Utilisez 1 pour pas de threading. | ||
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| : Nombre de slabs à utiliser . Doit être une puissance de 2 du num-threads. | : Nombre de slabs à utiliser . Doit être une puissance de 2 du num-threads. | ||
| - | | + | |
| - | | + | |
| : Taille du cache. A plain number is in bytes, append ' | : Taille du cache. A plain number is in bytes, append ' | ||
| : **Par défaut : 4 mégaoctets**. | : **Par défaut : 4 mégaoctets**. | ||
| - | | + | |
| : Taille du buffer pour le port UPD en entrée. Évite la perte de message lors des requêtes | : Taille du buffer pour le port UPD en entrée. Évite la perte de message lors des requêtes | ||
| : **Par défaut : 0** (utiliser la valeur système) | : **Par défaut : 0** (utiliser la valeur système) | ||
| - | | + | |
| : Give IPv4 of IPv6 addresses | : Give IPv4 of IPv6 addresses | ||
| : By default all the local-data that you configured | : By default all the local-data that you configured | ||
| : We consider to enable this for the RFC1918 private IP address space by default | : We consider to enable this for the RFC1918 private IP address space by default | ||
| - | | + | |
| : Si non nulles, les réponses indésirables ne sont pas seulement signalés dans les statistiques, | : Si non nulles, les réponses indésirables ne sont pas seulement signalés dans les statistiques, | ||
| : **Par défaut : 0 (désactivé)**. | : **Par défaut : 0 (désactivé)**. | ||
| - | | + | |
| : Interdire de répondre aux requêtes du localhost ? | : Interdire de répondre aux requêtes du localhost ? | ||
| : **Par défaut : yes** (localhost est interdit) | : **Par défaut : yes** (localhost est interdit) | ||
| : Si no, localhost est utilisable. | : Si no, localhost est utilisable. | ||
| - | | + | |
| : Est-ce que cette section supplémentaire, | : Est-ce que cette section supplémentaire, | ||
| : **Par défaut : yes**. | : **Par défaut : yes**. | ||
| - | | + | |
| : If chroot is enabled, you should pass the configfile | : If chroot is enabled, you should pass the configfile | ||
| : All other file paths (working dir, logfile, roothints, | : All other file paths (working dir, logfile, roothints, | ||
| Ligne 142: | Ligne 780: | ||
| : The default is "/ | : The default is "/ | ||
| : If you give "" | : If you give "" | ||
| - | | + | |
| : If given, | : If given, | ||
| : If this user is not capable of binding the port, reloads (by signal HUP) will still retain the opened ports. | : If this user is not capable of binding the port, reloads (by signal HUP) will still retain the opened ports. | ||
| - | | + | |
| : Sets | : Sets | ||
| - | | + | |
| : Sets unbound to send log messages to the syslogd, | : Sets unbound to send log messages to the syslogd, | ||
| : **The default is to log to syslog**. | : **The default is to log to syslog**. | ||
| - | | + | |
| : The process | : The process | ||
| : Default | : Default | ||
| - | | + | |
| : Read the root hints from this file. | : Read the root hints from this file. | ||
| : Default is nothing, using builtin hints for the IN class. The file has the format of zone files, | : Default is nothing, using builtin hints for the IN class. The file has the format of zone files, | ||
| Ligne 190: | Ligne 828: | ||
| Il génère tous les sous-domaines xxx.localhost, | Il génère tous les sous-domaines xxx.localhost, | ||
| - | ==== Exemples | + | === Serveur DNS avec déclaration automatique des sous-domaines |
| + | |||
| + | Ouvrez avec les droits d' | ||
| + | |||
| + | Voici un exemple de fichier unbound.conf : | ||
| + | |||
| + | <WRAP center round info 60%> | ||
| + | Nous créons ici des noms *.dev.com | ||
| + | </ | ||
| + | |||
| + | |||
| + | <code - / | ||
| + | server: | ||
| + | verbosity: 1 | ||
| + | |||
| + | interface: 192.168.0.31 | ||
| + | |||
| + | access-control: | ||
| + | chroot: "" | ||
| + | |||
| + | logfile: "/ | ||
| + | use-syslog: no | ||
| + | |||
| + | local-zone: " | ||
| + | local-data: " | ||
| + | |||
| + | # Utilisation du DNS " | ||
| + | forward-zone: | ||
| + | name: " | ||
| + | forward-addr: | ||
| + | </ | ||
| + | |||
| + | <WRAP center round box 60%> | ||
| + | ; verbosity | ||
| + | : degré de précision des messages | ||
| + | ; interface | ||
| + | : adresse réseau du serveur (il peut y avoir plusieurs lignes pour plusieurs adresses | ||
| + | ; access-control: | ||
| + | : | ||
| + | ; 0.0.0.0/0 allow | ||
| + | : ouverture à tout le monde | ||
| + | ; logfile: | ||
| + | : emplacement du fichier de log | ||
| + | ; use-syslog: no | ||
| + | : pour ne pas " | ||
| + | ; local-zone: | ||
| + | : la zone *.dev.com | ||
| + | ; local-zone: " | ||
| + | : crée les redirections | ||
| + | ; local-data: " | ||
| + | : IP de la machine qui sert ce domaine et ses sous-domaines | ||
| + | ; forward-zone: | ||
| + | : Utilisation du DNS " | ||
| + | ; name: " | ||
| + | : pour tout le reste | ||
| + | ; forward-addr: | ||
| + | : DNS de la box | ||
| + | |||
| + | </ | ||
| + | |||
| + | === Test === | ||
| + | |||
| + | Lancez :<cli prompt=' | ||
| + | |||
| + | === Exemples | ||
| Exemple fourni avec le paquet | Exemple fourni avec le paquet | ||
| Ligne 346: | Ligne 1048: | ||
| Cette liste n'est pas exhaustive ; le fichier suivant contient un grand nombre de domaines utilisés par un grande nombre de régies publicitaires : [[https:// | Cette liste n'est pas exhaustive ; le fichier suivant contient un grand nombre de domaines utilisés par un grande nombre de régies publicitaires : [[https:// | ||
| + | ==== Sous Windows ==== | ||
| + | |||
| + | La configuration se fait en éditant le fichier **C: | ||
| + | |||
| + | A ce même endroit se trouve un fichier exemple **C: | ||
| ===== Utilisation ===== | ===== Utilisation ===== | ||
| - | ==== Contrôle ==== | + | ==== Sous ubuntu ==== |
| + | |||
| + | === Contrôle === | ||
| + | |||
| + | - **Relancer le service** :<cli prompt=' | ||
| + | - Démarrer **unbound** :<cli prompt=' | ||
| + | - Arrêter **unbound** :<cli prompt=' | ||
| + | - Redémarrer **unbound** :<cli prompt=' | ||
| + | - Connaître l' | ||
| - | * Démarrer **unbound** :<cli prompt='$ '> | + | ==== Sous Windows ==== |
| - | * Arrêter **unbound** :<cli prompt='$ '> | + | |
| - | * Redémarrer **unbound** :<cli prompt='$ '> | + | |
| - | * Connaître l' | + | |
| ==== Utilisation depuis les autres machines ==== | ==== Utilisation depuis les autres machines ==== | ||
| Ligne 366: | Ligne 1078: | ||
| ===== Voir aussi ===== | ===== Voir aussi ===== | ||
| + | * **(en)** [[http:// | ||
| * **(fr)** doc ubuntu : [[https:// | * **(fr)** doc ubuntu : [[https:// | ||
| * **(fr)** [[https:// | * **(fr)** [[https:// | ||
| * **(fr)** [[https:// | * **(fr)** [[https:// | ||
| + | * **(en)** [[http:// | ||
| + | * **(en)** site officiel : [[http:// | ||
| * **(en)** page de man unbound : [[https:// | * **(en)** page de man unbound : [[https:// | ||
| * **(en)** page de man unbound.conf : [[https:// | * **(en)** page de man unbound.conf : [[https:// | ||
| * **(fr)** [[logiciel: | * **(fr)** [[logiciel: | ||
| + | * **(en)** tutoriel [[https:// | ||
| ---- | ---- | ||
| - | //Basé sur << [[https://doc.ubuntu-fr.org/unbound]] >> par doc ubuntu.// | + | //Basé sur << [[http://unbound.net/ |