Dnsmasq/ja

は Article description::1000 クライアント以下のローカルネットワークで使用できるシンプルな DHCP/DNS サーバです. 主な特徴は設定の簡単さと軽量さです. IPv6 にも対応しています.

USE フラグ
適切な USE フラグを選択してください:

Emerge
次に、 パッケージをインストールしてください:

設定
dnsmasq の振る舞いを変えるには、さまざまなリソースを変更することで行えます. これには以下が含まれます.
 * を通じて提供されるコマンドラインオプション
 * メインの設定ファイル

OpenRC
自動的に開始する必要がある場合は、dnsmasq を default ランレベルに追加してください:

すぐにサービスを開始するには:

サービスの設定
では、dnsmasq デーモンの起動時に渡されるコマンドラインオプションを設定できます.

メインの設定ファイル
dnsmasq の主な設定は 設定ファイルを通じて行われます. このファイルは  の構文を使用しています. パッケージにより提供されるファイルはよく文書化されており、通しで読むことをおすすめします. ファイルの中で、あるいはコマンドラインオプションを通じて、(DHCP hosts ファイル等の) 追加のリソースに言及されているかもしれません.

以下はサンプルの設定ファイルです:

設定ファイルの編集が完了したら、サービスを再起動する必要があります. リロードには対応していますが、これは他のリソースのためのものです.

hosts ファイル
dnsmasq アプリケーションは   コマンドライン引数を渡されない限り、DNS サービスを提供するために  ファイルを情報源のひとつとして使用します.

ファイルが更新されたら、dnsmasq サービスはその設定を再読み込みするために SIGHUP シグナルを受信する必要があります. これは init スクリプトの reload コマンドを通しても対応しています:

この挙動は設定ファイルで  パラメータを利用して無効化することもできます.

追加の hosts ファイル
DNS クエリのための情報源として使用するために、(追加の) hosts ファイルを渡すこともできます. これを行うには、  コマンドラインオプションを追加してください. ディレクトリを渡すこともでき、その場合はディレクトリ内のすべてのファイルが追加の hosts ファイルとして扱われるでしょう.

通常の hosts ファイルと同様に、SIGHUP シグナルでファイルを再読み込みします.

この挙動は設定ファイルで  パラメータを利用して設定することもできます.

上流のネームサーバ
dnsmasq はデフォルトでは、 で指定されたネームサーバを上流のネームサーバとして利用します.

コマンドラインオプションを介して、異なるファイルを利用することもできます.

この挙動は設定ファイルで  パラメータを利用して設定することもできます.

機能
dnsmasq は DNS、TFTP、PXE、ルータ広告と DHCP サービスに対応しています. そのため、小〜中規模のネットワークのための多目的なネットワーク管理ツールとなっています.

DNS サービス
DNS サービス (のみ) を提供するためには、まず使用する上流ネームサーバを特定してください. もしこれが 内で指定されているネームサーバと同じである場合は、追加の手順を踏むは必要ありません. そうでない場合は、  コマンドラインを通じて、dnsmasq が適切な  ファイルを見るようにしてください. 文法は ファイルが使用するものと同じですが、dnsmasq は nameserver 定義しか確認しません.

例えば:

次に、設定ファイルを通じて dnsmasq がこのファイルを見るようにしてください:

設定ファイルを変更してサービスを再開した後、サービスが動作していることを確認するには、 コマンド ( から提供されています) を使用して、DNS サーバ (以下の例では localhost で動作しているもの) にローカルまたはリモートのアドレスを解決させてみてください:

DNSSEC
dnsmasq は DNSSEC データを受け渡すと同時に検証することができます. これはコンフィグファイルにこれらの行を追加することで実現できます:

dnssec-check-unsigned }}
 * 1) Replies which are not DNSSEC signed may be legitimate, because the domain
 * 2) is unsigned, or may be forgeries. Setting this option tells dnsmasq to
 * 3) check that an unsigned reply is OK, by finding a secure proof that a DS
 * 4) record somewhere between the root and the domain does not exist.
 * 5) The cost of setting this is that even queries in unsigned domains will need
 * 6) one or more extra DNS queries to verify.

トラストアンカーは iana.org のサイトで見つけることができます. この変更を加えると、検証が失敗した場合に、dnsmasq は SERVFAIL を返して DNS データを返さなくなるでしょう. 検証が成功した場合は、ad フラグを設定します. ドメインが DNSSEC をサポートしていない場合は、dnsmasq は設定変更前と同様に動作します.

DHCP サービス
dnsmasq の DHCP サービスを有効化するには、 設定を使用してください.

例えば、ルータ広告 (RA) を利用した無限リースタイムの IPv6 アドレス設定と、無限リースタイムの IPv4 アドレス設定を有効化するには:

メインの設定ファイル ( 設定) か、分離されたファイルを利用して、既知のホストのために静的定義を使用することもできます. 分離されたファイルを使用する場合は、 コマンドラインオプションを通じて、dnsmasq がそのファイルを見るようにしてください. 後者のアプローチの利点は、エントリを再読み込みするためには SIGHUP シグナルを送信する (またはサービスを reload する) だけで済む点です. 一方で設定ファイルに定義すると、サービスの完全な再開 (restart) が必要になります.

パラメータの文法はとても広いので、文法についてのさらなる情報はマニュアルページか設定ファイルを参照してください.

使い方
この節では、dnsmasq サービスのさまざまな利用シナリオ (保守および運用タスク) を扱います.

リースをリセットする
ネットワークインターフェースを更新して、MAC アドレスが変わってしまった場合、意図した IP アドレスがすぐには得られないかもしれません. これは、dnsmasq サービスがこの IP アドレスを古い MAC アドレスに提供していて、このアドレスのリースが切れて再割り当てされるまで待とうとするからです.

dnsmasq サービスはリースを に保管します. リースをいち早く削除する必要がある場合は、dnsmasq サービスを停止し、 ファイルからリースを削除して、サービスを再度開始してください.

メイン以外の設定ファイルを再読み込みする
ファイルの他に、dnsmasq サービスは以下のサービスのために外部定義を使用することができます:
 * DHCP ホスト設定エントリ ( コマンドラインオプションを通じて)
 * DHCP オプション ( コマンドラインオプションを通じて)

これらのファイルが変更された場合、SIGHUP シグナルは dnsmasq にこれらの設定ファイルの再読み込みを実行させます.