CoreDNS

提供: ArchWiki
ナビゲーションに移動 検索に移動

関連記事

CoreDNS は、Go で書かれた DNS サーバー/フォワーダーで、プラグインをチェーンしています。各プラグインは、(DNS)機能を実行します。

CoreDNS は、高速で柔軟な DNS サーバーです。キーワードは柔軟性です。CoreDNS では、プラグインを利用することで、DNS データで好きなことをすることができます。もし、ある機能が最初から提供されていない場合、プラグインを書くことでそれを追加することができます。

CoreDNS は、UDP/TCP (go'old DNS), TLS (RFC 7858), DoT, DNS over HTTP/2 - DoH - (RFC 8484) で入ってくる DNS 要求をリッスンすることができます。

インストール

corednsAURcoredns-binAUR または coredns-gitAUR パッケージをインストールします

設定

現在、coredns-gitAUR だけが設定ファイルの例を提供しています。それはこちらで見ることができます。 CoreDNS の設定ファイル例

systemd は /etc/coredns/Corefile を探すので、上記の設定ファイルをここに保存してください。

coredns.service起動/有効化します。

この設定例では、CoreDNS は 1053番ポートで起動します。CoreDNS の利用を確認するために、drill コマンドを使用することができます。drill archlinux.org @127.0.0.1 -p 1053

アップストリームリゾルバとしての NextDNS

再帰的なリクエストを暗号化したい場合は、Corefile を編集して、設定例の 6 行目から 12 行目を削除してください。 forward . tls://45.90.28.0 tls://45.90.30.0 { tls_servername dns.nextdns.io }

フォワードでは、任意の dns53 または DoT リゾルバーを使用できます。ローカルリゾルバとして、/etc/coredns/Corefile を編集し、.:1053.:53 に変更すると、ネームサーバとして 127.0.0.1 を設定できます(ドメイン名前解決参照)。その後、coredns.service再起動します。

root で journalctl -u coredns を実行し、デフォルトで動作していることを確認します。リゾルバはポート 53 をリッスンするようになります。リゾルバが他のホストからアクセスできるようにするには、/etc/coredns/Corefile で他のネットワークインターフェイスを bind で設定します。また、acl プラグインを使用して、再帰的にサーバを使用すべき範囲をブロックすることができます。詳しくは CoreDNS plugin documentation を参照してください。

ノート: オープン DNS リゾルバを特に実行したい場合を除き、パブリック(インターネットに面した)IPアドレスをリッスンするようにリゾルバを構成しないでください。

リゾルバが /etc/hosts ファイルからのエントリーを尊重する必要がある場合、/etc/coredns/Corefilehosts 行を追加してください。

設定例

これは、便利なプラグインを使用した設定です。

/etc/coredns/Corefile
.:53 {
       bind 127.0.53.1 192.168.1.254 192.0.0.1 
       bufsize 1232 
       acl { 
               allow net 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8 192.0.0.0/24
               block
       }
       hosts { 
               reload 0
               fallthrough
       }
       loadbalance
       forward . tls://45.90.28.0 tls://45.90.30.0 {
               tls_servername dns.nextdns.io
       }
       cache {
               success 4096
               denial  1024
               prefetch 512
       }
       prometheus :9153
       errors
       log
}

参照

翻訳ステータス: このページは en:CoreDNS の翻訳バージョンです。最後の翻訳日は 2022-06-30 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。