Commit graph

73 commits

Author SHA1 Message Date
Julien Cassette
8d60419251 unbound: fix create_host_record_from_host error when dns is not set
The function `create_host_record_from_host` fails if the `dns` option
is not set in the host entry.
This sets a default to the `dns` variable in order to fix this error.

Fixes: #22691

Signed-off-by: Julien Cassette <julien.cassette@gmail.com>
2023-11-22 13:19:00 +01:00
Julien Cassette
b4a31f92de unbound: create extra host records from DHCP static leases
The "Extra DNS" option allows to create records from the DHCP
"Hostnames" configuration entries.
This allows to create such records from the DHCP "Static leases"
configuration entries too.

Fixes: #22593

Signed-off-by: Julien Cassette <julien.cassette@gmail.com>
2023-11-13 10:52:05 +08:00
Mark Mentovai
33581043d2 unbound: fix local_subnet for IPv6 addresses that contain a port
This prevents a forwarding server named like ::1@5453 from being added
to unbound.conf as a forward-host instead of the correct forward-addr.
forward-host requires the name to be resolved, which is impossible in
the absence of another nameserver. Thus, forwarding-only configurations
referencing only the IPv6 loopback address with a port number were
broken.

Signed-off-by: Mark Mentovai <mark@mentovai.com>
2022-12-20 14:33:04 +08:00
Rob Ekl
781a74bb85 unbound: update control cert uci processing
Signed-off-by: Rob Ekl <ekl.rob@gmail.com>
2022-10-09 21:39:43 +02:00
Rosen Penev
94858ece31
Merge pull request #15474 from ja-pa/unbound-ttl-neg
unbound: add cache-max-negative-ttl config option
2021-05-07 15:55:52 -07:00
Peter van Dijk
1bcc98ef90 unbound: fix typo in assist name of https-dns-proxy
I left the old version in, in case users have configs that already correct for this error.

Signed-off-by: Peter van Dijk <peter.van.dijk@powerdns.com>
2021-04-25 16:16:23 +02:00
Jan Pavlinec
9296409e88
unbound: add cache-max-negative-ttl config option
Signed-off-by: Jan Pavlinec <jan.pavlinec@nic.cz>
2021-04-20 12:22:42 +02:00
Eric Luehrsen
658c27ea97 unbound: clean up interface interpretation in UCI
DNS flag day 2020, software should reflect the minimum EDNS 1232 bytes.
Added iface_wan and iface_lan to control internal DNS assignemnts and
to control what is local service ACL. Interface wild cards are not
explicitly set so that they can be customized in extended conf.

Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2020-11-04 19:25:08 -05:00
Eric Luehrsen
b97cdaf612 unbound: improve odhcpd rapid update robustness
Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2020-09-05 10:04:48 -04:00
Eric Luehrsen
f8ba0fe7bf unbound: follow resolv.conf.auto to new location
Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2020-08-07 01:30:52 -04:00
Eric Luehrsen
e81529596d unbound: improve startup and dhcp script robustness
- prevent rapid overlap in DHCP script updates
- check and allow localhost forwards with specific applications
- add option for rate limiting inbound queries
- change UCI list to table format with Unbound conf references

Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2020-07-12 14:56:46 -04:00
Eric Luehrsen
9c655aed3a unbound: add dns assistants on local host
Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2020-06-27 17:17:41 -04:00
Eric Luehrsen
8e0b2d344e unbound: refactor build options to select switches
The two unique packages "Unbound light" and "Unbound heavy"
were not working well due to the fact that Unbound is mostly
its library. Tools and helpers would crash. Instead a reasonable
default Unbound is built. Also up select options like python
are added. libevent and libpthreads are options to down select.

Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2020-06-27 17:17:41 -04:00
Eric Luehrsen
af73a9b9a4 unbound: make option interface_auto default on
Unbound has a quirk and may reply on a different device address.
When Unbound answers with from-address different than it
received queries on, it may cause trouble for select VPN and
firewall configurations. Ensure Unbound replies with the same
address by changing this default.

Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2020-06-13 15:13:45 -04:00
Eric Luehrsen
c95e3835e8 unbound: suggest matched domain option for dnsmasq link
Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2020-06-04 01:13:46 -04:00
David Bauer
da76aeb24c unbound: expose interface-auto to UCI
This exposes the interface-auto option to UCI.

