Dnsmasq

ソフトウェアのスクリーンショット:
Dnsmasq
ソフトウェアの詳細:
バージョン: 2.77 更新
日付のアップロード: 2 Sep 17
開発者: Simon Kelley
ライセンス: 無料
人気: 206

Rating: 2.7/5 (Total Votes: 6)

Dnsmasqはオープンソースで完全に無料で、設定が簡単で軽量なコマンドラインソフトウェアで、オフセットからDHCP(Dynamic Host Configuration Protocol)サーバおよびGNU / Linux上のDNS(Domain Name System)フォワーダとして機能するように設計されています。 UNIXのようなオペレーティングシステム。

ソフトウェアは、小規模なネットワークにDNS機能とDHCP機能を提供するように設計されています。グローバルDNSにはないローカルマシンの名前を扱うことができ、数多くの魅力的な機能が含まれています。


強力なコマンドラインオプション

このプロジェクトでは、さまざまなコマンドラインオプションを使用できます。このオプションは、‘ dnsmasq --help’コマンドを実行することによって一目で見ることができます。コマンドを端末アプリで実行します。これらの中で、ローカルのアドレスを指定してリッスンする機能、エントリ内のキャッシュのサイズを指定する機能、カスタム設定ファイルを指定する機能について言及することができます。

Dnsmasqを使い始める

GNU / LinuxオペレーティングシステムにDnsmasqをインストールするのは、ソースアーカイブとして配布されている他のオープンソースプログラムと同じです。最初にパッケージをダウンロードし、あなたのコンピュータ(好ましくはホームディレクトリ)に保存し、アーカイブマネージャユーティリティを使用してその内容を抽出します。

次に、ターミナルエミュレータでアーカイブファイルを解凍した場所に移動します(例:cd /home/softoware/dnsmasq-2.72 - ユーザ名で‘ softoware’を置き換えます)、‘ ./ configure& ;& make’コマンドを使用してプログラムを設定してコンパイルし、その後に&sus make install’システム全体にインストールするコマンドです。


GNU / Linux、BSD、Mac OS Xで動作する

Linux(Debian、Gentoo、Slackware、Smoothwall、SUSE、IP-Cop、Firebox、floppyfw、LEAF、CoyoteLinux、Clarkconnect、Freescoなど)、BSD(FreeBSD)、Mac OS X.これは32ビットおよび64ビットのコンピュータプラットフォームで動作します。

このリリースの新機能:

