UNIXコンピュータはホスト名でどのようにお互いを見つけるのですか?

UNIXコンピュータはホスト名でどのようにお互いを見つけるのですか?

私は、Sambaがインストールされている複数のWindowsおよびLinuxコンピュータで構成されたホームネットワークを持っています。

Windowsでは、ホスト名で各コンピュータを見つけることができます。

ただし、Linuxシステムではホスト名で他のシステムを見つけることができず、IPアドレスのみが機能します。

実際、Linuxはそれ自体を理解できないようです。

user@atom:~$ host atom
Host atom not found: 3(NXDOMAIN)

ベストアンサー1

Windowsは他のシステムを使用してLinuxホスト名を解決します。

Linuxは/etc/hosts名前解決にファイルおよび/またはDNSを使用します。

この/etc/hostsファイルはIPアドレスと名前のリストにすぎず、管理するには大きすぎたことに気づく前に名前をIPアドレスにマッピングする唯一の方法でした。解決策はDNS(ドメイン名システム)、今、インターネット全体をサポートする分散データベースです。

host使用しているコマンドはDNSのみを照会するため、/etc/hostsDNSエントリがないとローカルコンピュータが見つかりません。

名前ですべてのLinuxシステムにアクセスするには、/etc/hostsファイルを作成します。

127.0.0.1    localhost.localdomain    localhost
192.168.0.5  laptop.mydomain.net  laptop
192.168.0.6  server.mydomain.net  server
192.168.0.7  printer.mydomain.net printer

すべてのLinuxコンピュータに展開するか、DNSをインストールします。dnsmasq小規模ネットワークに最適な軽量DNS/DHCPサーバーです。

Windowsは独自に使用します。NetBIOS名解決各コンピュータは、特定の名前のコンピュータのIPアドレスを見つけるためにLANから特別なメッセージをブロードキャストします。これが、Windowsコンピュータが同じネットワーク上にあるときに自動的にお互いを見つける傾向がある理由です。後で使用できるようにキャッシュするため、ネットワークにノイズが多すぎません。

このブロードキャスト名解決(大規模展開の場合)の代替案はWINS(Windowsインターネットネーミングサービス)これは、IPアドレスのコンピュータ名および/またはサービス名の中央データベースです。現在のバージョンのWindowsでは、DNSが名前解決のための事実上の標準であり、WINSよりもスケーラビリティが高いため、DNSを使用しています。

おすすめ記事