Separate authorised resolvers from what they may forward towards #5
Reference in New Issue
Block a user
Delete Branch "development"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Reworks name resolution to match the model in the operator's production configuration, and stops carrying anything about DNS across from the machine that generates the document.
Before
One permit and one blanket deny. That said who may be queried, but nothing about what a resolver is then allowed to do — and it pinned the appliance to whatever resolver the generating host happened to be using.
After
Two aliases, separating who may be queried from what those resolvers may forward to:
DNS_SERVERS_001AUTHORIZED_DNS_SERVERS_INTERNALAUTHORIZED_DNS_SERVERS_UPSTREAMDNS_PORTS_TCP_001AUTHORIZED_DNS_PORTS_TCPDNS_PORTS_UDP_001AUTHORIZED_DNS_PORTS_UDPEight rules, four per transport:
The deny inverts its destination (
destination_not=1) rather than being a blanket deny sitting after the permits. It states the policy as meant — DNS to anything unauthorised is refused — and stays correct as the alias is edited, instead of depending on sequence ordering.Rules 100/101 are inert today, because the internal alias holds only the appliance and traffic the appliance originates is not evaluated by an inbound rule. They are not redundant: they are what makes the alias extensible. Adding a real resolver to the internal alias gives it both directions at once — reached by clients via 110/111, forwarding upstream via 100/101 — with nothing further to write.
Nothing is read from the generating host
A resolver that machine uses is a fact about that machine, not about the network the appliance joins. Seeding it wrote a site-specific address into every document produced. The upstream alias now defaults to public resolvers and is overridable with
-UpstreamDNSServerList.Get-HostUpstreamDNSConfigurationstill runs, but only forHostNetworkList, which feeds the parent-network exclusions. ItsRecommendedDNSServerListis no longer consumed.How the appliance resolves itself
system/dnsserversystem/dnsallowoverride1system/dnslocalhost1unboundplus/general/local_zone_typetransparentunboundplus/forwarding/enabled1Forwarding is the piece that makes the lease meaningful. Left recursing, Unbound would query the root servers directly and the upstream the joined network expects would never be consulted — the appliance would resolve correctly while ignoring its own network's resolver.
The intended consequence: local records can be defined on the appliance and are answered authoritatively for every network behind it, while everything else follows the WAN.
Verification
-UpstreamDNSServerList @('9.9.9.9','149.112.112.112')honoured;system/dnsserverstill empty.172.16.16.55,172.16.16.1,10.130.224.1) appears anywhere in the output.Not verified live — this is XML/source-level only; the resolver behaviour needs a booted appliance.
🤖 Generated with Claude Code