梅本です。

(2010/02/22 22:01), FURUSAWA Kazumi wrote:

> 自宅でFreeBSD 8.0を使っています。 そのLANで arp(8) を使うと、以下のような結果になります。
> ホスト名が「!」になってしまっています。

「?」の間違いではないでしょうか? arp.cには「!」を出すようなコー
ドはないように見えます。

> % arp -a
> adsl (192.168.1.1) at 00:0d:02:5b:12:94 on rl0 [ethernet]
> ! (192.168.1.26) at 00:19:d2:52:d7:07 on rl0 [ethernet]
> ! (192.168.1.221) at 00:0a:79:d1:29:4b on rl0 permanent [ethernet]
> ! (192.168.1.255) at (incomplete) on rl0 [ethernet]
> ! (192.168.1.241) at 08:00:2b:25:2d:52 on rl0 [ethernet]

> LANの構成や各ファイルの設定については、文末に書いておきます。

resolv.conf の設定より、192.168.1.1 が DNS サーバのようですが、
この DNS サーバは正しく返事を返すのでしょうか?
arp.c を見ると、ホスト名が引けないわけではなく、DNS サーバへの
クエリに失敗した場合、以降、ホスト名解決をしないようになってい
ます。

> 私が疑問に思っているのは、/etc/nsswitch.conf で files を先に指定しており、
> /etc/hosts にはホスト名とIPアドレスの対応を指定しているのだから、
> arp -aの結果が下記のようになる筈ではないか、という事です。

hosts に見つからなければ DNS にクエリを出します。その結果、上
記の動きとなります。

> いろいろと試行錯誤して、ためしに /etc/hosts に以下の 1行を追加すると
> 
> 192.168.1.26 windows
> 
> arp -a の結果が変わり、ホスト名が出てくるようになりました。

ホスト名がすべて引けるようになり、DNS クエリが出なくなったから
ですね。

> これは、私の設定したファイルのどこかに誤りがあるか、
> 設定し忘れている箇所があるのでしょうか。

さっと見た限り、変なところはなさそうに見えます。ただし、ここで
設定されている DNS がちゃんと動いているのかどうかは、書いてい
ただいている設定情報からは判断はつきません。

-- 
梅本 肇 @ インターネット互助会横浜  http://www.imasy.org/~ume/
u...@mahoroba.org  u...@{,jp.}FreeBSD.org
プログラムは書いた人の意図ではなく書かれた通り動く  I hate Modula-3 :-)

メールによる返信