Unbound - DNS récursif (utilisé par OPNsense)
Find a file
David Gwynne feb101bc70 big hammer to get ip-transparent working with pf divert-to rules on obsd.
if you divert all dns requests to an unbound server, this sets
things up so replies to diverted udp requests come from what looks
like the right IP.

set_recvpktinfo() needs to be called on listening sockets so the
kernel will wire up the control messages that include the original
destination ip address of the packet.

comm_point_create_udp_ancil() needs to be used instead of
comm_point_create_udp() so it will use recvmsg with a control message
buffer and process the CMSGs inside it.

for IP_SENDSRCMSG to work when sending the replies to the diverted
client, the listening socket also has to be set up with the SO_BINDANY
sockopt.
2023-08-17 13:22:28 +10:00
.github - Update github workflows to use checkout v3. 2023-01-02 13:30:03 +01:00
cachedb - For #790: Update formatting in cachedb/cachedb.c 2023-07-31 10:13:01 +02:00
compat - Fix ssl.h include brackets, instead of quotes. 2023-03-16 15:40:43 +01:00
contrib - For #889: use netcat-openbsd instead of netcat-traditional. 2023-07-21 21:04:40 +02:00
daemon - Move a cache reply callback in worker.c closer to the cache reply 2023-08-02 12:33:52 +02:00
dns64 Merge branch 'master' into features/ede-caching 2023-07-13 11:25:59 +02:00
dnscrypt Fix typos 2021-11-13 16:56:15 +02:00
dnstap - Fix unbound-dnstap-socket time fraction conversion for printout. 2023-05-25 16:27:19 +02:00
doc - Move a cache reply callback in worker.c closer to the cache reply 2023-08-02 12:33:52 +02:00
dynlibmod - Fix for #93: dynlibmodule import library is named libunbound.dll.a. 2021-01-14 16:50:17 +01:00
edns-subnet Merge branch 'tilan7663-subnet_cache_prefetch' into subnet_cache_prefetch 2023-07-07 16:50:58 +02:00
ipsecmod - Fix the novel ghost domain issues CVE-2022-30698 and CVE-2022-30699. 2022-08-01 13:24:40 +02:00
ipset - Various fixes for #632: variable initialisation, convert the qinfo 2022-03-02 14:29:56 +01:00
iterator - Merge #759 from Tom Carpay: Add EDE (RFC8914) caching. 2023-07-30 11:48:04 +02:00
libunbound - Remove warning about unknown cast-function-type warning pragma. 2023-06-27 16:44:29 +02:00
pythonmod - Cleaner failure code for callback functions in interface.i. 2023-07-21 16:53:36 +02:00
respip PROXYv2 downstream support (#760) 2022-10-03 15:29:47 +02:00
services big hammer to get ip-transparent working with pf divert-to rules on obsd. 2023-08-17 13:22:28 +10:00
sldns - For #909: Fix RR class comparison. 2023-07-20 12:16:24 +02:00
smallapp Merge branch 'master' of https://github.com/eaglegai/unbound into eaglegai-master 2023-07-21 12:43:47 +02:00
testcode - For #911: Try to trim EXTRA-TEXT (and LDNS_EDE_OTHER options 2023-08-01 09:55:28 +02:00
testdata - Fix to use the now cached EDE, if any, for CD_bit queries. 2023-08-01 15:23:25 +02:00
util - More braces and formatting for Fix for EDNS EDE size calculation to 2023-08-01 15:15:33 +02:00
validator Address review comments for #759: 2023-07-28 14:05:25 +02:00
winrc Cleaner image. 2018-12-03 11:24:51 +00:00
.gitattributes - .gitattributes line for githubs code language display. 2016-11-03 08:29:29 +00:00
.gitignore - Fix to git ignore the library symbol file that configure can create. 2023-02-09 12:08:27 +01:00
.travis.yml - Travis, fix warning in ubsan compile. 2021-03-24 15:34:26 +01:00
ac_pkg_swig.m4 - Fix #1230: swig version 2.0.0 is required for pythonmod, with 2017-03-07 10:40:45 +00:00
aclocal.m4 - Fix for #570: regen aclocal.m4, fix configure.ac for spelling. 2021-11-29 11:41:45 +01:00
acx_nlnetlabs.m4 - Fix to remove unused whitespace from acx_nlnetlabs.m4 and config.h. 2023-05-04 11:17:06 +02:00
acx_python.m4 - Fix python module install path detection. 2023-01-09 15:03:38 +01:00
ax_pthread.m4 - updated ax_pthread.m4 to version 21 with clang support, this 2015-12-11 12:19:12 +00:00
config.guess - Upgrade config.guess(2020-01-01) and config.sub(2020-01-01). 2020-03-03 18:29:11 +01:00
config.h.in - Fix to remove unused whitespace from acx_nlnetlabs.m4 and config.h. 2023-05-04 11:17:06 +02:00
config.sub - Upgrade config.guess(2020-01-01) and config.sub(2020-01-01). 2020-03-03 18:29:11 +01:00
configure - Fix #885: Error: util/configlexer.c: No such file or directory, 2023-05-04 11:12:11 +02:00
configure.ac - Fix #885: Error: util/configlexer.c: No such file or directory, 2023-05-04 11:12:11 +02:00
install-sh - Newer aclocal and libtoolize used for generating configure scripts, 2019-01-24 08:57:47 +00:00
LICENSE - Fix #551: License change "Regents" to "Copyright holder", matching 2014-02-07 12:43:43 +00:00
ltmain.sh - Newer aclocal and libtoolize used for generating configure scripts, 2019-01-24 08:57:47 +00:00
makedist.sh - makedist.sh picks up 32bit libssp-0.dll when 32bit compile. 2022-06-03 15:18:27 +02:00
Makefile.in - Fix #885: Error: util/configlexer.c: No such file or directory, 2023-05-04 11:12:11 +02:00
README gmake no longer needed. 2012-02-10 10:34:15 +00:00
README-Travis.md Fix typos 2021-11-13 16:56:15 +02:00
README.md - Show build status for branch=master. 2023-04-13 11:29:53 +02:00
SECURITY.md add SECURITY.md, based on krill 2022-07-05 16:39:04 +02:00
systemd.m4 - Fix autoconf of systemd check for lack of pkg-config. 2017-02-13 10:15:01 +00:00

Unbound

Github Build Status Packaging status Fuzzing Status Documentation Status Mastodon Follow

Unbound is a validating, recursive, caching DNS resolver. It is designed to be fast and lean and incorporates modern features based on open standards. If you have any feedback, we would love to hear from you. Dont hesitate to create an issue on Github or post a message on the Unbound mailing list. You can learn more about Unbound by reading our documentation.

Compiling

Make sure you have the C toolchain, OpenSSL and its include files, and libexpat installed. Unbound can be compiled and installed using:

./configure && make && make install

You can use libevent if you want. libevent is useful when using many (10000) outgoing ports. By default max 256 ports are opened at the same time and the builtin alternative is equally capable and a little faster.

Use the --with-libevent=dir configure option to compile Unbound with libevent support.

Unbound configuration

All of Unbound's configuration options are described in the man pages, which will be installed and are available on the Unbound documentation page.

An example configuration file is located in doc/example.conf.