地方在住IT系ニート

bkds

CoreDNSのメモ

はじめに

CoreDNSとは、軽量で柔軟なDNSで、ブラグインベースで機能を追加できることが特徴です。 基本的にはCorefileという設定ファイルを使って動作を制御します。

インストール

下記のコマンドで公式から配布されているバイナリを取得して実行できるようにします。

wget https://github.com/coredns/coredns/releases/download/v1.11.1/coredns_1.11.1_linux_amd64.tgz
tar xvfz *.tgz
sudo mv coredns /usr/local/bin/

基本構成

CoreDNSの設定はCorefileで実施します。 シンプルな設定だと以下のようになります。

.:53 {
  log
  errors
  health
  ready

  forward . 8.8.8.8:53
}

上記の設定で利用しているプラグインは下記のとおりです。

起動

CoreDNSは下記のコマンドで実行します。

sudo coredns -conf ./Corefile

起動確認

今回はhealthreadyを利用しているため、実際にエンドポイントを利用して確認します。

OKが返却されれば問題なく起動しています。

$ curl http://localhost:8080/health
OK

$ curl http://localhost:8181/ready
OK

Aレコードの追加

hostsプラグインを利用することで簡単に設定ができます。 ゾーンファイルを作成してfileプラグインを用いて読み込むことも可能です。

home {
  hosts {
    192.168.0.10 web
    192.168.0.11 db
  }
}

動作確認

$ nslookup web.home
192.168.0.10

動的管理

CoreDNSはetcdを利用することで、動的にレコードを管理することができます。 Corefileやゾーンファイルの場合は、リロードが必要になりますが、DB管理をすることでリロードせずに更新することができます。

<-- Back to home
にほんブログ村 IT技術ブログ IT技術メモへ PVアクセスランキング にほんブログ村