diff options
| author | Maxim Cournoyer <maxim@guixotic.coop> | 2026-05-24 14:12:15 +0900 |
|---|---|---|
| committer | Maxim Cournoyer <maxim@guixotic.coop> | 2026-05-26 16:07:53 +0900 |
| commit | dc4db2273a51211e9d89b36d9e66268a219b94d9 (patch) | |
| tree | a69d0cbeec9c877264113b015e90fb34dedbbf0d /doc | |
| parent | 7d9b4b7bb7a9244c09dadac79bcb312c24a201af (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.texi | 30 |
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 | ||
| 38115 | The following example shows a slightly more complex configuration that | ||
| 38116 | defines 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 | |||
| 38128 | For 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}) |
| 38214 | When true, don't read @var{resolv-file}. | 38229 | When true, don't read @var{resolv-file}. |
| 38215 | 38230 | ||
| 38231 | @item @code{authoritative-servers} (default: @code{'()}) | ||
| 38232 | A list of strings corresponding to valid @option{--auth-server} values, | ||
| 38233 | such as a domain name. This is useful to make @command{dnsmasq} | ||
| 38234 | authoritative for a given domain name or interface. | ||
| 38235 | |||
| 38236 | @item @code{authoritative-zones} (default: @code{'()}) | ||
| 38237 | A list of strings corresponding to valid @option{--auth-zone} values, | ||
| 38238 | such as a domain name. This is useful to make @command{dnsmasq} | ||
| 38239 | authoritative for a given domain name. Note that this must be used in | ||
| 38240 | conjunction with the @code{authoritative-servers} option. | ||
| 38241 | |||
| 38242 | @item @code{host-records} (default: @code{'()}) | ||
| 38243 | A list of strings corresponding to valid @option{--host-record} values, | ||
| 38244 | for 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}) |
| 38217 | When false, all reverse lookups for private IP ranges are answered with | 38247 | When 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. |
