2019-08-30 15:58:25 +01:00
|
|
|
.\" Generated by Mmark Markdown Processer - mmark.miek.nl
|
2026-10-08 10:21:06 +02:00
|
|
|
.TH "COREDNS-SECONDARY" 7 "October 2026" "CoreDNS" "CoreDNS Plugins"
|
2019-04-06 08:42:40 +01:00
|
|
|
|
2019-06-24 12:37:27 +01:00
|
|
|
.SH "NAME"
|
2019-04-06 08:42:40 +01:00
|
|
|
.PP
|
|
|
|
|
\fIsecondary\fP - enables serving a zone retrieved from a primary server.
|
|
|
|
|
|
2019-06-24 12:37:27 +01:00
|
|
|
.SH "DESCRIPTION"
|
2019-04-06 08:42:40 +01:00
|
|
|
.PP
|
|
|
|
|
With \fIsecondary\fP you can transfer (via AXFR) a zone from another server. The retrieved zone is
|
|
|
|
|
\fInot committed\fP to disk (a violation of the RFC). This means restarting CoreDNS will cause it to
|
2019-12-29 13:35:17 +01:00
|
|
|
retrieve all secondary zones.
|
2019-04-06 08:42:40 +01:00
|
|
|
|
2026-03-27 05:35:09 +02:00
|
|
|
.PP
|
|
|
|
|
If the primary server(s) don't respond when CoreDNS is starting up, the AXFR will be retried
|
|
|
|
|
indefinitely every 10s.
|
|
|
|
|
|
2020-03-06 11:11:45 +00:00
|
|
|
.SH "SYNTAX"
|
2019-04-06 08:42:40 +01:00
|
|
|
.PP
|
|
|
|
|
.RS
|
|
|
|
|
|
2018-01-04 12:53:07 +00:00
|
|
|
.nf
|
2019-04-06 08:42:40 +01:00
|
|
|
secondary [ZONES...]
|
2018-01-04 12:53:07 +00:00
|
|
|
|
|
|
|
|
.fi
|
2019-04-06 08:42:40 +01:00
|
|
|
.RE
|
|
|
|
|
|
|
|
|
|
.IP \(bu 4
|
|
|
|
|
\fBZONES\fP zones it should be authoritative for. If empty, the zones from the configuration block
|
|
|
|
|
are used. Note that without a remote address to \fIget\fP the zone from, the above is not that useful.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.PP
|
2018-01-04 12:53:07 +00:00
|
|
|
A working syntax would be:
|
|
|
|
|
|
2019-04-06 08:42:40 +01:00
|
|
|
.PP
|
|
|
|
|
.RS
|
|
|
|
|
|
|
|
|
|
.nf
|
|
|
|
|
secondary [zones...] {
|
2021-01-10 10:06:46 +00:00
|
|
|
transfer from ADDRESS [ADDRESS...]
|
2026-10-08 10:21:06 +02:00
|
|
|
catalog [MEMBER\-ZONES...]
|
|
|
|
|
fallthrough [ZONES...]
|
2018-01-04 12:53:07 +00:00
|
|
|
}
|
2019-04-06 08:42:40 +01:00
|
|
|
|
2018-01-04 12:53:07 +00:00
|
|
|
.fi
|
2019-04-06 08:42:40 +01:00
|
|
|
.RE
|
|
|
|
|
|
|
|
|
|
.IP \(bu 4
|
2021-01-10 10:06:46 +00:00
|
|
|
\fB\fCtransfer from\fR specifies from which \fBADDRESS\fP to fetch the zone. It can be specified multiple
|
2026-03-27 05:35:09 +02:00
|
|
|
times; if one does not work, another will be tried. Transferring this zone outwards again can be
|
2021-01-10 10:06:46 +00:00
|
|
|
done by enabling the \fItransfer\fP plugin.
|
2026-10-08 10:21:06 +02:00
|
|
|
.IP \(bu 4
|
|
|
|
|
\fB\fCcatalog\fR treats the transferred zone as an RFC 9432 catalog zone. After each successful catalog
|
|
|
|
|
transfer, CoreDNS adds and removes the catalog member zones and transfers those member zones from
|
|
|
|
|
the same primary servers. Optional \fBMEMBER-ZONES\fP restrict which member zone names are accepted;
|
|
|
|
|
each name also matches its subdomains. With no \fBMEMBER-ZONES\fP, all member zones are accepted for
|
|
|
|
|
backward compatibility. RFC 9432 Section 7 recommends configuring this restriction because a
|
|
|
|
|
catalog producer otherwise controls which zones the consumer serves. A member in another catalog
|
|
|
|
|
remains a name clash unless the current catalog's \fB\fCcoo\fR property points to the newly updated
|
|
|
|
|
catalog. During that ownership migration, CoreDNS preserves the current zone data only when both
|
|
|
|
|
catalogs use the same member node label.
|
|
|
|
|
.IP \(bu 4
|
|
|
|
|
\fB\fCfallthrough\fR If a query for a record in the zone results in NXDOMAIN, the query will be passed
|
|
|
|
|
to the next plugin in the chain. If \fB[ZONES...]\fP are listed, then only queries for those zones
|
|
|
|
|
will be subject to fallthrough. This can be useful in split DNS setups where the secondary zone
|
|
|
|
|
contains only partial records.
|
2018-01-04 12:53:07 +00:00
|
|
|
|
2019-04-06 08:42:40 +01:00
|
|
|
|
|
|
|
|
.PP
|
2021-01-10 10:06:46 +00:00
|
|
|
When a zone is due to be refreshed (refresh timer fires) a random jitter of 5 seconds is applied,
|
|
|
|
|
before fetching. In the case of retry this will be 2 seconds. If there are any errors during the
|
|
|
|
|
transfer in, the transfer fails; this will be logged.
|
2019-04-06 08:42:40 +01:00
|
|
|
|
2019-06-24 12:37:27 +01:00
|
|
|
.SH "EXAMPLES"
|
2019-04-06 08:42:40 +01:00
|
|
|
.PP
|
|
|
|
|
Transfer \fB\fCexample.org\fR from 10.0.1.1, and if that fails try 10.1.2.1.
|
|
|
|
|
|
|
|
|
|
.PP
|
|
|
|
|
.RS
|
|
|
|
|
|
|
|
|
|
.nf
|
|
|
|
|
example.org {
|
2018-01-04 12:53:07 +00:00
|
|
|
secondary {
|
2020-09-24 18:30:59 +00:00
|
|
|
transfer from 10.0.1.1 10.1.2.1
|
2018-01-04 12:53:07 +00:00
|
|
|
}
|
|
|
|
|
}
|
2019-04-06 08:42:40 +01:00
|
|
|
|
2018-01-04 12:53:07 +00:00
|
|
|
.fi
|
2019-04-06 08:42:40 +01:00
|
|
|
.RE
|
2018-01-04 12:53:07 +00:00
|
|
|
|
2019-04-06 08:42:40 +01:00
|
|
|
.PP
|
|
|
|
|
Or re-export the retrieved zone to other secondaries.
|
|
|
|
|
|
|
|
|
|
.PP
|
|
|
|
|
.RS
|
|
|
|
|
|
|
|
|
|
.nf
|
2020-09-24 18:30:59 +00:00
|
|
|
example.net {
|
|
|
|
|
secondary {
|
2019-04-06 08:42:40 +01:00
|
|
|
transfer from 10.1.2.1
|
2020-09-24 18:30:59 +00:00
|
|
|
}
|
|
|
|
|
transfer {
|
|
|
|
|
to *
|
2018-01-04 12:53:07 +00:00
|
|
|
}
|
|
|
|
|
}
|
2019-04-06 08:42:40 +01:00
|
|
|
|
2018-01-04 12:53:07 +00:00
|
|
|
.fi
|
2019-04-06 08:42:40 +01:00
|
|
|
.RE
|
|
|
|
|
|
2026-10-08 10:21:06 +02:00
|
|
|
.PP
|
|
|
|
|
Restrict a catalog consumer to member zones at or below \fB\fCexample.org\fR and \fB\fCinternal.example\fR.
|
|
|
|
|
|
|
|
|
|
.PP
|
|
|
|
|
.RS
|
|
|
|
|
|
|
|
|
|
.nf
|
|
|
|
|
catalog.example {
|
|
|
|
|
secondary {
|
|
|
|
|
transfer from 10.1.2.1
|
|
|
|
|
catalog example.org internal.example
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fi
|
|
|
|
|
.RE
|
|
|
|
|
|
2019-06-24 12:37:27 +01:00
|
|
|
.SH "BUGS"
|
2019-04-06 08:42:40 +01:00
|
|
|
.PP
|
|
|
|
|
Only AXFR is supported and the retrieved zone is not committed to disk.
|
|
|
|
|
|
2020-11-05 13:37:38 +00:00
|
|
|
.SH "SEE ALSO"
|
2020-09-24 18:30:59 +00:00
|
|
|
.PP
|
|
|
|
|
See the \fItransfer\fP plugin to enable zone transfers \fIto\fP other servers.
|
2026-10-08 10:21:06 +02:00
|
|
|
RFC 5936 details the AXFR protocol, and RFC 9432 defines DNS catalog zones.
|
2020-09-24 18:30:59 +00:00
|
|
|
|