summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim@guixotic.coop>2026-05-24 14:12:15 +0900
committerMaxim Cournoyer <maxim@guixotic.coop>2026-05-26 16:07:53 +0900
commitdc4db2273a51211e9d89b36d9e66268a219b94d9 (patch)
treea69d0cbeec9c877264113b015e90fb34dedbbf0d /doc
parent7d9b4b7bb7a9244c09dadac79bcb312c24a201af (diff)
service: dnsmasq: Expose new options for authoritative operation.
* gnu/services/dns.scm (<dnsmasq-configuration>) [authoritative-servers, authoritative-zones, host-records]: New fields. (dnsmasq-shepherd-service): Use them. * doc/guix.texi (DNS Services): Add a new example and document the new fields. Change-Id: Ib26c3f59e90b2a9997ecdac03c5564ae02b6754e Reviewed-by: Nguyễn Gia Phong <cnx@loang.net>
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi30
1 files changed, 30 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 63cd99ac09c..b4eebc8e145 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -38112,6 +38112,21 @@ This is the type of the dnsmasq service, whose value should be a
38112 (servers '("192.168.1.1")))) 38112 (servers '("192.168.1.1"))))
38113@end lisp 38113@end lisp
38114 38114
38115The following example shows a slightly more complex configuration that
38116defines an authoritative DNS server on a given subdomain.
38117@lisp
38118(service dnsmasq-service-type
38119 (dnsmasq-configuration
38120 (listen-addresses '("10.1.1.1"))
38121 (no-resolv? #t)
38122 (no-hosts? #t)
38123 (authoritative-servers '("vpn.example.com")) ;self
38124 (authoritative-zones '("vpn.example.com"))
38125 (host-records '("some-service.vpn.example.com,10.1.1.1"))))
38126@end lisp
38127
38128For more examples, refer to @samp{man 8 dnsmasq.}
38129
38115@code{dnsmasq-service-type} provides two actions: 38130@code{dnsmasq-service-type} provides two actions:
38116 38131
38117@table @code 38132@table @code
@@ -38213,6 +38228,21 @@ The file to read the IP address of the upstream nameservers from.
38213@item @code{no-resolv?} (default: @code{#f}) 38228@item @code{no-resolv?} (default: @code{#f})
38214When true, don't read @var{resolv-file}. 38229When true, don't read @var{resolv-file}.
38215 38230
38231@item @code{authoritative-servers} (default: @code{'()})
38232A list of strings corresponding to valid @option{--auth-server} values,
38233such as a domain name. This is useful to make @command{dnsmasq}
38234authoritative for a given domain name or interface.
38235
38236@item @code{authoritative-zones} (default: @code{'()})
38237A list of strings corresponding to valid @option{--auth-zone} values,
38238such as a domain name. This is useful to make @command{dnsmasq}
38239authoritative for a given domain name. Note that this must be used in
38240conjunction with the @code{authoritative-servers} option.
38241
38242@item @code{host-records} (default: @code{'()})
38243A list of strings corresponding to valid @option{--host-record} values,
38244for example @code{'("some-service.example.com,10.1.1.1")}.
38245
38216@item @code{forward-private-reverse-lookup?} (default: @code{#t}) 38246@item @code{forward-private-reverse-lookup?} (default: @code{#t})
38217When false, all reverse lookups for private IP ranges are answered with 38247When false, all reverse lookups for private IP ranges are answered with
38218"no such domain" rather than being forwarded upstream. 38248"no such domain" rather than being forwarded upstream.