説明
secondary を使用すると、別のサーバーからゾーンを転送(AXFR 経由)できます。取得したゾーンはディスクにコミットされません(RFC 違反)。つまり、CoreDNS を再起動すると、すべてのセカンダリゾーンを取得することになります。
CoreDNS の起動時にプライマリサーバーが応答しない場合、AXFR は 10 秒ごとに無期限に再試行されます。
構文
secondary [ZONES...]
- ZONES は、権限を持つ必要があるゾーンです。空の場合、コンフィギュレーションブロックからのゾーンが使用されます。ゾーンを取得するリモートアドレスが指定されていない場合、上記はあまり役に立ちません。
機能する構文は次のとおりです。
secondary [zones...] {
transfer from ADDRESS [ADDRESS...]
}
transfer from
は、ADDRESS からゾーンを取得する先のアドレスを指定します。複数回指定できます。1 つが機能しない場合は別のものが試されます。transfer プラグインを有効にすることで、このゾーンを再度外部に転送できます。
ゾーンを更新する時期(リフレッシュタイマーが起動する)が来ると、取得する前にランダムジッター(5 秒)が適用されます。再試行の場合は、2 秒になります。転送中にエラーが発生すると、転送は失敗します。これはログに記録されます。
例
example.org
を 10.0.1.1 から転送し、失敗した場合は 10.1.2.1 を試行します。
example.org {
secondary {
transfer from 10.0.1.1 10.1.2.1
}
}
または、取得したゾーンを他のセカンダリに再エクスポートします。
example.net {
secondary {
transfer from 10.1.2.1
}
transfer {
to *
}
}
バグ
AXFR のみサポートされ、取得したゾーンはディスクにコミットされません。
他に参照する内容
他のサーバーへのゾーン転送を有効にするには、transfer プラグインを参照してください。AXFR プロトコルの詳細については、RFC 5936 を参照してください。