Skip to content

wizard: auto configure DHCP/DNS registration query forwarding #8969

@Monviech

Description

@Monviech

Important notices

Before you add a new report, we ask you kindly to acknowledge the following:

Is your feature request related to a problem? Please describe.

Up for discussion.

To improve the out of box experience, it would be great if dnsmasq and unbound could have the following initial configuration added:

  • Dnsmasq: Listening on port 53053 for DNS queries
  • Unbound: A query forwarding for the domain entered in the configuration wizard (e.g. host.internal.example.com would result in a query forwarding of "internal.example.com -> 127.0.0.1:53053" in Unbound)
  • Unbound (Optional): An additional PTR record forwarding the chosen network, e.g. 1.168.192.in-addr.arpa

No other configuration is necessary, dnsmasq automatically sets the domain as local in the template to avoid query loops.

Dnsmasq automatically tracks the current system domain, and DHCP FQDN is enabled by default:

$data[self::$internalModelName]['dhcp']['this_domain'] = (string)Config::getInstance()->object()->system->domain;

Describe the solution you like

The DHCP registered DNS names working automatically when configuring OPNsense out of the box, just like prior with ISC + Unbound.

Do not track changes to this afterwards, e.g. if a user changes the domain in the settings, or deletes the query forwarding in Unbound, just the wizard will configure this when followed.

config.xml.sample example:

  <dnsmasq>
      <enable>1</enable>
      <port>53053</port>
      <interface>lan</interface>
      <dhcp_ranges>
          <interface>lan</interface>
          <start_addr>192.168.1.100</start_addr>
          <end_addr>192.168.1.199</end_addr>
      </dhcp_ranges>
  </dnsmasq>
  <unbound>
    <enable>1</enable>
    <dot>
      <enabled>1</enabled>
      <type>forward</type>
      <domain>internal</domain>
      <server>127.0.0.1</server>
      <port>53053</port>
      <verify/>
      <forward_tcp_upstream>0</forward_tcp_upstream>
      <forward_first>0</forward_first>
      <description>Forward default domain to Dnsmasq DHCP</description>
    </dot>
    <dot>
      <enabled>1</enabled>
      <type>forward</type>
      <domain>1.168.192.in-addr.arpa</domain>
      <server>127.0.0.1</server>
      <port>53053</port>
      <verify/>
      <forward_tcp_upstream>0</forward_tcp_upstream>
      <forward_first>0</forward_first>
      <description>Forward default PTR to Dnsmasq DHCP</description>
    </dot>
  </unbound>

Describe alternatives you considered

Refering to the documentation to set it up:
https://docs.opnsense.org/manual/dnsmasq.html#dhcpv4-with-dns-registration

Metadata

Metadata

Assignees

Labels

featureAdding new functionalityroadmapMajor roadmap item

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions