主要なDNSサーバの実装をまとめた。
BIND
- リファレンス実装
- Berkeley Internet Name DomainでBIND
- DARPA(旧ARPA)からの資金援助により開発が開始され、その後DECの社員に引き継がれ、現在はISC(Internet Systems Consortium)によってメンテナンスされている
- ※ ちなみにISCはDNSのルートサーバ(Fサーバ)の管理も行っている
- BIND 9はDNSSECへの対応に伴い、BIND 4/8のコードを捨てて新たに書き起こされた
- C実装
- リンク
djbdns
- ダニエル・バーンスタインが開発
- DNSキャッシュサーバのdnscacheとDNS権威サーバのtinydnsの2つから構成される
- シンプルかつ堅牢な構造
- djbdnsはその管理にdaemontools、内部で使用するDBにcdb(constant database)が用いられているが、これらは両方ともダニエル・バーンスタインによって開発されたものである
- C実装
- リンク
- 公式サイト: http://cr.yp.to/djbdns.html
- ソース(ミラー): https://github.com/abh/djbdns
Dnsmasq
- 小規模ネットワーク(LAN内)向け
- DHCP/TFTP/PXEも含まれている
- hostsやAvahiの代替として使われることが多いっぽい(?)
- C実装
- リンク
- 公式サイト: https://thekelleys.org.uk/dnsmasq/doc.html
- ソース(ミラー): https://github.com/imp/dnsmasq
NSD
- DNS権威サーバのみを提供する
- Name Server DaemonでNSD
- NLnet LabsがPIPE NCC協力のもと開発
- C実装
- リンク
Unbound
- DNSキャッシュサーバのみを提供する
- Kirei社/Nominet社/VeriSign社/EP.net社がJavaベースで開発していたものをNLnet LabsがCで実装し直した
- リンク
PowerDNS Authoritative Server
- 元々はプロプライエタリだったDNS権威サーバ
- C++実装
- リンク
PowerDNS Recursor
- DNSキャッシュサーバ
- 公式サイト: https://www.powerdns.com/recursor.html
- ソース: https://github.com/PowerDNS/pdns
PowerDNS dnsdist
- DNS用のロードバランサ
- 公式サイト: https://www.powerdns.com/dnsdist.html
- ソース: https://github.com/PowerDNS/pdns
Knot DNS
- チェコのNIR(国別インターネットレジストリ)であるCZ.NICが開発したDNS権威サーバ
- リンク
Pi-hole
- アドブロックを内包しているDNSサーバ
- 小規模ネットワーク(LAN内)向けっぽい
- リンク
CoreDNS
- CNCFのプロジェクトの1つ
- 充分成熟したプロジェクトとされ、Graduatedに指定されている
- Go実装
- リンク
- 公式サイト: https://coredns.io/
- ソース: https://github.com/coredns
Trust-DNS
- Rust実装
- ソース: https://github.com/bluejekyll/trust-dns