クラッシュではなく、CNAMEループで構成されているときにエラーを生成します。この問題を発見したGeorge Metzに感謝します。
TFTPエラー応答パケットの長さを正しく計算します。これにより、TFTPパケットのエラーメッセージが任意の500文字を超えた場合の問題が修正されます。メッセージは正しく切り捨てられましたが、パケットの長さではありませんでした。余分なデータが追加されました。余分なデータは、以前のDNSクエリまたは応答が漏洩するように、DNSにも使用されるバッファから取得されるため、これはセキュリティリスクの可能性があります。このバグを発見したセキュリティ監査に資金を提供してくれたMozillaに感謝します。
Linuxのnetlinkコードで論理エラーを修正しました。これにより、非常に多数のネットワークインタフェースを持つシステム上でdnsmasqがタイトなループに入る可能性があります。診断とパッチはIvan Kokshayskyに感謝します。
--dnssec-timestampの問題を修正しました。これにより、SIGHUPの受信が誤ってタイムスタンプチェックに関与します。 Kevin Darbyshire-Bryantに感謝します。
権限のあるDNSを提供するときに、/ etc / hostsやfriendsを再ロードする際のバンプゾーンシリアル。これを発見したHarrald Dunkelに感謝します。- synth-domainにv4でマップされたIPv6アドレスを安全に処理します。これらは:: ffff:1.2.3.4のような標準表現を持ち、--ffff-1-2-3-4のような名前に変換されるようになりました。
指定されたインタフェースが破壊され、カーネルで再作成されたときに、アップストリームサーバをインタフェース(--server=1.2.3.4@eth0)にバインドするよう処理します。パッチのBeniamino Galvaniに感謝します。
権限のあるゾーンにワイルドカードCNAMEレコードを許可する。たとえば、--cname = *。example.com、default.example.comこの開発を後援するPro Backupに感謝します。
TCP接続の許可されたバックログを5から32にバンプし、これをコンパイル時に構成可能なオプションにします。これを潜在的な問題として診断したDonatas Abraitisに感謝します。
リース変更スクリプトにDNSMASQ_REQUESTED_OPTIONS環境変数を追加します。パッチのZHAO Yuに感謝します。
rrfilterコードでfoobarを修正すると、特にDNSSECの検証時に不正な形式の応答が発生し、上流のサーバーが特定の順序でRRで応答を返す可能性があります。これをくすぐることが知られている唯一のDNSサーバーはNominum'sです。バグを発見し、修正を支援してくれたDave Tahtに感謝します。
インタフェースのプライマリアドレスだけが--interface-nameによって使用されているという嘘のマンページを修正しました。make --localise-queriesは--interface-nameの名前に適用されます。これを推進してくれたKevin Darbyshire-BryantとEric Luehrsenに感謝します。
TCPアップストリームサーバーと通信するときの接続処理を改善します。具体的には、複数のクエリを作成する場合は新しいTCP接続を開く準備ができていますが、アップストリームサーバーは1接続あたりのクエリ数を少なくします。
「ローカルアドレスのみ」のエントリが多い場合、アップストリームサーバーのログを改善します。パッチのためにHannu Nymanに感謝します。
--bogus-privをRFC6303で指定された接頭辞のIPv6に適用します。 Kevin Darbyshire-Bryantに感謝します。
--tftp-unique-rootでMACアドレスを使用できるようにします。パッチのためにFloris Bosに感謝します。
--dhcp-reply-delayオプションを追加します。パッチのためにFloris Bosに感謝します。
-ra-paramにmtu設定機能を追加します。パッチのためにDavid Flamandに感謝します。
dhcp-scriptからSTDOUTとSTDERRの出力をキャプチャし、dnsmasqログストリームの一部としてログに記録します。スクリプトの予期しない問題を診断するための作業が簡単になります。パッチのためのPetr Mensikに感謝します。"init"モードでdhcp-scriptの出力を解析できないと、致命的なエラーを生成します。スクリプトが誤ってエラーメッセージを出したときに、奇妙なエラーを避ける。パッチのためのPetr Mensikに感謝します。
--bogus-privフラグが指定されていてもRFC1918サブネットの--rev-serverを動作させます。パッチのためのVladislav Grishenkoに感謝します。
--ra-param mtu:インタフェース名を許可するフィールドを拡張します。これにより、WANインターフェイスのMTUをルータの内部インターフェイスにアドバタイズすることができます。パッチのためのVladislav Grishenkoに感謝します。
クライアントがDHCPDISCOVERにアドレスを指定している場合、およびアドレスがローカルに設定されている場合、ICMP-pingはDHCPv4の使用中アドレスをチェックします。問題を発見したAlin Nastacに感謝します。
dhcp-hostのみが別のサブネットに対して存在する場合に設定される新しいDHCPタグ "known-othernet"を追加します。特権ホストに偶然 "guest"アドレスが与えられないようにするために使用できます。提案のためにTodd Sanketに感謝します。
国際化サポートを構築する際に、IDNサポートの歴史的な自動包含を削除します。これは現在、IDNライブラリの選択肢がありません。 IDNのサポートには、必ず-DHAVE_IDNまたは-DHAVE_LIBIDN2のいずれかを含めてください。

バージョン2.72の新機能:

