CoreDNS
関連記事
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 要求をリッスンすることができます。
インストール
corednsAUR、coredns-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
If you would like to encrypt your recursive requests, edit the Corefile and remove lines 6 through 12 in the example configuration.
forward . tls://45.90.28.0 tls://45.90.30.0 { tls_servername dns.nextdns.io
}
You can use any dns53 or DoT resolver in the forward. as the local resolver, edit /etc/coredns/Corefile
and change .:1053
to .:53
you can then configure 127.0.0.1
as your nameserver (see see Domain name resolution). Restart coredns.service
after that.
Run journalctl -u coredns
as root to verify things are working by default. The resolver will now listen on port 53
. If the resolver should be accessible from other hosts, configure other network interfaces in /etc/coredns/Corefile
with bind
. Also the acl
plugin can be used to block ranges that should be use the server for recursion. Refer to CoreDNS plugin documentation for more information.
If the resolver should respect entries from the /etc/hosts
file, add a hosts
line to /etc/coredns/Corefile
.
設定例
これは、便利なプラグインを使用した設定です。
/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 }