Jump to content

dnsmasq

From Wikipedia, the free encyclopedia

dnsmasq
Developer(s)Simon Kelley
Initial release2001; 23 years ago (2001)
Stable release
2.90[1] / 13 February 2024; 10 months ago (13 February 2024)
Repository
Written inC[2]
Operating systemUnix-like
TypeDNS server
LicenseGNU General Public License Version 2 or 3[3]
Websitethekelleys.org.uk/dnsmasq/doc.html Edit this at Wikidata

dnsmasq is free software providing Domain Name System (DNS) caching, a Dynamic Host Configuration Protocol (DHCP) server, router advertisement and network boot features, intended for small computer networks.[4][5]

dnsmasq has low requirements for system resources,[6][7] can run on Linux, BSDs, Android and macOS, and is included in most Linux distributions. Consequently, it "is present in a lot of home routers and certain Internet of Things gadgets"[4] and is included in Android.[5]

Details

[edit]

dnsmasq is a lightweight, easy to configure DNS forwarder, designed to provide DNS, and optionally DHCP and Trivial File Transfer Protocol (TFTP) services, to a small-scale network. It can serve the names of local machines which are not in the global DNS.

dnsmasq's DHCP server supports static and dynamic DHCP leases, multiple networks and IP address ranges. The DHCP server integrates with the DNS server and allows local machines with DHCP-allocated addresses to appear in the DNS. dnsmasq caches DNS records, reducing the load on upstream nameservers and improving performance, and can be configured to automatically pick up the addresses of its upstream servers.

dnsmasq accepts DNS queries and either answers them from a small, local cache or forwards them to a real, recursive DNS server. It loads the contents of /etc/hosts, so that local host names which do not appear in the global DNS can be resolved. This also means that records added to your local /etc/hosts file with the format "0.0.0.0 annoyingsite.com" can be used to prevent references to "annoyingsite.com" from being resolved by your browser. This can quickly evolve to a local ad blocker when combined with adblocking site list providers. If done on a router, one can efficiently remove advertising content for an entire household or company.

dnsmasq supports modern Internet standards such as IPv6 and Domain Name System Security Extensions (DNSSEC), network booting with support for Bootstrap Protocol (BOOTP), Preboot Execution Environment (PXE) and TFTP and also Lua scripting.

Some Internet service-providers rewrite the NXDOMAIN (domain does not exist) responses from DNS servers, which forces web browsers to a search page whenever a user attempts to browse to a domain that does not exist. dnsmasq can filter out these "bogus" NXDOMAIN records, preventing this potentially unwanted behavior.

See also

[edit]

References

[edit]
  1. ^ "[Dnsmasq-discuss] Announce: dnsmasq-2.90".
  2. ^ "Dnsmasq". Open Hub. Black Duck Software. Archived from the original on 29 November 2014. Retrieved 19 November 2014.
  3. ^ "Dnsmasq - network services for small networks". Archived from the original on 4 May 2011. Retrieved 19 November 2014.
  4. ^ a b Thomson, Iain (2 October 2017). "Dnsmasq and the seven flaws: Patch these nasty remote-control holes". The Register. Archived from the original on 4 October 2017. Retrieved 5 October 2017.
  5. ^ a b Goodin, Dan (3 October 2017). "Code-execution flaws threaten users of routers, Linux, and other OSes". Ars Technica. Archived from the original on 5 October 2017. Retrieved 5 October 2017.
  6. ^ "dnsmasq". Debian Wiki. Archived from the original on 29 November 2014. Retrieved 19 November 2014.
  7. ^ "dnsmasq". Arch Linux Wiki. Archived from the original on 24 September 2014. Retrieved 19 November 2014.
[edit]