1*91f7d55fSchristosREADME for Unbound 1.19.1 23b6c3722SchristosCopyright 2007 NLnet Labs 33b6c3722Schristoshttp://unbound.net 43b6c3722Schristos 53b6c3722SchristosThis software is under BSD license, see LICENSE for details. 63b6c3722SchristosThe DNS64 module has BSD license in dns64/dns64.c. 73b6c3722SchristosThe DNSTAP code has BSD license in dnstap/dnstap.c. 83b6c3722Schristos 93b6c3722Schristos* Download the latest release version of this software from 103b6c3722Schristos http://unbound.net 113b6c3722Schristos or get a beta version from the svn repository at 123b6c3722Schristos http://unbound.net/svn/ 133b6c3722Schristos 143b6c3722Schristos* Uses the following libraries; 153b6c3722Schristos * libevent http://www.monkey.org/~provos/libevent/ (BSD license) 163b6c3722Schristos (optional) can use builtin alternative instead. 173b6c3722Schristos * libexpat (for the unbound-anchor helper program) (MIT license) 183b6c3722Schristos 193b6c3722Schristos* Make and install: ./configure; make; make install 203b6c3722Schristos * --with-libevent=/path/to/libevent 213b6c3722Schristos Can be set to either the system install or the build directory. 223b6c3722Schristos --with-libevent=no (default) gives a builtin alternative 233b6c3722Schristos implementation. libevent is useful when having many (thousands) 243b6c3722Schristos of outgoing ports. This improves randomization and spoof 253b6c3722Schristos resistance. For the default of 16 ports the builtin alternative 263b6c3722Schristos works well and is a little faster. 273b6c3722Schristos * --with-libexpat=/path/to/libexpat 283b6c3722Schristos Can be set to the install directory of libexpat. 293b6c3722Schristos * --without-pthreads 303b6c3722Schristos This disables pthreads. Without this option the pthreads library 313b6c3722Schristos is detected automatically. Use this option to disable threading 323b6c3722Schristos altogether, or, on Solaris, also use --with(out)-solaris-threads. 333b6c3722Schristos * --enable-checking 343b6c3722Schristos This enables assertions in the code that guard against a variety of 353b6c3722Schristos programming errors, among which buffer overflows. The program exits 363b6c3722Schristos with an error if an assertion fails (but the buffer did not overflow). 373b6c3722Schristos * --enable-static-exe 383b6c3722Schristos This enables a debug option to statically link against the 393b6c3722Schristos libevent library. 403b6c3722Schristos * --enable-lock-checks 413b6c3722Schristos This enables a debug option to check lock and unlock calls. It needs 423b6c3722Schristos a recent pthreads library to work. 433b6c3722Schristos * --enable-alloc-checks 443b6c3722Schristos This enables a debug option to check malloc (calloc, realloc, free). 453b6c3722Schristos The server periodically checks if the amount of memory used fits with 463b6c3722Schristos the amount of memory it thinks it should be using, and reports 473b6c3722Schristos memory usage in detail. 483b6c3722Schristos * --with-conf-file=filename 493b6c3722Schristos Set default location of config file, 503b6c3722Schristos the default is /usr/local/etc/unbound/unbound.conf. 513b6c3722Schristos * --with-pidfile=filename 523b6c3722Schristos Set default location of pidfile, 533b6c3722Schristos the default is /usr/local/etc/unbound/unbound.pid. 543b6c3722Schristos * --with-run-dir=path 553b6c3722Schristos Set default working directory, 563b6c3722Schristos the default is /usr/local/etc/unbound. 573b6c3722Schristos * --with-chroot-dir=path 583b6c3722Schristos Set default chroot directory, 593b6c3722Schristos the default is /usr/local/etc/unbound. 603b6c3722Schristos * --with-rootkey-file=path 613b6c3722Schristos Set the default root.key path. This file is read and written. 623b6c3722Schristos the default is /usr/local/etc/unbound/root.key 633b6c3722Schristos * --with-rootcert-file=path 643b6c3722Schristos Set the default root update certificate path. A builtin certificate 653b6c3722Schristos is used if this file is empty or does not exist. 663b6c3722Schristos the default is /usr/local/etc/unbound/icannbundle.pem 673b6c3722Schristos * --with-username=user 683b6c3722Schristos Set default user name to change to, 693b6c3722Schristos the default is the "unbound" user. 703b6c3722Schristos * --with-pyunbound 713b6c3722Schristos Create libunbound wrapper usable from python. 723b6c3722Schristos Needs python-devel and swig development tools. 733b6c3722Schristos * --with-pythonmodule 743b6c3722Schristos Compile the python module that processes responses in the server. 753b6c3722Schristos * --disable-sha2 763b6c3722Schristos Disable support for RSASHA256 and RSASHA512 crypto. 773b6c3722Schristos * --disable-gost 783b6c3722Schristos Disable support for GOST crypto, RFC 5933. 79f42d8de7Schristos * --enable-subnet 80f42d8de7Schristos Enable EDNS client subnet processing. 813b6c3722Schristos 823b6c3722Schristos* 'make test' runs a series of self checks. 833b6c3722Schristos 843b6c3722SchristosKnown issues 853b6c3722Schristos------------ 863b6c3722Schristoso If there are no replies for a forward or stub zone, for a reverse zone, 873b6c3722Schristos you may need to add a local-zone: name transparent or nodefault to the 883b6c3722Schristos server: section of the config file to unblock the reverse zone. 893b6c3722Schristos Only happens for (sub)zones that are blocked by default; e.g. 10.in-addr.arpa 903b6c3722Schristoso If libevent is older (before 1.3c), unbound will exit instead of reload 913b6c3722Schristos on sighup. On a restart 'did not exit gracefully last time' warning is 923b6c3722Schristos printed. Perform ./configure --with-libevent=no or update libevent, rerun 933b6c3722Schristos configure and recompile unbound to make sighup work correctly. 943b6c3722Schristos It is strongly suggested to use a recent version of libevent. 953b6c3722Schristoso If you are not receiving the correct source IP address on replies (e.g. 963b6c3722Schristos you are running a multihomed, anycast server), the interface-automatic 973b6c3722Schristos option can be enabled to set socket options to achieve the correct 983b6c3722Schristos source IP address on UDP replies. Listing all IP addresses explicitly in 993b6c3722Schristos the config file is an alternative. The interface-automatic option uses 1003b6c3722Schristos non portable socket options, Linux and FreeBSD should work fine. 1013b6c3722Schristoso The warning 'openssl has no entropy, seeding with time', with chroot 10201049ae6Schristos enabled, may be solved with a symbolic link to /dev/urandom from <chrootdir>. 1033b6c3722Schristoso On Solaris 5.10 some libtool packages from repositories do not work with 1043b6c3722Schristos gcc, showing errors gcc: unrecognized option `-KPIC' 1053b6c3722Schristos To solve this do ./configure libtool=./libtool [your options...]. 1063b6c3722Schristos On Solaris you may pass CFLAGS="-xO4 -xtarget=generic" if you use sun-cc. 1073b6c3722Schristoso If unbound-control (or munin graphs) do not work, this can often be because 1083b6c3722Schristos the unbound-control-setup script creates the keys with restricted 1093b6c3722Schristos permissions, and the files need to be made readable or ownered by both the 1103b6c3722Schristos unbound daemon and unbound-control. 1113b6c3722Schristoso Crosscompile seems to hang. You tried to install unbound under wine. 1123b6c3722Schristos wine regedit and remove all the unbound entries from the registry or 1133b6c3722Schristos delete .wine/drive_c. 1143b6c3722Schristos 1153b6c3722SchristosAcknowledgements 1163b6c3722Schristos---------------- 1173b6c3722Schristoso Unbound was written in portable C by Wouter Wijngaards (NLnet Labs). 1183b6c3722Schristoso Thanks to David Blacka and Matt Larson (Verisign) for the unbound-java 1193b6c3722Schristos prototype. Design and code from that prototype has been used to create 1203b6c3722Schristos this program. Such as the iterator state machine and the cache design. 1213b6c3722Schristoso Other code origins are from the NSD (NLnet Labs) and LDNS (NLnet Labs) 1223b6c3722Schristos projects. Such as buffer, region-allocator and red-black tree code. 1233b6c3722Schristoso See Credits file for contributors. 1243b6c3722Schristos 1253b6c3722Schristos 1263b6c3722SchristosYour Support 1273b6c3722Schristos------------ 1283b6c3722SchristosNLnet Labs offers all of its software products as open source, most are 1293b6c3722Schristospublished under a BSD license. You can download them, not only from the 1303b6c3722SchristosNLnet Labs website but also through the various OS distributions for 1313b6c3722Schristoswhich NSD, ldns, and Unbound are packaged. We therefore have little idea 1323b6c3722Schristoswho uses our software in production environments and have no direct ties 1333b6c3722Schristoswith 'our customers'. 1343b6c3722Schristos 1353b6c3722SchristosTherefore, we ask you to contact us at users@NLnetLabs.nl and tell us 1363b6c3722Schristoswhether you use one of our products in your production environment, 1373b6c3722Schristoswhat that environment looks like, and maybe even share some praise. 1383b6c3722SchristosWe would like to refer to the fact that your organization is using our 1393b6c3722Schristosproducts. We will only do that if you explicitly allow us. In all other 1403b6c3722Schristoscases we will keep the information you share with us to ourselves. 1413b6c3722Schristos 1423b6c3722SchristosIn addition to the moral support you can also support us 1433b6c3722Schristosfinancially. NLnet Labs is a recognized not-for-profit charity foundation 1443b6c3722Schristosthat is chartered to develop open-source software and open-standards 1453b6c3722Schristosfor the Internet. If you use our software to satisfaction please express 1463b6c3722Schristosthat by giving us a donation. For small donations PayPal can be used. For 1473b6c3722Schristoslarger and regular donations please contact us at users@NLnetLabs.nl. Also 1483b6c3722Schristossee http://www.nlnetlabs.nl/labs/contributors/. 1493b6c3722Schristos 1503b6c3722Schristos 1513b6c3722Schristos* mailto:unbound-bugs@nlnetlabs.nl 152