1Unbound Features 2 3(C) Copyright 2008, Wouter Wijngaards, NLnet Labs. 4 5 6This document describes the features and RFCs that unbound 7adheres to, and which ones are decided to be out of scope. 8 9 10Big Features 11------------ 12Recursive service. 13Caching service. 14Forwarding and stub zones. 15Very limited authoritative service. 16DNSSEC Validation options. 17EDNS0, NSEC3, IPv6, DNAME, Unknown-RR-types. 18RSASHA256, GOST, ECDSA, SHA384 DNSSEC algorithms. 19 20Details 21------- 22Processing support 23RFC 1034-1035: as a recursive, caching server. Not authoritative. 24 including CNAMEs, referrals, wildcards, classes, ... 25 AAAA type, and IP6 dual stack support. 26 type ANY queries are supported, class ANY queries are supported. 27RFC 1123, 6.1 Requirements for DNS of internet hosts. 28RFC 4033-4035: as a validating caching server (unbound daemon). 29 as a validating stub (libunbound). 30RFC 1918. 31RFC 1995, 1996, 2136: not authoritative, so no AXFR, IXFR, NOTIFY or 32 dynamic update services are appropriate. 33RFC 2181: completely, including the trust model, keeping rrsets together. 34RFC 2308: TTL directive, and the rest of the RFC too. 35RFC 2671: EDNS0 support, default advertisement 4Kb size. 36RFC 2672: DNAME support. 37RFC 3597: Unknown RR type support. 38RFC 4343: case insensitive handling of domain names. 39RFC 4509: SHA256 DS hash. 40RFC 4592: wildcards. 41RFC 4697: No DNS Resolution Misbehavior. 42RFC 5001: DNS Name Server Identifier (NSID) Option 43RFC 5011: update of trust anchors with timers. 44RFC 5155: NSEC3, NSEC3PARAM types 45RFC 5358: reflectors-are-evil: access control list for recursive 46 service. In fact for all DNS service so cache snooping is halted. 47RFC 5452: forgery resilience. all recommendations followed. 48RFC 5702: RSASHA256 signature algorithm. 49RFC 5933: GOST signature algorithm. 50RFC 6303: default local zones. 51 It is possible to block zones or return an address for localhost. 52 This is a very limited authoritative service. Defaults as in draft. 53RFC 6604: xNAME RCODE and status bits. 54RFC 6605: ECDSA signature algorithm, SHA384 DS hash. 55 56chroot and drop-root-privileges support, default enabled in config file. 57 58AD bit in query can be used to request AD bit in response (w/o using DO bit). 59CD bit in query can be used to request bogus data. 60UDP and TCP service is provided downstream. 61UDP and TCP are used to request from upstream servers. 62SSL wrapped TCP service can be used upstream and provided downstream. 63Multiple queries can be made over a TCP stream. 64 65No TSIG support at this time. 66No SIG0 support at this time. 67No dTLS support at this time. 68This is not a DNS statistics package, but some operationally useful 69values are provided via unbound-control stats. 70TXT RRs from the Chaos class (id.server, hostname.bind, ...) are supported. 71 72draft-0x20: implemented, use caps-for-id option to enable use. 73 Also implements bitwise echo of the query to support downstream 0x20. 74draft-ietf-dnsop-resolver-priming(-00): can prime and can fallback to 75 a safety belt list. 76draft-ietf-dnsop-dnssec-trust-anchor(-01): DS records can be configured 77 as trust anchors. Also DNSKEYs are allowed, by the way. 78draft-ietf-dnsext-dnssec-bis-updates: supported. 79 80Record type syntax support, extensive, from lib ldns. 81For these types only syntax and parsing support is needed. 82RFC 1034-1035: basic RR types. 83RFC 1183: RP, AFSDB, X25, ISDN, RT 84RFC 1706: NSAP 85RFC 2535: KEY, SIG, NXT: treated as unknown data, syntax is parsed (obsolete). 862163: PX 87AAAA type 881876: LOC type 892782: SRV type 902915: NAPTR type. 912230: KX type. 922538: CERT type. 932672: DNAME type. 94OPT type 953123: APL 963596: AAAA 97SSHFP type 984025: IPSECKEY 994033-4035: DS, RRSIG, NSEC, DNSKEY 1004701: DHCID 1015155: NSEC3, NSEC3PARAM 1024408: SPF 1036944: DNSKEY algorithm status 104 105