Thanks, this was the issue. I have tried a couple of time adding and removing this line, then restarting the server, and each time the issue disappeared / reappeared accordingly.
the zone tab is still missing but the autogenerated config has some warnings related to a zone:
config zone 'fwd_no_tcp_dns'
list server 'ns1.stadtnetz-bamberg.de'
list server 'ns2.stadtnetz-bamberg.de'
list zone_name 'duckdns.org.'
list zone_name 'esteri.it.'
list zone_name 'fefe.de.'
list zone_name 'diasporasocial.net.'
option enabled '1'
option fallback '0'
option zone_type 'forward_zone'
Error is:
Special zone diasporasocial.net. was not enabled or had UCI conflicts.
If I comment out this, the next up (fefe.de) is shown in the warning after restart.
Commenting out the whole block, gives this new warning:
# Special zone was not enabled or had UCI conflicts.
config unbound 'ub_main'
list iface_lan 'casa'
list iface_lan 'guest'
list iface_trig 'casa'
list iface_trig 'guest'
list iface_trig 'wan'
option manual_conf '0'
option dhcp_link 'dnsmasq'
option domain 'bamberlan'
option domain_type 'static'
option extended_stats '1'
option protocol 'default'
option resource 'large'
option root_age '30'
option unbound_control '1'
option validator '1'
option validator_ntp '1'
config zone 'fwd_no_tcp_dns'
list server 'redacted-ns1'
list server 'redacted-ns2'
list zone_name 'duckdns.org.'
list zone_name 'fefe.de.'
list zone_name 'diasporasocial.net.'
list zone_name 'esteri.it.'
option enabled '1'
option fallback '0'
option zone_type 'forward_zone'
The main config is relatively short but I also have unbound_srv.conf:
##############################################################################
# User custom options added in the server: clause part of UCI 'unbound.conf'
#
# Add your own option statements here when they are not covered by UCI. This
# file is placed _inside_ the server: clause with an include: statement. Do
# not start other clauses here, because that would brake the server: clause.
# Use 'unbound_ext.conf' to start new clauses at the end of 'unbound.conf'.
##############################################################################
# ISP is blocking recursive UDP queries, forcing TCP upstream...
tcp-upstream: yes
# Extra ACL for vpn network,
# fixes issue mentioned in https://forum.openwrt.org/t/unbound-doesnot-serve-dns-to-openvpn-client/29457/8
# without disabling "localservice"
access-control: 10.42.0.1/24 allow
access-control: 2001:470:7163:42::c0:fefe/64 allow
access-control: fdcf:87a:51fb:42::c0:fefe/64 allow
# Special zone for SAP
local-zone: "dummy.nodomain." static
## AS ABAP 7.52SP04 (NAT)
#local-data: "vhcalnplci.dummy.nodomain. IN A 192.168.2.5"
#local-data-ptr: "192.168.2.5 vhcalnplci.dummy.nodomain"
# AS ABAP 7.52SP04 (bridge)
# (must match static lease for host)
local-data: "vhcalnplci.dummy.nodomain. IN A 192.168.2.20"
local-data-ptr: "192.168.2.20 vhcalnplci.dummy.nodomain"
local-data: "vhcalnplci.dummy.nodomain. IN AAAA 2001:470:7163:2::20"
local-data-ptr: "2001:470:7163:2::20 vhcalnplci.dummy.nodomain"
local-data: "vhcalnplci.dummy.nodomain. IN AAAA fdcf:87a:51fb:2::20"
local-data-ptr: "fdcf:87a:51fb:2::20 vhcalnplci.dummy.nodomain"
# HANA docker image
local-data: "vhcala4hci.dummy.nodomain. IN A 192.168.2.6"
local-data-ptr: "192.168.2.6 vhcala4hci.dummy.nodomain"
# Fixes ausl.bologna.it "no service" over IPV6 tunnel
local-zone: "www.ausl.bologna.it" typetransparent
local-data: "www.ausl.bologna.it IN AAAA ::"
# Fixes Netflix over IPV6 tunnel, see https://forum.openwrt.org/t/6in4-using-henet-and-unbound/62987/11
local-zone: "netflix.com" typetransparent
local-data: "netflix.com IN AAAA ::"
local-zone: "netflix.net" typetransparent
local-data: "netflix.net IN AAAA ::"
local-zone: "nflxext.com" typetransparent
local-data: "nflxext.com IN AAAA ::"
local-zone: "nflximg.net" typetransparent
local-data: "nflximg.net IN AAAA ::"
local-zone: "nflxvideo.net" typetransparent
local-data: "nflxvideo.net IN AAAA ::"
local-zone: "www.netflix.com" typetransparent
local-data: "www.netflix.com IN AAAA ::"
local-zone: "customerevents.netflix.com" typetransparent
local-data: "customerevents.netflix.com IN AAAA ::"
local-zone: "secure.netflix.com" typetransparent
local-data: "secure.netflix.com IN AAAA ::"
local-zone: "adtech.nflximg.net" typetransparent
local-data: "adtech.nflximg.net IN AAAA ::"
local-zone: "assets.nflxext.com" typetransparent
local-data: "assets.nflxext.com IN AAAA ::"
local-zone: "codex.nflxext.com" typetransparent
local-data: "codex.nflxext.com IN AAAA ::"
local-zone: "dockhand.netflix.com" typetransparent
local-data: "dockhand.netflix.com IN AAAA ::"
local-zone: "ichnaea.netflix.com" typetransparent
local-data: "ichnaea.netflix.com IN AAAA ::"
local-zone: "art-s.nflximg.net" typetransparent
local-data: "art-s.nflximg.net IN AAAA ::"
local-zone: "tp-s.nflximg.net" typetransparent
local-data: "tp-s.nflximg.net IN AAAA ::"
Thanks your config looks OK and includes still the previously mentioned option option manual_conf '0' ... this is the only requirement to show the zones tab in the good old lua app (in current master this app has been migrated to JS).
To test again, remove the luci cache directories /tmp/luci-modulecache and /tmp/luci-indexcache from your router before and than start a browser like chrome in incognito mode and doublecheck if the tab finally appeared.
It might have been a timing / cache issue... or not, let me explain.
After your question about the browser (I normally use Firefox), I tried with Chromium and the zone menu was there. Then I re-tried with Firefox and now it worked there as well.
Those /tmp/luci*cache dirs are still not present, but who cares
Thanks.