セカンダリ

ソース

secondary は、プライマリサーバーから取得したゾーンを提供できます。

説明

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 を参照してください。