Dnsmasq DNS¶
Dnsmasq is a lightweight, easy to configure, DNS forwarder, which can be used to answer to dns queries from your network.
Similar functionality is also provided by “Unbound DNS”, our standard enabled forward/resolver service.
In some cases people prefer to use dnsmasq or combine it with our default enabled resolver (Unbound).
Note
Since OPNsense 17.7 Unbound has been our standard DNS service, the main reason for Dnsmasq being shipped in our product is for compatibility. Although there are some use-cases that require Dnsmasq specifically, most users better opt for Unbound.
General settings¶
Most settings are pretty straightforward here when the service is enabled, it should just start forwarding dns requests when received from the network.
Enable |
Enable our DNS Forwarder |
Listen Port |
The port used for responding to DNS queries, when empty the standard (53) will be used. |
Network Interfaces |
The interfaces to listen on, when using dynamic interfaces it’s not recommended to bind to addresses from these interfaces. [All] is the standard, in which case you can limit access using the firewall. |
Bind Mode / strict binding |
When network interfaces are provided, only bind to the interfaces containing the IP addresses selected above, rather than binding to all interfaces and discarding queries to other addresses. This option does not work with IPv6. If set, Dnsmasq will not bind to IPv6 addresses. |
DNSSEC |
Validate DNS replies and cache DNSSEC data. |
Register ISC DHCP4 Leases |
Register dhcp leases in Dnsmasq, so that their hostnames can be resolved. (IPv4 only) |
DHCP Domain Override |
When set use the domain name specified here instead of the system domain for registering addresses. |
Register ISC DHCP Static Mappings |
Register static dhcp addresses as well. |
Query DNS servers sequentially |
If this option is set, Dnsmasq will query the DNS servers sequentially in the order specified (System: General Setup: DNS Servers), rather than all at once in parallel. |
Require domain |
If this option is set, Dnsmasq will not forward A or AAAA queries for plain names, without dots or domain parts, to upstream name servers. If the name is not known from /etc/hosts or DHCP then a “not found” answer is returned. |
Do not forward private reverse lookups |
If this option is set, Dnsmasq will not forward reverse DNS lookups (PTR) for private addresses (RFC 1918) to upstream name servers. Any entries in the Domain Overrides section forwarding private “n.n.n.in-addr.arpa” names to a specific server are still forwarded. If the IP to name is not known from /etc/hosts, DHCP or a specific domain override then a “not found” answer is immediately returned. |
Log Queries |
Send the results of dns queries to the log. |
Host overrides¶
Here you define static hostnames, which allow you to reply a specific address when being asked, per entry the following options are available.
Host |
The hostname to register |
Domain |
The domain name to use |
IP address |
IP address of the host, can be an IPv4 (A record) or an IPv6 address (AAAA record) |
Description |
Descriptive text for this host |
Aliases |
Register alternative host + domain names for the same IP address |
Domain Overrides¶
If a specific domain should be answered by a different DNS server, you can configure it here.
Domain |
The domain name to use |
IP address |
IP address of the authoritative DNS server for this domain |
Port |
Port number of the target dns server, leave blank for default (53) |
Source IP |
Source IP address for queries to the DNS server for the override domain. Leave blank unless your DNS server is accessed through a VPN tunnel. |
Description |
Descriptive text for this entry |
Advanced settings¶
To configure options that are not available in the gui one can add custom configuration files on the firewall itself.
Files can be added in /usr/local/etc/dnsmasq.conf.d/
, these should use as extension .conf (e.g. custom-options.conf).
When more files are placed inside the directory, all will be included in alphabetical order.
Warning
It is the sole responsibility of the administrator which places a file in the extension directory to ensure that the configuration is valid.
Note
This method replaces the Custom options
settings in the Dnsmasq configuration, which was removed in version 21.1.