古澤と申します。arp(8) において、
ホスト名が表示される場合の挙動について確認したい点がありますので、
何かご存知の方がいらっしゃいましたら、コメントをお願いします。

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

% 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の構成や各ファイルの設定については、文末に書いておきます。

私が疑問に思っているのは、/etc/nsswitch.conf で files を先に指定しており、
/etc/hosts にはホスト名とIPアドレスの対応を指定しているのだから、
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]
freebsd (192.168.1.221) at 00:0a:79:d1:29:4b on rl0 permanent [ethernet]
ALLHOST (192.168.1.255) at (incomplete) on rl0 [ethernet]
openbsd (192.168.1.241) at 08:00:2b:25:2d:52 on rl0 [ethernet]

いろいろと試行錯誤して、ためしに /etc/hosts に以下の 1行を追加すると

192.168.1.26 windows

arp -a の結果が変わり、ホスト名が出てくるようになりました。

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

追加した行は、本来 DHCP で運用してる分なので、/etc/hosts に書いておくのは変だと思うのです。

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

わりにくい説明で恐縮ですが、何か解決のヒントがありましたら、
ご指導をよろしくお願いします。
-- 
FURUSAWA Kazumi <kaz...@mse.biglobe.ne.jp>

[1] LAN の構成
                         |
                    +----+----+
                    | ADSL    |
                    +----+----+
                         | .1
       192.168.1         |
     +------------+------+-----+------------+
     | .221       | .231       | .241       | DHCP
+----+----+  +----+----+  +----+----+  +----+----+
| FreeBSD |  | NetBSD  |  | OpenBSD |  | Windows |
+---------+  +---------+  +---------+  +---------+


[2] /etc/hosts

::1                     localhost localhost.my.domain
127.0.0.1               localhost localhost.my.domain
192.168.1.1 adsl
#192.168.1.26 windows
192.168.1.221 freebsd
192.168.1.231 netbsd
192.168.1.241 openbsd
192.168.1.255 ALLHOST

[3] /etc/nsswitch.conf

#
# nsswitch.conf(5) - name service switch configuration file
# $FreeBSD: src/etc/nsswitch.conf,v 1.1.10.1 2009/08/03 08:13:06 kensmith Exp $
#
group: compat
group_compat: nis
hosts: files dns
networks: files
passwd: compat
passwd_compat: nis
shells: files
services: compat
services_compat: nis
protocols: files
rpc: files

[4] /etc/resolv.conf

nameserver 192.168.1.1

メールによる返信