By default, interface-auto is disabled.
This leads to the DNS reply possibly originating from
a different address then the request was sent to.

Devices with a packet filter might not receive the reply in this case.

Enabling interface-auto ensures the reply is sent with the
source-address the request was sent to.

Signed-off-by: David Bauer <mail@david-bauer.net>
2020-06-03 16:05:52 +02:00
Eric Luehrsen
b101dd76fb unbound: fix TLS forwards with optional suffix
Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2020-01-11 15:42:03 -05:00
Eric Luehrsen
c36d8a49fd unbound: update to 1.9.3
Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2019-08-31 01:12:16 -04:00
Eric Luehrsen
68b094d411 unbound: improve a few UCI settings
- treat RFC6762 'local.' as nxdomain because avahi and other services
will disable if SOA or NS records appear in central DNS.
- allow two threads to be enabled with the 'heavy traffic' variant of
Unbound packages.

Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2019-06-19 00:50:28 -04:00
Eric Luehrsen
f1d1530f48 unbound: replace obsolete test expressions
Expressions '-o', '-a', and '\( \)' within test or '[ ]' are obsolete.
POSIX allows few arguments to test, so long expressions are not
portable. '[ p -a q ]' can be replaced with '[ p ] && [ q ]' instead.

Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2019-05-28 09:52:47 +08:00
Eric Luehrsen
1077a04b76 unbound: fix local dns synthesis corner cases
Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2019-04-29 22:34:08 -04:00
Eric Luehrsen
3613928b81
unbound: update readme.md
Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2019-04-17 02:27:30 -04:00
Eric Luehrsen
04f4ab9b92 unbound: fix odhcpd link and axfr zone scripts
- fix AXFR zones to delay a potentially large download with ntp-hotplug
- fix odhcpd link script to properly delete expired lease data from DNS

Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2018-10-24 21:11:45 -04:00
Eric Luehrsen
32ad87ca80 unbound: update to 1.8.0
- adjust a few UCI translations to coordinate with upstream defaults
- remove OpenSSL < 1.1.0 API log error patch which is included upstream

Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2018-09-15 20:42:10 -04:00
Eric Luehrsen
59617f076d unbound: drop odhcpd leases with wrong field count
Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2018-08-16 22:46:49 -04:00
Eric Luehrsen
1cccacf359 unbound: log openssl-1.0.2 lacks TLS host verification
ssl_set1_host() is not available without openssl-1.1.0. Unbound can not do
host cert verification. DNS over TLS connects, but hosts are unverified. A
patch for log err is added with a noitce in README.md.
(see: https://www.nlnetlabs.nl/bugs-script/show_bug.cgi?id=658)

Also, squash some minor robustness and TLS usability fixes.

Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2018-08-10 02:11:13 -04:00
Eric Luehrsen
8830d72bbd unbound: fix boot time and default run directory
Unbound struggles with boot ifup, so procd triggers changed to push
outside of this noise. Unbound has run in /var/lib/unbound/, so chroot
(jail) protects /etc/, and it can save flash wear. Compiled defaults
reflect this now, so Unbound tools are easier run on the command line.

Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2018-08-03 03:27:03 -04:00
Eric Luehrsen
408047628e unbound: add UCI for forward stub and auth zone clauses
With growing interest, DNS over TLS can be setup in Unbounds foward-zone:
clause. A broader UCI solution is added to support forward-, stub-, and
auth- zone clauses in a new 'zone' section. This implentation required
reworking scripts, because they did not scale. 'forward_domain' and
'prefetch_root' options are removed, and superceded by 'zone' section.

Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2018-07-29 23:24:09 -04:00
Eric Luehrsen
0d8159f5c1 unbound: add README recipe for DNS/TLS outside of UCI
Unbound UCI so far has limited forward configuration lacking
DNS over TLS connection setup tools. User override files
'unbound_srv.conf' and 'unbound_ext.conf' can implement this.

Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2018-07-09 01:38:08 -04:00
Eric Luehrsen
21864670fa unbound: limit outside script source to init funciton scope
Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2018-06-26 22:41:00 -04:00
Eric Luehrsen
9493e27e69 unbound: clean up domain periods and unnecessary quotes
Signed-off-by: Eric Luehrsen <ericluehrsen@gmail.com>
2018-06-26 22:41:00 -04:00
Eric Luehrsen
a7fd69233d unbound: improve local zone evaluation in UCI
When UCI local zone is private and static, Unbound covered private
addresses with defaults. Optional delegated global IP6 prefix
protection lacked a static zone, but it was prevented from appearing
in global DNS responses. Domain names router-as-TLD, "lan." and
"local." were static, but they lacked default SOA or NS such as
Unbound had assinged to private addresses. Clean up these local
zones UCI evaluation and block global DNS inclusion.

Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
2018-06-12 22:32:54 -04:00
Eric Luehrsen
36e1aa0892 unbound: add root zone file cache option
Add the possibility to use Unbound auto-zone: clause to
fetch complete root, arpa, in-addr.arpa, and ip6.arpa
zone files. This can speed up recursion when users
access many ccTLD or connection logging hits many PTR.

Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
2018-05-28 23:32:12 -04:00
Eric Luehrsen
cdeefec73e unbound: provide transparent defaults with documentation
Some resource options bundled many Unbound.conf options and
made customizing on top of UCI difficult. Make it easier to
use Unbound built defaults (blank conf sections).

Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
2018-05-28 23:32:12 -04:00
Peter Wagner
14bc5b015a unbound: don't use unitialised vars when UNBOUND_D_DHCP_LINK != odhcpd
Signed-off-by: Peter Wagner <tripolar@gmx.at>
2018-05-01 14:05:30 +02:00
Eric Luehrsen
3d67dcd3cb unbound: fix SLAAC DNS inference
Bug: If DHCPv4 MAC are used to infer SLAAC and the forth position of
the subnet /64 is 0 (X:X:X:0::/64), then DNS records where malformed.

Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
2018-03-19 23:14:00 -04:00
Eric Luehrsen
8b616efb10 unbound: add domain resolution control options
- Add domain_forward to permit designated domains to forward instead
  of recurse as listed in resolve.conf.auto from DHCP WAN client
- Update rebind_protection and add rebind_interface to protect IP6
  GLA locally just like RFC 1918 protection
- Rename trigger to trigger_interface with backwards compatability
- Update odhcpd script for efficiency handling many clients

Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
2018-03-18 14:48:50 -04:00
Daniel Gimpelevich
379e28880b unbound: fix crash when using odhcpd w/o dnsmasq
When using the configuration under "Unbound and odhcpd" in the package's
README.md, the scripts generated a malformed config file for unbound, due
to an "ip route" command giving extra output lines with the string
"anycast" where the awk script expects an address. These are now filtered.

Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
2018-01-18 04:22:12 -08:00
Eric Luehrsen
aa1a835807 unbound: fix uci for option domain-insecure:
Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
2018-01-09 00:21:42 -05:00
Eric Luehrsen
e7f5bbc65e unbound: update options for remote-control
Enhance the 'control' option to allow using SSL
to connect to the server. Add the 'extended_stats'
option to match 'extended-statistics: yes.'
Document the 'extended_luci' option; it does not
control Unbound, but changes the LuCI tabs.

Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
2017-09-22 22:54:32 -04:00
Paul Oranje
39322d45b0 unbound: manage resolv.conf iff when listening on 127.0.0.1#53
With this patch the unbound init routines manage resolv.conf if and only if
when unbound will listen on 127.0.0.1#53 and dnsmasq is not.

Also logs some cases where config values are overriden with sane defaults.

Fixes (partially) LEDE FS#785
Fixes openwrt/packages#4487

Signed-off-by: Paul Oranje <por@xs4all.nl>
2017-06-20 16:31:09 +02:00
Eric Luehrsen
9d96dfd468 unbound: add option for dhcp UCI domain mx srv and cname
Base LEDE/OpenWrt UCI for dnsmasq provides for DNS override in
/etc/config/dhcp. It is desired to be able to use dnsmasq and
Unbound as transparently as possible. Option 'add_extra_dns'
will pull 'domain', 'mxhost', 'srvhost, and 'cname' from base.

netifd/procd have an interaction with DHCPv6/RA on WAN (FS#713).
Minor IP6 parameter updates can cause Unbound reload events every
few minutes. List option 'trigger' selects which interfaces may
cause reload. For example 'lan', 'wan' but not 'wan6'.

Squash other cosmetics.

Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
2017-05-23 00:14:33 -04:00
Eric Luehrsen
e6520cf249 unbound: improve interface trigger behavior
procd interface triggers may be busy. Unbound hard restarts will
flush the cache. This might happen frequently depending on how
interface triggers occur.

Change the procd trigger to reduce occurences. Load this trigger
prior to netifd (START=20), but only truly start Unbound from
the trigger rather than immediately in init. Clean up log entries
in scripts after Unbound, NTP, and DNSSEC are established.

Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
2017-03-26 02:05:46 -04:00
Eric Luehrsen
5f86d50de9 unbound: support copy without dash update
Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
2017-03-21 21:54:25 -04:00
Eric Luehrsen
afa56a6002 unbound: fix hotplug iface and ntp restarts
Unbound is configured to restart on hotplug/iface but this can result
in numerous restarts at boot. Unbound also has a restart for NTP.
This was observed to generate trouble and even with procd robustness
too many crashes might occur (rare). Unbound would not be running.

Give more care to /var/lib/unbound/root.key during restarts. Use procd
for iface restarts. Check pidof() to wait one more second for Unbound.

Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
2017-03-17 23:16:49 -04:00
Eric Luehrsen
a6e8e5384b unbound: bugfix init race condition invalid FQDN
options 'add_local_fqdn' and 'add_wan_fqdn' can be affected
by race conditions when they are at level 4. Interface name
may not be returned by network tools. The conf file has bad
record formats and Unbound just will not load. Detect this
and fall back to only the host FQDN (level 3).

squash: improve documentation wording and format codes.

Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
2017-03-12 22:39:45 -04:00
Audric Schiltknecht
8f9479f433 unbound: fix odhcpd trigger script
Read UNBOUND_TXT_DOMAIN from main unbound configuration.
This prevents records to be added into Unbound in the default 'lan' zone.

Signed-off-by: Audric Schiltknecht <storm+github@chemicalstorm.org>
2017-03-12 22:39:21 -04:00
Eric Luehrsen
a4f23e52bf unbound: improve maintenance of trust anchor
Unbound UCI tries to protect embedded flash from excess
use. Unbound RFC5011 KSK tracking can rewrite root.key
every few minutes to an hour. It also writes and destroys
files in the same directory during the process.

Recommended UCI delays for copying busy work in /var/
back to /etc/ may be too conservative. These are all
changed from 28 to 9 days.

The RFC5011 KSK results were also destroyed by an
init.d restart, even if /var/ is mounted on persistent
storage like USB drive. /var/lib/unbound/root.key is
now preserved during this process, unless a newer key
is installed in /etc/ manually or package update.

Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
2017-03-02 00:55:16 -05:00
Eric Luehrsen
f85b021eaf unbound: Update to 1.6.1 with 2017 trust anchor
Unbound 1.6.1 has a few bug fixes for resource leaks,
configuration robustness, compile environment interaction,
and maintaining the trust anchor. The 2017 trust anchor
(DS) is built into unbound and unbound-anchor.

File /etc/unbound/root.key holds 2010/2017 DS record until 2018
https://www.icann.org/resources/pages/ksk-rollover
https://www.iana.org/domains/root

Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
2017-02-25 23:36:21 -05:00
Eric Luehrsen
f62a049ca1 unbound: bugfix add_local_fqdn with empty ULA
Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
2017-02-25 23:09:22 -05:00