Files
coredns.io/content/plugins/secondary.md
T
Miek Gieben 9d3c78f16f Sync notes from coredns
Make notes in coredns' repo to make it authoritative there.

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-03-03 14:12:07 +00:00

2.0 KiB

+++ title = "secondary" description = "secondary enables serving a zone retrieved from a primary server." weight = 32 tags = [ "plugin", "secondary" ] categories = [ "plugin" ] date = "2019-03-03T14:11:50.605236" +++

Description

With secondary you can transfer (via AXFR) a zone from another server. The retrieved zone is not committed to disk (a violation of the RFC). This means restarting CoreDNS will cause it to retrieve all secondary zones.

secondary [ZONES...]
  • ZONES zones it should be authoritative for. If empty, the zones from the configuration block are used. Note that without a remote address to get the zone from, the above is not that useful.

A working syntax would be:

secondary [zones...] {
    transfer from ADDRESS
    transfer to ADDRESS
    upstream
}
  • transfer from specifies from which address to fetch the zone. It can be specified multiple times; if one does not work, another will be tried.
  • transfer to can be enabled to allow this secondary zone to be transferred again.
  • upstream resolve external names found (think CNAMEs) pointing to external names. This is only really useful when CoreDNS is configured as a proxy; for normal authoritative serving you don't need or want to use this. CoreDNS will resolve CNAMEs against itself.

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 the transfer fails; this will be logged.

Examples

Transfer example.org from 10.0.1.1, and if that fails try 10.1.2.1.

example.org {
    secondary {
        transfer from 10.0.1.1
        transfer from 10.1.2.1
    }
}

Or re-export the retrieved zone to other secondaries.

. {
    secondary example.net {
        transfer from 10.1.2.1
        transfer to *
    }
}

Bugs

Only AXFR is supported and the retrieved zone is not committed to disk.