[solved] Luci-app-unbound shows incomplete menu

With both 24.10.3 and 24.10.4, the luci menu tab for unbound looks a little bare:

It should look a bit like this, ignoring the different light theme:

How do I find out why “zones”, “advanced”, etc. are not showing up? I am pretty sure I did not manually write /etc/config/unbound in the past :smiley:

Triple-check that you do not have manual_conf set in the config file, and then check for any browser console errors.

“manual_conf” is not even present in the config, browser console shows no errors and unbound apparently works ok

Try to explicitly set it to 0 then, as a test.

2 Likes

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.

EDIT: there is a 4-yr old GH issue but no solution :frowning:

Even after removing all sample (and disabled) zones (thus getting rid of this warning), the "zone" tab in LuCI is still missing.

Any ideas? The zone tab is still awol :frowning:

Please provide your current uci unbound config (in /etc/config).

Here it is:

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.

I do not have those directories, only a file called luci-indexcache.afadf141.json
Deleting this one makes no difference.

What browser did you use? In the lua controller of this app is the following implemented:

    local valman = ucl:get_first("unbound", "unbound", "manual_conf")
[...]
 if (valman == "0") then
        entry({"admin", "services", "unbound", "zones"},
            arcombine(cbi("unbound/zones"), cbi("unbound/zone-details")),
            _("Zones"), 15).leaf = true
    end

That means, whenever "manual_conf" is "0" the menu entry will be shown.

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 :slight_smile:
Thanks.

Great ... firefox caching is a complete mess. Please mark this thread as solved - thanks! :slight_smile:

1 Like