PowerDNSは、フリーでオープンソースのデーモンネームサーバであり、高性能を提供し、BSDディストリビューションだけでなく、GNU / Linuxオペレーティングシステム上で高度で現代的な権限を持つネームサーバとして動作するようにモデル化できます。
最初から書かれたDNSサーバ
PowerDNSはゼロから作成され、関連するすべてのDNS標準文書に準拠しており、ほぼすべてのデータベースとのインターフェイスを備えています。これは、pdns、powerdns-server、pdns-recursor、pdns-serverなど、複数の別々のパッケージに分散されています。
柔軟なバックエンドアーキテクチャを採用
アプリケーションは、ファイル形式、リレーショナルデータベース、LDAPディレクトリ、バインドゾーンファイルなどの任意のデータソースからのDNS情報にアクセスできる柔軟なバックエンドアーキテクチャを使用します。
PowerDNSは、デフォルトですべての情報をデータベースから直接提供するように設定されているため、DNS情報のメンテナンス性が非常に優れています。これは、すべての主要なLinuxディストリビューションで利用できます。
PowerDNSを使うのは誰ですか?
BIT Internet Technology、Hostnet、Totaalnet Internet Works、Oxilion、WebReus、mijndomein.nlなど、いくつかのドメイン名ホスティング企業およびドメインレジストラがPowerDNSソフトウェアを使用してサービスを処理しています。
フードと空き状況
このソフトウェアは完全にC ++プログラミング言語で書かれており、64ビットおよび32ビットハードウェアプラットフォームをサポートするDEBおよびRPMファイル形式の事前ビルドバイナリパッケージとして配布されています。
オープンソースのソフトウェアプロジェクトであるPowerDNSは、ユニバーサルソースアーカイブとしてダウンロードすることもでき、特定のハードウェアアーキテクチャやオペレーティングシステム用に最適化することができます。
改善点:
#6239、#6559:pdnsutil:b2bmigrateで新しいドメインを使用する(Aki Tuomi)
#6130:著作権年を2018年に更新する(Matt Nordhoff)
#6312、#6545:下位のパケットが短すぎるloglevel
バグの修正:
#6441、#6614:OPTおよびTSIG RRsetsの作成を制限する
#6228、#6370:ユーザ定義のaxfrフィルタの処理が修正されました
#6584、#6585、#6608:GeoIPバックエンドによるNetMaskTreeのコピーを防止し、特定の構成でスローダウンを修正(Aki Tuomi)
#6654、#6659:TCP経由のエイリアス応答に正しい名前が付いていることを確認する
バージョンの新機能:
このリリースには、コミュニティの著名な貢献が含まれています。 PowerDNSを何百万というDNSSEC生産ゾーンにまで拡大した彼の巨大な経験に基づいて、権威あるサーバーを改善するうえでKees Monshouwer氏の不朽の仕事を強調したいと思います。 Christian HofstaedtlerとJan-Piet Mensは、さまざまな場所で大規模に貢献しました。また、LDAPバックエンドを改造して復活させたGregory Oestreicherに感謝します。 Wolfgang Studier、 "#MrM0nkey"、Tudor Soroceanu、Benjamin ZenginはTU Berlinの研究の一環としてDNSSEC管理APIを提供しました。
我々は完全な変更ログに他の人たちを列挙しようとしましたが、PowerDNSがコミュニティから受け取ったすべての作業とテストに非常に感謝しています!
改善されたパフォーマンス:いくつかのシナリオで4倍のスピードアップ:
暗号API:RESTful APIを介して完全に設定可能なDNSSEC:
私たちのRESTful HTTP APIは、DNSSECとキー管理をサポートしています。このAPIは、「最も豊富な」よりも豊富であり、 DNSSECのセマンティクスを認識しているため、DNSSECの詳細について考える必要はなく、ゾーンを操作できます。 APIは正しいことをします。この作品はヴォルフガングスタディーア、MrM0nkey、Tudor Soroceanu、Benjamin ZenginがTU Berlinでの作品の一環として寄稿しました。
データベース関連:再接続と64ビットIDフィールド:アイドル時間が短くなったり長くなったりすると、データベースサーバーが切断されることがありますこれは、いくつかの静かな条件の下でPowerDNSとデータベースクライアントライブラリの両方を混乱させる可能性があります。 4.1には、すべての関連する問題を解決すると思われる強化された再接続ロジックが含まれています。満足のいく開発では、1人のPowerDNSユーザーがデータベースを持っているので、32ビットのIDカウンタを超えました。これは現在64ビットになっています。
改良されたドキュメント:
私たちのPieter Lexisは、コンテンツだけでなく、ドキュメントの外観や検索の向上に多大な時間を費やしました。 https://doc.powerdns.com/authoritative/を見て、GitHubに組み込まれているエディタを使って簡単にドキュメントを編集できることをご存知でしょうか。
再パススルー除去:
これは多くのインストールに影響を与えますが、これは苦しいかもしれないことに気づきましたが、それは必要です。これまで、PowerDNS Authoritative Serverには、ローカルキャッシュを最初に調べた後に、再帰的に望ましいクエリを解決バックエンドに送信する機能がありました。この機能( 'recursor =')はしばしば混乱し、一貫性のない結果をもたらしました。たとえば、信頼できるサーバーの知識の範囲外のCNAMEを参照するクエリが終了した場合などです。構成ファイルで 'recursor'ステートメントを使用して3.0または4.0の時代のPowerDNS Authoritative Serverから移行するには、Authoritative Serverでの再帰を使用した移行からRecursorの使用を参照してください。
その他:
TCP Fast Openのサポートが追加されました。非ローカルバインドがサポートされるようになりました。 pdnsutil check-zoneは、より多くのエラーまたは構成の可能性が低いことを警告します。現在、パッケージはPKCS#11のサポート(以前は再コンパイルが必要でした)に付属しています。システムログ(タイムスタンプ除去)との統合が改善されました。
バージョン4.0.0の新機能:
変更の多くは内部にあり、大きな「スプリングクリーニング」の一部でした:
よりクリーンで強力なC ++バージョンであるC ++ 2011に移行し、多くの場所で実装品質を向上させました。
DNSネームを扱うための専用のインフラストラクチャが実装されています。これは完全に「DNSネイティブ」です。エスケープとアンエスケープを必要としません。これにより、PowerDNS Authoritative ServerはDNSSEC対応のルートゾーンに対応できるようになりました。
汎用SQLバックエンドから派生したすべてのバックエンドは、プリペアドステートメントを使用します。
chrootされると、サーバーとpdns_controlの両方が適切な処理を行います。
キャッシュが正式に正式に注文されました。つまり、エントリはすべての場所で接尾辞で消去できます
このクリーンアップに加えて、次の新しくてエキサイティングな機能が追加されました。
復活してサポートされているODBCバックエンド(godbc)。
復活してサポートされているLDAPバックエンド(LDAP)
CDS / CDNSKEYおよびRFC 7344キーロールオーバーのサポート
ALIASレコードのサポート。
ウェブサーバーとAPIはもはや実験的なものではありません。 APIパスが/ api / v1に移動しました
DNSUpdateはもう実験的ではありません。
ed25519 DNSSEC署名の実験的サポート(libsodiumサポートでコンパイルされた場合)。
多くの新しいpdnsutilコマンド。
helpコマンドはヘルプを生成するようになりました
設定ファイルを読み込めない場合に警告する
冗長モードが有効になっていない限り、無効なレコードをチェックゾーンでチェックしません。
create-zoneコマンドは新しいゾーンを作成します
レコードを追加するadd-recordコマンド
delete-rrsetおよびreplace-rrsetコマンドを使用してrrsetsを削除および追加する
edit-zoneコマンドは、使用されたバックエンド(blogpost)に関係なく、ゾーンの内容を$ EDITORでゾーンファイル形式で生成します。
GeoIPバックエンドには多くの機能があり、現在ではGeoIPデータベースに存在しない明示的なネットマスクに基づいて実行する
新しい機能が削除されました。以下のバックエンドは4.0.0で削除されました:
LMDB。
ジオ(代わりに改良されたGeoIPを使用してください)。
その他の重要な変更点と廃止予定点は次のとおりです。
pdnssecの名前がpdnsutilに変更されました。
PolarSSL / MbedTLS、Crypto ++、Botanの暗号化ライブラリのサポートは、より高速なOpenSSL libcrypto(Botanによって提供されているGOSTを除きます)のために廃止されました。
ゾーンを確保するときのECDSA P256 SHA256(アルゴリズム13)はデフォルトのアルゴリズムになりました。
PowerDNS Authoritative Serverは、デフォルトですべてのIPv6アドレスをリッスンします。
余計ないくつかのクエリがGeneric SQLのバックエンドから削除されました。非標準のSQLスキーマを使用する場合は、新しいデフォルトを確認してください
insert-ent-query、insert-empty-non-terminal-query、insert-ent-order-queryがinsert-empty-non-terminal-order-queryという名前の1つのクエリに置き換えられました
insert-record-order-queryが削除された場合、insert-record-queryはordername(またはNULL)を設定します。
insert-slave-queryが削除され、insert-zone-queryでゾーンのタイプが設定されるようになりました
INCEPTION、INCEPTION-WEEKおよびEPOCH SOA-EDITメタデータ値は非推奨としてマークされ、4.1.0で削除されます
バージョン3.4.9の新機能:
最大の修正点は、ネガティブキャッシングが改善され、異なる優先順位のMXレコードが多数あるゾーンのAXFRで発生する可能性のあるクラッシュを防止することです。
バージョン3.4.4の新機能:
このアップデートの最も重要な部分は、CVE-2015-1868の修正です。
バージョン3.4.3の新機能:
バグ修正:
コミットceb49ce:pdns_control:未知のコマンド(Ruben Kerkhof)で1を終了
コミット1406891:アルゴリズムごとにKSK ZSKペアを評価する(Kees Monshouwer)
commit 3ca050f:getAllDomains(Kees Monshouwer)で常にdi.notified_serialを設定します。
コミットd9d09e1:pdns_control:/ tmp(Ruben Kerkhof)でソケットを開かない
新機能:
コミット2f67952:私たちにAXFRの通知クエリを送ることができる人を制限する(Ruben Kerkhof)
改善点:
コミットd7bec64:「未知のゾーン」についてNOERRORの代わりにREFUSEDに応答します。状況
コミットebeb9d7:ルア5.3(Ruben Kerkhof)を確認する
コミットd09931d:リンカ(Ruben Kerkhof)の代わりにrelroサポートのためにコンパイラをチェックする
コミットc4b0d0c:可能であればPacketHandlerをUeberBackendに置き換える(Christian Hofstaedtler)
コミット5a85152:PacketHandler:DNSSECKeeper(Christian Hofstaedtler)とUeberBackendを共有する
コミット97bd444:GCC 5でビルドを修正
実験的なAPIの変更点(Christian Hofstaedtler):
コミットca44706:API:共有DomainInfoリーダーを独自の関数に移動
コミット102602f:API:domains.accountフィールドへの書き込みを許可する
コミットd82f632:API:ドメインアカウントのフィールドを読み込み、公開する
コミット2b06977:API:レコードの内容を解析する際により厳密になる
コミット2f72b7c:API:不明なタイプを拒否(TYPE0)
コミットd82f632:API:ドメイン・アカウント・フィールドの読み取りと公開
バージョン3.4.2の新機能:
改善点:
コミット73004f1:HTTP APIのCORSを実装する
commit 4d9c289:qtypeはAPIとデータベースで大文字と小文字を区別しないようになりました
コミット13af5d8、コミット223373a、コミット1d5a68d、コミット705a73f、コミットb418d52:PIE硬化を許可する(オプション)
コミット2f86f20:json-api:jsonから優先権を削除
コミットcefcf9f:バックポートのリモートバックエンドの修正
コミット920f987、コミットdd8853c:ルア5.3をサポート
コミット003aae5:シングルタイプZSK署名のサポート
コミット1c57e1d:チケット#1907の潜在的な修正、私たちはchrootする前にlibgcc_s.so.1をロードさせようとします。自分のローカルシステム上でバグを再現することはできませんが、これは "should"です。助けて。
コミット031ab21:polarsslを1.3.9に更新
バグの修正:
コミット60b2b7c、コミットd962fbc:名前に過度に長いラベルを拒否する
コミットa64fd6a:auth:長いバージョンの文字列を63文字に制限し、secpollで例外をキャッチする
コミットfa52e02:pdnssec:RRSIGレコードのttlチェックを修正
コミット0678b25:ミリ秒未満のレイテンシのレイテンシレポートを修正する(0にクリップする)
コミットd45c1f1:" pdns_control show"に対して例外をスローしないようにしてください。未知の変数の
コミット796321c:qsize-qをよりロバストにする
コミット407867c:Kees Monshouwerは、破損パケットとEAGAIN状況を有効に受信したパケットとしてカウントし、認証時にudp質問/回答グラフを歪ませることを発見しました。
コミットf06d069:レイテンシとqsizeのレポートを「ライブ」にします。プラス私たちは初めてのディストリビューターのqsizeを報告した修正。
コミット2f3498e:カーボンプロトコルと関数ポインタ用のstatbagを修正
コミット0f2f999:Lua axfrfilterのテーブルから優先権を取得します。チケット#1857を修正
コミット96963e2、コミットbbcbbbe、コミットd5c9c07:様々なバックエンド:ルートを指すレコードを修正する
コミットe94c2c4:後続の追加レイヤを削除します。 MXレコードをBINDバックエンドのルートに壊してしまった。チケット#1243を閉じる必要があります。
コミット8f35ba2:api:getKeys()のキャッシュされていない結果を使用する
コミットc574336:バックエンドからALLOW-AXFR-FROMをメタデータで読み取る
マイナーな変更:
コミット1e39b4c:マンページをセクション1に移動する
コミットb3992d9:secpoll:〜を_に置き換えます
コミット9799ef5:アクティブなkskを持つゾーンだけが安全です
コミットd02744f:api:アクティブkskのないゾーンのキーを表示する
新機能:
コミット1b97ba0:署名のメトリックを認証に追加するので、署名/秒をプロットすることができます
コミット92cef2d:pdns_control:一度にすべてのゾーンに通知する
コミットf648752:JSON API:flush-cache、notify、axfr-receiveを提供する
コミット02653a7:非常に単純なデータベースバックエンドのパフォーマンスベンチマークを行うために 'bench-db'を追加
コミットa83257a:コールバックベースのメトリックをstatbasに有効にし、uptime、sys-msec、user-msec、key-cache-size、meta-cache-size、signature-cache-sizeの5つのメトリックを追加します
パフォーマンスの向上:
コミットa37fe8c:packetcacheのより良いキー
コミットe5217bb:署名キャッシュロック中に時間を(0)しない
d061045をコミットする、135db51をコミットする、7d0f392をコミットする:パケット#1910をクローズするパケットキャッシュをシャードする。
コミットd71a712:Jack Lloydのおかげで、これは生産時にデフォルトのBotanアロケータが私たちのために減速するのを回避します。
バージョン3.4.1の新機能:
コミットdcd6524、コミットa8750a5、コミット7dc86bf、コミット2fda71f:PowerDNSは起動時および定期的にリリースのセキュリティステータスをポーリングするようになりました。この機能の詳細と無効化の方法については、第2章「セキュリティポーリング」を参照してください。
コミット5fe6dc0:API:カスタムヘッダー(X-API-Key)のHTTP基本認証を静的キーに置き換えます。
コミット4a95ab4:pdnssecの増分シリアルにトランザクションを使用する
コミット6e82a23:pdnssecの増加中にオーダーネームを空にしない - シリアル
コミット535f4e3:「空のIXFR」を考慮してSOA-EDITを尊重する。フォールバック、チケット1835が修正されました。これにより、署名付きゾーンをNSDやBINDなどのIXFR対応のスレーブにスレーブさせる問題を修正しました。
バージョン3.4の新機能:
これは、3.3.1およびそれ以前のバージョンに対するパフォーマンス、機能、バグ修正、適合性の更新です。それには、様々な貢献者による膨大な量の作業が含まれており、非常に感謝しています。
バージョン3.3.1の新機能:
direct-dnskeyは実験的なものではありません。Kees Monshouwer&coの広範なテスト(コミットe4b36a4)に感謝します。
ポーリング中にシグナルを処理します(commit 5dde2c6)。
コミット7538e56:zone2 {sql、json}終了コードを修正しました
コミット7593c40:geobackend:可能な修正nullptr deref
コミット3506cc6:gpsqlbackend:空のdbnameを追加しない= / user =接続文字列の値
gpgsqlクエリは、キャスト(コミット9a6e39c)の使用によって簡素化されました。
コミットa7aa9be:ハードコードされたmakeを変数に置き換える
commit e4fe901:最初のPKG_ *使用の前に必ずPKG_PROG_PKG_CONFIGを実行してください
コミット29bf169:hmac-md5 TSIGキー参照を修正
コミットc4e348b:64文字以上のTSIGキーを修正
コミット00a7b25:INCEPTION-EPOCHの開始時にuint32_tを使用して符号付きと符号なしの比較を修正
コミットd3f6432:os x 10.9でビルドを修正しました。ありがとうMartijn Bakker。
私たちは現在、Lua 5.2(commit bef3000、commit 2bdd03b、commit 88d9e99)に対してビルドを許可しています。
コミットfa1f845:MySQL 5.5+接続文字セットの自動検出
CNAMEループのためにSERVFAILを送信するときは、無駄にCNAMEを含めないでください(commit dfd1b82)。
「奇妙な」タイプ(s390 / s390xなど)のプラットフォーム用の修正プログラムをビルドします.c669f7c(詳細)をコミットし、07b904eをコミットし、2400764をコミットします。
オプションの+ =構文をサポートし、98dd325などをコミットします。
コミットf8f29f4:nproxy:chroot()の後ろに欠けているchdir( "/")を追加する
コミット2e6e9ad:" missing" RHEL / CentOSベースのシステム上のlibmysqlclient
pdnssecチェックゾーン改善コミット5205892、コミットedb255f、コミット0dde9d0、コミット07ee700、コミット79a3091、コミット08f3452、コミットbcf9daf、コミットc9a3dd7、コミット6ebfd08、コミットfd53bd0、コミット7eaa83a、コミットe319467、、
コミット時にNSEC / NSEC3が修正3191709、コミットf75293f、コミットcd30e94、コミット74baf86、コミット1fa8b2b
リングバッファのサイズが変更されたときにWebサーバーがクラッシュする可能性があり、コミット3dfb45fで修正されました。
コミット213ec4a:名前をpgスキーマに追加するための制約を追加する
コミットf104427:domainmetadataが大文字と小文字を区別しないようにする
コミット78fc378:TSIGレコードの名前に対するラベル圧縮なし
コミット15d6ffb:experimental-direct-dnskeyサポートが有効になっている場合、pdnssecはZSK DNSKEYレコードを出力するようになりました(リリース前にdirect-dnskeyに改名されました)。
コミットad67d0e:Debian 7ではlibcryptopp.aが壊れているので、スタティックビルドからcryptoppを削除する
コミット7632dd8:polarssl 1.3を外部でサポートします。
Remotebackendはさまざまなコミットで完全に更新されました。
コミット82def39:SOA-EDIT:INCEPTION-INCREMENT処理を修正する
コミットa3a546c:gmysql設定にinnodb-read-committedオプションを追加します。
コミット9c56e16:実際にAXFRの検索中にタイムアウトに気付きました、ありがとうhkraal
バージョン3.1 RC1の新機能:
このバージョンでは、DNSSECの重要な問題を修正し、メモリ使用量に対処し、膨大な改善とバグ修正が含まれています。
バージョン3.0.1の新機能:
このバージョンは、CVE-2012-0206 aka PowerDNS Security Notification 2012-01の修正を除いて、3.0と同じです。アップグレードが推奨されます。
バージョン3.0 RC3の新機能:
このリリースでは、DNSSECの自動署名、ロールオーバー、キーの保守が完全にサポートされています。
目標は、パフォーマンスを維持しながら高度なセキュリティを実現しながら、既存のPowerDNSインストールでDNSSECのサービスをできるだけ簡単に開始できるようにすることです。
その他の新機能には、TSIG、MyDNS-compatバックエンド、通知、マスター/スレーブIPv6、バルク並列スレーブエンジン、MongoDBサポート、Luaゾーン編集などがあります。
バージョン3.0 RC1の新機能:
このリリースでは、自動サインイン、ロールオーバー、キーのメンテナンスを含むDNSSECが完全にサポートされています。
目標は、パフォーマンスを維持しながら高度なセキュリティを実現しながら、既存のPowerDNSインストールでDNSSECのサービスをできるだけ簡単に開始できるようにすることです。
その他の新機能には、TSIG、MyDNS-compatバックエンド、通知、マスター/スレーブIPv6、バルク並列スレーブエンジン、Luaゾーン編集などがあります。
バージョン2.9.22の新機能:
このバージョンでは、妥当な量の新機能と、大規模なセットアップでの大幅なパフォーマンス向上が実現します。
さらに、かなりの数のバグや問題が対処されています。
これは非常に推奨されるアップグレードです。
バージョン2.9.22 RC2の新機能:
2.9.21と比較して、このバージョンでは、キャッシュTTLが高い、またはパケットキャッシュが大きいインストールで大幅なパフォーマンスが向上します多くの場合、1桁の大きさである。
さらに、多数のバグが対処され、いくつかの機能が追加され、全体的に多くの領域で改善が見られました。
RC2はRC1と比較して重要な問題を修正します。
バージョン2.9.22 RC1の新機能:
2.9.21と比較して、このバージョンでは、キャッシュTTLが高い、またはパケットキャッシュが大きいインストールでは、多くの場合、1桁の大きさである。
さらに、多数のバグが対処され、いくつかの機能が追加され、全体的に多くの領域で改善が見られました。
バージョン2.9.21.2の新機能:
一部の(まれな)PowerDNS Authoritative Server構成は、リモートで強制的に再起動することがあります。
他の構成では、データベースの再接続をリモートで開始できます。
これらの問題は修正されました。
コメントが見つかりません