rf-3775モバイルIPv6サポートのためにra-advrouterモードを追加します。
pfを使って、* BSDの "ipsets"のサポートを追加してください。パッチのためにSven Falempimに感謝します。
インターフェイスが急速にダウンして急上昇したときにdnsmasqをロックする競合状態を修正しました。これを追いかけるのを手伝ってくれたConrad Kosteckiに感謝します。
DBusメソッドSetFilterWin2KOptionとSetBogusPrivOptionを追加します。パッチ用のSmoothwallプロジェクトに感謝​​します。
Nettle-3.0に対するビルドの失敗を修正しました。 Steven Barthに感謝し、この問題を発見してくれたことに感謝します。ネットワークを比較して既存のDHCPリースをインターフェイスに割り当てるとき、2つ以上のインターフェイスが同じネットワーク部分を持つが、プレフィックスの長さが異なる(大文字の長さが好ましい)ケースを処理します。
DNS転送ループを検出して削除するモードを追加します。つまり、アップストリームサーバに送信されたクエリはdnsmasqに新しいクエリとして返されます。したがって、再度転送され、削除される前に何度もループします。ループバックするアップストリームサーバーは無効になり、このイベントが記録されます。この機能をスポンサーにしてくれたSmoothwallに感謝します。

ファイルのフィルタリングを可能にするために--conf-dirを拡張します。したがって、--conf-dir = / etc / dnsmasq.d、* .confは/etc/dnsmasq.dにあるすべてのファイルをロードします。
状況によっては、NODATAではなくNXDOMAINの回答が返されたときのバグを修正しました。
dnsmasqがネットワークインターフェースが消滅したためにパケットを送信できなかった場合、dnsmasqが応答しなくなるバグを修正しました。 Niels Peenに感謝します。
ビッグエンディアンプラットフォームで--local-serviceオプションの問題を修正しました。パッチのRichard Genoudに感謝します。

バージョン2.68の新機能:

アルゴリズム的に決定された安定したアドレスではなく、DHCPv6の一時アドレス割り当てにランダムアドレスを使用します。
DUIDをde-novoで作成したdnsmasqプロセスの存続期間中に、DHCPv6 DUIDがDHCPスクリプトで使用できないというバグを修正しました。 DUIDが作成され、リースファイルに格納され、dnsmasqが再起動されると、このバグは消えました。
誤ったNXDOMAINがCNAMEクエリに返される可能性のある2.67で導入されたバグを修正しました。
MacOS XとopenBSDでビルドの失敗を修正しました。
--auth-zoneのサブネット指定がアドレスリテラルと同様にインターフェース名になるようにします。これにより、ローカルアドレス範囲が動的で、IPアドレスフィルタリングからのDHCP範囲を除外した以前の回避策よりもはるかに優れている場合に、正式なDNSを構成することができます。結果として、その回避策は取り除かれる。特定の状況下では、この変更は既存の設定を破棄することになります。範囲外の例外に頼っている場合は、DHCP範囲を構築するのと同じインタフェースを指定するために--auth-zoneを変更する必要があります。 "/ 6" --auth-zone = example.com、eth0 / 6、アドレスをeth0のIPv6アドレスに制限します。

削除したIPv6プレフィックスを広告する際の問題を修正しました。プレフィックスが(置き換えられるのではなく)削除された場合、優先度ゼロの状態でアドバタイズされません。バグレポートのTsachiに感謝します。
ローカルで設定されたCNAMEによってsegfaultを修正しました。この問題を発見したAndrew Childsに感謝します。
2.67で導入された/ etc / hostsやfriendsの再読み込み時のメモリリークを修正しました。
着信DNSとTFTP要求の着信インターフェイスを、IPv6経由で、--bind-interfacesモードでもチェックします。これはIPv4では不可能であり、恐ろしい警告を生成する可能性がありますが、常にIPv6(APIは常に存在する)が可能なので、常にそれを行う必要があります。
IPv6の--dhcp-rangeでプレフィックス長の規則を調整します。新しい規則は、指定された接頭部の長さが、ローカルインタフェース上の対応するアドレスの接頭部の長さ以上でなければならないということです。

