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édenteProchaine révisionLes deux révisions suivantes | ||
logiciel:internet:unbound:start1 [2021/04/03 11:19] – [Installation] admin | logiciel:internet:unbound:start [2021/04/03 11:58] – [Exemples] admin | ||
---|---|---|---|
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 RPI dans cet exemple). | ||
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%> | ||
+ | Les fichiers de configuration (nommés **< | ||
+ | |||
+ | 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 | ||
+ | |||
+ | Téléchargez le fichier **named.cache** (liste des serveurs DNS racines sur lequel s' | ||
+ | < | ||
+ | |||
+ | Voici l' | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | ? verbosity: < | ||
+ | : Niveau de détail des messages. | ||
+ | * 0 => pas de message, que les erreurs. | ||
+ | * **1 => informations opérationnelles.** (par défaut) | ||
+ | * 2 => informations opérationnelles détaillées. | ||
+ | * 3 => informations au niveau requête, classées par requête. | ||
+ | * 4 => informations au niveau de l' | ||
+ | * 5 => enregistre l' | ||
+ | ? interface: <ip address[@port]> | ||
+ | : Interface à utiliser pour se connecter au réseau. | ||
+ | : **Par défaut : localhost, port par défaut (fourni par le paramètre port, 53 sinon)**. | ||
+ | : Cette interface sert à l’écoute des requêtes des clients et au renvoi des réponses. | ||
+ | : 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. | ||
+ | ? port: <port number> | ||
+ | : Numéro de port sur lequel le serveur répond aux requêtes. | ||
+ | : **par défaut : 53** | ||
+ | ? do-ip4: <yes or no> | ||
+ | : Active ou désactive les réponses aux requêtes IP4. | ||
+ | : **Par défaut : yes**. | ||
+ | ? do-ip6: <yes or no> | ||
+ | : Active ou désactive les réponses aux requêtes IP6. | ||
+ | : **Par défaut : yes**. | ||
+ | ? do-udp: <yes or no> | ||
+ | : Active ou désactive les réponses aux requêtes UDP. | ||
+ | : **Par défaut : yes**. | ||
+ | ? do-tcp: <yes or no> | ||
+ | : Active ou désactive les réponses aux requêtes TCP. | ||
+ | : **Par défaut : yes**. | ||
+ | ? do-daemonize: | ||
+ | : Active ou désactive le fonctionnement en arrière-plan (comme un démon). | ||
+ | : **Par défaut : yes**. | ||
+ | ? access-control: | ||
+ | : **netblock** : plage d' | ||
+ | : Actions possibles : deny, refuse, allow, allow_snoop, | ||
+ | * **deny** : bloque les requêtes des hôtes de cette plage d' | ||
+ | * **refuse** : bloque aussi les requêtes mais renvoie un message d' | ||
+ | * **allow** autorise les requêtes des hôtes de cette plage d' | ||
+ | * **allow_snoop** autorise aussi l' | ||
+ | * **deny_non_local** : les messages non autorisés sont sautés | ||
+ | * **refuse_non_local** ils reçoivent le code d' | ||
+ | : 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é**. | ||
+ | ? root-hints: < | ||
+ | : Lire les indications de racine dans ce fichier. | ||
+ | : **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. | ||
+ | ? hide-identity: | ||
+ | ? hide-version: | ||
+ | : Cacher les infos sur le serveur DNS. | ||
+ | ? harden-glue: | ||
+ | : limite l' | ||
+ | : **Par défaut : yes.** | ||
+ | ? harden-dnssec-stripped: | ||
+ | : Requérir les infos DNSSEC pour les zones de confiance. | ||
+ | : **Par défaut : on**. | ||
+ | ? use-caps-for-id: | ||
+ | : Ne pas tenir compte de la casse dans la requête : MonSite.com équivaut à monsite.com. | ||
+ | : **no par défaut** | ||
+ | ? cache-min-ttl: | ||
+ | : valeur mini de la TTL en secondes. Ne pas dépasser 1h | ||
+ | : **Par défaut : 0**. | ||
+ | ? prefetch: <yes or no> | ||
+ | : 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**. | ||
+ | ? num-threads: | ||
+ | : Le nombre de threads à créer pour servir les clients. Utilisez 1 pour pas de threading. | ||
+ | ? msg-cache-slabs: | ||
+ | ? rrset-cache-slabs: | ||
+ | ? infra-cache-slabs: | ||
+ | ? key-cache-slabs: | ||
+ | : Nombre de slabs à utiliser . Doit être une puissance de 2 du num-threads. | ||
+ | ? rrset-cache-size: | ||
+ | ? msg-cache-size: | ||
+ | : Taille du cache. A plain number is in bytes, append ' | ||
+ | : **Par défaut : 4 mégaoctets**. | ||
+ | ? so-rcvbuf: < | ||
+ | : 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) | ||
+ | ? private-address: | ||
+ | : Give IPv4 of IPv6 addresses | ||
+ | : By default all the local-data that you configured | ||
+ | : We consider to enable this for the RFC1918 private IP address space by default | ||
+ | ? unwanted-reply-threshold: | ||
+ | : Si non nulles, les réponses indésirables ne sont pas seulement signalés dans les statistiques, | ||
+ | : **Par défaut : 0 (désactivé)**. | ||
+ | ? do-not-query-localhost: | ||
+ | : Interdire de répondre aux requêtes du localhost ? | ||
+ | : **Par défaut : yes** (localhost est interdit) | ||
+ | : Si no, localhost est utilisable. | ||
+ | ? val-clean-additional: | ||
+ | : Est-ce que cette section supplémentaire, | ||
+ | : **Par défaut : yes**. | ||
+ | ? chroot: < | ||
+ | : If chroot is enabled, you should pass the configfile | ||
+ | : All other file paths (working dir, logfile, roothints, | ||
+ | : The pidfile can be either a relative path to the working directory, or an absolute path relative to the original root. It is written | ||
+ | : Additionally, | ||
+ | : If given a chroot is done to the given directory. | ||
+ | : The default is "/ | ||
+ | : If you give "" | ||
+ | ? username: < | ||
+ | : If given, | ||
+ | : If this user is not capable of binding the port, reloads (by signal HUP) will still retain the opened ports. | ||
+ | ? directory: < | ||
+ | : Sets | ||
+ | ? use-syslog: <yes or no> | ||
+ | : Sets unbound to send log messages to the syslogd, | ||
+ | : **The default is to log to syslog**. | ||
+ | ? pidfile: < | ||
+ | : The process | ||
+ | : Default | ||
+ | ? root-hints: < | ||
+ | : 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, | ||
+ | |||
+ | </ | ||
+ | |||
+ | <WRAP center round box 60%> | ||
+ | Voici un exemple commenté< | ||
+ | server: | ||
+ | # Répondre aux requêtes DNS sur toutes les interfaces réseau. | ||
+ | interface: 0.0.0.0 | ||
+ | | ||
+ | # plage adresses ip autorisées à consulter le serveur dns : | ||
+ | # uniquement le réseau local | ||
+ | access-control: | ||
+ | | ||
+ | # Ignorer la casse | ||
+ | # HomeServer-DIY.net sera traduit en homeserver-diy.net et le serveur et communiquera la bonne IP | ||
+ | use-caps-for-id: | ||
+ | | ||
+ | # Renforcer la vie privée des adresses du LAN. Ne mettre que des adresses locales | ||
+ | private-address: | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Pour créer des DNS avec tous les sous-domaines, | ||
+ | |||
+ | Exemple pour localhost : | ||
+ | <code - > | ||
+ | server: | ||
+ | # zone *.localhost | ||
+ | local-zone: " | ||
+ | local-data: " | ||
+ | </ | ||
+ | |||
+ | Il génère tous les sous-domaines xxx.localhost, | ||
+ | |||
+ | === 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 | ||
+ | <code - / | ||
+ | server: | ||
+ | # Les lignes suivantes concernent la configuration de unbound pour les | ||
+ | # performance crypto DNSSEC en utilisant la clé des serveurs root | ||
+ | auto-trust-anchor-file: | ||
+ | | ||
+ | # Activer les logs | ||
+ | # verbosity: 1 (par défaut) | ||
+ | | ||
+ | #Répondre aux requêtes DNS sur toutes les interfaces réseau. | ||
+ | interface: 0.0.0.0 | ||
+ | | ||
+ | #Port sur lequel sont fait les requêtes DNS | ||
+ | #port: 53 (par défaut) | ||
+ | | ||
+ | #support de l'IPv4 | ||
+ | #do-ip4: yes (par défaut) | ||
+ | | ||
+ | #support de l'IPv6 | ||
+ | do-ip6: no | ||
+ | | ||
+ | #support udp | ||
+ | #do-udp: yes (par défaut) | ||
+ | | ||
+ | #support tcp | ||
+ | #do-tcp: yes (par défaut) | ||
+ | | ||
+ | #plages adresse ip autorisée à consulter le serveur dns | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | | ||
+ | #plage ip comprise entre 192.168.0.0 et 192.168.255.255 | ||
+ | access-control: | ||
+ | | ||
+ | # | ||
+ | #fichier à télécharger là à cette adresse: ftp:// | ||
+ | root-hints: "/ | ||
+ | | ||
+ | #Cacher les infos sur le serveur DNS | ||
+ | hide-identity: | ||
+ | hide-version: | ||
+ | | ||
+ | #paramètre limitant l' | ||
+ | harden-glue: | ||
+ | | ||
+ | #Requérir les infos DNSSEC pour les zones de confiance | ||
+ | harden-dnssec-stripped: | ||
+ | | ||
+ | #Options permettant de ne pas prendre la casse en compte lors des requêtes d' | ||
+ | # | ||
+ | | ||
+ | use-caps-for-id: | ||
+ | | ||
+ | #valeur mini de la TTL en secondes. Ne pas dépasser 1h | ||
+ | cache-min-ttl: | ||
+ | | ||
+ | #valeur max de la TTL en secondes. | ||
+ | cache-max-ttl: | ||
+ | | ||
+ | #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. | ||
+ | prefetch: yes | ||
+ | | ||
+ | #nombre de core du serveur dns | ||
+ | num-threads: | ||
+ | | ||
+ | ## Tweaks et optimisations du cache | ||
+ | #Nombre de slabs à utiliser . Doit être une puissance de 2 du num-threads. | ||
+ | msg-cache-slabs: | ||
+ | rrset-cache-slabs: | ||
+ | infra-cache-slabs: | ||
+ | key-cache-slabs: | ||
+ | | ||
+ | #Réglage de la taille du cache en Mo: | ||
+ | rrset-cache-size: | ||
+ | msg-cache-size: | ||
+ | | ||
+ | #Taille du buffer pour le port UPD en entrée. Evite la perte de message lors des requêtes | ||
+ | so-rcvbuf: 1m | ||
+ | | ||
+ | #Renforcer la vie privée des adresses du LAN. Ne mettre que des adresses locales | ||
+ | private-address: | ||
+ | | ||
+ | #Si non nulles, les réponses indésirables ne sont pas seulement signalés dans les statistiques, | ||
+ | #mais aussi ajoutées à un total cumulé maintenu par thread. | ||
+ | #Si elle atteint le seuil, un avertissement est affiché et une action défensive est prise, le cache est vidé pour éviter l' | ||
+ | #Une valeur de 10000 est suggérée, la valeur par défaut est de 0 (service désactivé). | ||
+ | unwanted-reply-threshold: | ||
+ | | ||
+ | #Autorisé à répondre aux requêtes du localhost | ||
+ | do-not-query-localhost: | ||
+ | | ||
+ | # | ||
+ | # | ||
+ | # Est-ce que cette section supplémentaire, | ||
+ | # Utile pour protéger les utilisateurs d'une validation de données potentiellement boguées | ||
+ | # Toutes les données non signés dans la section supplémentaire seront retirés des messages sécurisés | ||
+ | val-clean-additional: | ||
+ | </ | ||
+ | |||
+ | Conf de Korben, Voir : [[http:// | ||
+ | |||
+ | <code - > | ||
+ | server: | ||
+ | #verbosity: 1 | ||
+ | interface: 0.0.0.0 | ||
+ | #port: 53 | ||
+ | #do-ip4: yes | ||
+ | #do-ip6: yes | ||
+ | #do-udp: yes | ||
+ | #do-tcp: yes | ||
+ | do-daemonize: | ||
+ | access-control: | ||
+ | # | ||
+ | # | ||
+ | chroot: "/ | ||
+ | username: " | ||
+ | directory: "/ | ||
+ | use-syslog: yes | ||
+ | pidfile: "/ | ||
+ | root-hints: "/ | ||
+ | </ | ||
+ | |||
+ | avec un utilisateur dédié créé par : | ||
+ | * < | ||
+ | sudo useradd -d / | ||
+ | |||
+ | Le répertoire / | ||
+ | |||
+ | Bloquer les pubs sur internet | ||
+ | |||
+ | De nombreuses pages web contiennent du code qui affiche des pubs en s' | ||
+ | |||
+ | Pour bloquer ces pubs, il suffit de configurer **unbound** pour qu'il retourne une adresse IP non attribuée du réseau local. Mais celle du localhost de l' | ||
+ | |||
+ | <code - > | ||
+ | local-zone: " | ||
+ | local-data: " | ||
+ | local-zone: " | ||
+ | local-data: " | ||
+ | local-zone: " | ||
+ | local-data: " | ||
+ | local-zone: " | ||
+ | local-data: " | ||
+ | local-zone: " | ||
+ | local-data: " | ||
+ | local-zone: " | ||
+ | local-data: " | ||
+ | </ | ||
+ | |||
+ | 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:// | ||
===== Utilisation ===== | ===== Utilisation ===== | ||
+ | |||
+ | ==== 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' | ||
+ | |||
+ | ==== Sous Windows ==== | ||
+ | |||
+ | ==== Utilisation depuis les autres machines ==== | ||
+ | |||
+ | Le plus simple est d' | ||
+ | {{ logiciel: | ||
===== Désinstallation ===== | ===== Désinstallation ===== | ||
+ | * Pour supprimer cette application, | ||
+ | * ou pour effacer tout :<cli prompt=' | ||
===== Voir aussi ===== | ===== Voir aussi ===== | ||
- | * **(fr)** [[http://Article]] | + | * **(fr)** doc ubuntu : [[https:// |
+ | * **(fr)** [[https:// | ||
+ | * **(fr)** [[https:// | ||
+ | * **(en)** [[http://blog.loicg.net/ | ||
+ | * **(en)** site officiel : [[http:// | ||
+ | * **(en)** page de man unbound : [[https:// | ||
+ | * **(en)** page de man unbound.conf : [[https:// | ||
+ | * **(fr)** [[logiciel: | ||
+ | * **(en)** tutoriel [[https:// | ||
---- | ---- | ||
- | //Basé sur << [[http://Article|Article]] >> par Auteur.// | + | //Basé sur << [[https://doc.ubuntu-fr.org/ |