Fedora資料一覧

mDNSで.localのホストの名前解決を行う(nss-mdns*)

2008/8/30更新

対応バージョン: 9

mDNS(Multicast DNS)で.localのホストの名前解決をするにはnss-mdnsモジュールを使用する。

同モジュールがインストールされていない場合はまずインストールする。

% sudo yum install nss-mdns

nss-mdnsモジュールには目的に応じて3種類 x 2バリエーションの計6モジュールが用意されている。

以下にそれぞれのモジュールについて説明する。

mdns

IPv4/IPv6双方のアドレス解決 (レガシー)

mdns4

IPv4のみのアドレス解決

mdns6

IPv6のみのアドレス解決

どのモジュールも最後に「_minimal」が付くバリエーションがある。

mdns_minimal
mdns4_minimal
mdns6_minimal

このバリエーションを使用すると名前解決しようとしたホスト名の最後に「.local」が含まれていないかアドレスの範囲が169.254.0.0/16(IPV4LL/APIPA/RFC3927)でない場合は名前解決を行わないので、例えば名前解決の手段として/etc/hostsの他にDNSとWINSを使うなど複数のモジュールを使用する場合に早く次のモジュールに制御が移せる効果がある。

よって例えば/etc/hostsとmDNS(IPv4)、及びDNSを使用する場合は/etc/nsswitch.confに以下のように記述するとよい。

hosts:    files mdns4_minimal [NOTFOUND=return] dns mdns4

この結果、.localのホストの名前解決が可能となる。

% getent hosts myhost.local
192.168.0.1  myhost.local