バージョン2.63の新機能:



このリリースの主な追加点は、ワイルドカードIPアドレスのバインドを回避し、動的に作成されたネットワークインターフェイスに対処する新しいモード--bind-dynamicです。これにより、既存の2つのネットワークモードの主な制限が取り除かれます。

バージョン2.61の新機能:


このバージョンでは、2.60でデビューしたDHCPv6コードに多くの追加作業があります。
多くのバグが修正され、追加機能が追加されました。
ルータアドバタイズメントの設定がより簡単になりました。また、dnsmasqがSLAAC IPv6アドレスとDHCP IPv4アドレスを使用するホストのAAAA DNSレコードを作成できるモードがあります。

バージョン2.59の新機能:



このバージョンでは、dnsmasq-2.58で浮上していたいくつかの問題が解決されています。これは、IPv6リンクローカルアドレスの起動時に問題を引き起こす可能性があります。
1つはdnsmasqの回帰であり、もう1つは最近のLinuxカーネルのブリッジインターフェースの動作の変化に由来します。

バージョン2.58の新機能:

バージョン2.58
欠けているSA_SIZEマクロの定義を提供してください。 openBSDでのビルドの失敗を修正しました。
/ dev / logがデータグラムソケットの場合、/ dev / logに送信されるメッセージの最後にゼロターミネータを含めないでください。この問題を発見してくれたDidier Raboundに感謝します。
--dhcp-sequential-ipフラグを追加して、IPアドレスの昇順での割り当てを強制します。デフォルトの擬似ランダムモードは一般的には優れていますが、一部のサーバーデプロイメントアプリケーションではこれが必要です。
クライアントがdnsmasqを再起動した後で、サブネット上のクライアントが新しいリースを取得する前に、クライアントがリースを更新した場合、dhcp-relayが使用されているときに0.0.0.0のserver-idがクライアントに送信される問題を修正しました。これを追いかける援助のためにMike Ruizに感謝します。
CNAMEがAレコードのみを指している場合は、NXDOMAINをAAAAクエリーに戻さないでください。この場合、NODATAが正しい応答です。この問題を発見したTom Fernandesに感謝します。DHCPリレーを使用するネットワークでは、 - dhcp-rangeでネットマスクを提供する必要性を緩和します。これは依然として望ましいものですが、ネットマスクがない場合、dnsmasqはアドレスのクラス(A、B、またはC)に基づいてデフォルトを使用します。これは少なくとも、RFC1918アドレスとリレーを使用している人にとって不思議な失敗の原因を取り除くべきです。
Linux conntrack接続マーキングのサポートを追加する。 --conntrackで有効にすると、受信したDNSクエリの接続マークは、それらのクエリに応答するために使用される発信接続にコピーされます。これにより、賢明なファイアウォールや会計処理が可能になりますdnsmasqがHAVE_CONNTRACKでコンパイルされ、libnetfilter-conntrackに依存関係が追加された場合のみ使用可能です。最初のアイデア、この機能のテストとスポンサーシップのためにEd Wildgooseに感謝します。
誰かが--dhcp-host内のタグに一致しようとすると、正常なエラーメッセージを表示します。
dnsmasqの下流にある再帰ネームサーバの問題を避けるため、--domain-neededの動作を微調整します。新しい動作では、AおよびAAAAクエリが停止し、NXDOMAIN応答ではなくNODATAが返されます。
非常に大規模なDHCP構成の効率を改善します。これはJames GartrellとMike Ruizのおかげです。--dhcp-bootのTFTPサーバアドレスが/ etc / hostsで参照されるドメイン名になるようにします。これにより、ラウンドロビンで使用される複数のIPアドレスが与えられ、TFTPサーバのロードバランシングが実行されます。パッチのためのSushil Agrawalに感謝します。
特定のオプション番号の2つのタグ付きdhcp-optionsが両方とも有効な場合、dhcp-rangeのタグなしで有効なものを使用します。特定のホストおよびネットワーク単位のDHCPオプションの値を上書きすることができます。
--dhcp-range = set:interface1、......
--dhcp-host = set:myhost、.....
--dhcp-option = tag:interface1、オプション:nis-domain、 "domain1"
--dhcp-option = tag:myhost、オプション:nis-domain、 "domain2"
その範囲内のホストに対してNISドメインをdomain1に設定しますが、
特定のホストのdomain2に上書きします。
一部のTFTP転送でファイルの切り詰めやタイムアウトが発生するバグを修正しました。このバグはnetasciiの転送でのみ発生し、ファイルサイズ、ブロックサイズ、最後のブロックの改行数が不明瞭な関係を必要とします。この問題を発見し、包括的なテストケースを提供してくれたAlkis Georgopoulosに感謝します。

sockaddrの長さと混同して、バージョン2.56で導入された* BSDプラットフォームのTFTPサーバーの回帰を修正しました。 LoA¯ c Pefferkornに感謝します。
/etc/resolv.confと--serverオプションのネームサーバのIPv6アドレスのスコープIDをサポートします。 E
例:nameserver fe80 :: 202:a412:4512:7bbf%eth0
server = fe80 :: 202:a412:4512:7bbf%eth0。ありがとう
マイケルStapelberg提案のために。
Jan Psotaのおかげで、ポーランド語の翻訳を更新。
フランス語翻訳を更新します。 Gildas Le Nadanに感謝します。

バージョン2.57の新機能:



このバージョンでは、以前のリリースでいくつかの回帰が修正され、Androidプラットフォームのサポートが追加されました。

バージョン2.56の新機能:

dnsmasqがSolarisゾーンでインタフェース名を取得できるようにするパッチを追加します。 Dj Padzenskyに感謝します。
--dhcp-option = option:domain-search、というように、データ型解析ヒューリスティックを改善します。その値をIPアドレスではなく文字列として扱います。 Clemens Fischerに感謝してくれてありがとう。
TFTPサーバにIPv6サポートを追加します。パッチのためのJan 'RedBully' Seiffertに感謝します。
LOG_DEBUGではなく、レベルLOG_INFOでDNSクエリを記録します。これにより、DHCPロギングとの整合性が取れます。この問題を発見したAdam Pribylに感謝します。
syslogdに接続できない場合でも、 - syslog-asyncを使用する場合は、dnsmasqがきれいに終了するようにしてください。
--add-macオプションを追加してください。これは、現在の実験的なDNSフィルタリング機能をサポートするためです。 orignalパッチのBenjamin Petrinに感謝します。
PXEプロキシサービスを指定するDHCP範囲設定でタグが無視されたというバグを修正しました。これを発見してくれたCristiano Cumerに感謝します。
オプションの一部ではなく、余分な迷惑メールがコマンドラインにある場合、エラーを発生させます。
cache.c内のいくつかのログメッセージをDHCPサブシステムからのものとしてフラグを立てます。このパッチはOlaf Westrikに感謝します。a)stderrにロギングし、b)--keep-in-forgroundが設定されている場合、ログからタイムスタンプを省略します。 stderrのもう一方の端にあるロギング機能は、それらを供給するために準備できます。パッチのJohn Hallamに感謝します。
--txt-recordの255文字より長い文字列については文句を言ってはいけません。長い文字列を255文字の文字列に分割するだけです。
ダブルフリーでクラッシュを修正しました。このバグは、dhcp-scriptが使用されている場合にのみ発生します。まれに、DHCPトランザクション率が高く、スクリプトが遅い場合にのみ発生します。問題を発見したFerenc Wagnerに感謝します
転送が正常に完了した後、ファイルがTFTPによって送信されたことだけを記録します。
Ferenc Wagnerの良い提案:--domainオプションを拡張すると、このようなことが可能になります:--domain = thekelleys.org.uk、192.168.0.0 / 24、local
--local = / thekelleys.org.uk /
--local = / 0.168.192.in-addr.arpa /
設定ファイルの16進数の文法チェックを強化してください。これを発見してくれたFred Damenに感謝します。
Justin Swift氏が寄稿したdnsmasqのロゴ/アイコンを追加してください。それに感謝します。'cd'ビットがセットされたDNS応答、または 'cd'ビットがセットされて転送されたクエリの結果をキャッシュしないでください。 'cd'ビットはDNSSECの検証サーバ上流に、署名の失敗を無視し、とにかく返信するよう指示します。この変更がなければ、 'cd'ビットがセットされたクエリを作成することによって不正なデータでdnsmasqキャッシュを汚染する可能性があり、その後のクエリはこのデータを疑わしいものとしてマークしません。この問題を指摘してくれたAnders Kaseorgに感謝します。
RFC 4035に準拠するために--proxy-dnssecフラグを追加します。このオプションが設定されていない限り、Dnsmasqはアップストリーム検証ネームサーバから返された回答の 'ad'ビットをクリアします。
--conf-fileのファイル名に " - "を付けてstdinを読み込めるようにします。 Timothy Redaelliからの提案。
すべての優先順位が等しい場合にラウンドロビン負荷分散を提供するために、応答のSRVレコードの順序を回転します。提案のためのPeter McKinneyに感謝します。
contrib / MacOSX-launchd / uk.org.thekelleys.dnsmasq.plistを編集して、デフォルトですべてのクエリをファイルに記録しないようにします。 Peter McKinneyにもう一度感謝します。デフォルトでは、IPv6アドレスではなくドメインに対してIPv4アドレスを設定すると、dnsmasqはIPv6に対してNODATA応答を返します(逆も同様です)。したがって、--address = / google.com / 1.2.3.4は* google.comのIPv6クエリが転送されないようにします。 --serverと - addressの両方に同じドメインが含まれている場合は、セマンティックを定義してこの動作を無効にすることができます。その場合、--addressは表示されているアドレスファミリの優先順位を持ちますが、--serverは表示されないアドレスファミリの優先順位を持っています--adddress
そう:
--address = / google.com / 1.2.3.4
--server = / google.com /#
* .google.comのIPv4クエリでは1.2.3.4を返しますが、IPv6クエリは通常の上流ネームサーバに転送します。同様にIPv6アドレスを設定する場合にのみ、IPv4クエリの転送が許可されます。ウィリアムにこのことの必要性を指摘してくれてありがとう。
複数の--dhcp-optsfileと--dhcp-hostsfileを許可し、--addn-hostsと同じ方法でディレクトリを引数として理解させます。ジョン・ハンクスからの提案。私たちが知らないリースのリバインドリクエストは無視してください。 Rebindがブロードキャストされているので、別のDHCPサーバー用のリクエストを耳にするかもしれません。これを否定するのは間違いです。 Brad D'Hondtに感謝します。
いくつかの設定でキャッシュの統計情報をダンプする際に奇妙な出力を生成する美容バグを修正しました。これを発見したFedor Kozhevnikovに感謝します。

バージョン2.55の新機能:



/ etc / ethersを使用中にクラッシュする問題を修正しました。 Gianluigi Tiesiに感謝します。
netlink_multicast()のクラッシュを修正しました。これを見つけたArno Waldに感謝します。
空のドメインを許可してください。 " dhcpのdomain-search(119)オプションにあります。

同じようなソフトウェア

dnspython
dnspython

14 Apr 15

BIND
BIND

20 Jan 18

DNS-Tool
DNS-Tool

3 Jun 15

DNS.py
DNS.py

2 Jun 15

開発者の他のソフトウェア Simon Kelley

syslog-async
syslog-async

3 Jun 15

dhcp-helper
dhcp-helper

2 Jun 15

へのコメント Dnsmasq

コメントが見つかりません
コメントを追加
画像をオンにする!