• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sambaで名前解決)

sambaで名前解決についての仕組みと問題点について

このQ&Aのポイント
  • sambaを使用した名前解決の仕組みについて教えてください。
  • sambaを起動しているとWindowsからはpingが通るが、Linuxからは通らない理由についても教えてください。
  • sambaを停止させた後でもWindowsからはpingが通ってしまう原因について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

あんまり、詳しくはないので、いい加減な説明だと思って聞いて下さい。 いわゆるwindowsのネットワークで使われるホスト名は、NETBEUI名でこれは、NETBEUIという小規模ネットワークでのネットワークプロトコル(通信の為の取り決め)です。 NETBEUIでは、ブロードキャスト(放送)によって名前の解決をします。 言ってみれば、ネットワーク上に 俺の名前はチョメチョメだぁ~とか おまえの名前はなんなんだぁ~とか こういう名前を探してるぅ~と叫ぶことに相当します。 こういうことをやっていると、ネットワークに参加しているホスト(PC)が少ない場合はいいですが、 多くなってくると、ネットワーク上で叫んでいる人ばかりになってしまって、ネットワークが混雑して使えなくなります。 そこで、名前の管理をしてくれるPCが必要になります。 MSでは、このNETBEUI名の管理をしてくれるサーバーをWINSといいます。 そういうサーバーがある時には、それぞれのPCは、名前を知らせたい時、知りたい時サーバーにアクセスすればいいのです。 WINSを使うにはMSのサーバーが必要になりますが、色々制約やらロイヤリティやらありますので、いわゆるフリーのOSで構成されるようなネットワークになじみません。(フリーでなくなってしまう) そこでWINSの様な動作をするサーバーとして、 sambaが作られました。 動作としては、俺は、IP*.*.*.*の何々だという情報を貰ってそれを知りたいホストに提供することです。 windowsのPCは、WINSとかサーバーを設定してあると、そこから、名前を問い合わせてIPアドレスを得ることができます。 それで、NETBEUI名でpingとかができるということですね。 Linuxでは、基本的に名前の解決にはDNSを使います、WINSを自動的に使うという設定がありませんので、 NETBEUI名では、名前の解決ができません。 windowsのネットワークでは、WINSなど(sambaも)サーバーがなくてももともと動作するようになっています。 それは、サーバーが存在しない場合、ネットワーク上の適当な(例えば、NTとか)ホストがサーバーの替わりをやってくれるからです。このサーバーの替わりをやってくれているホストをマスタブラウザといいます。このホストが誰かがネットワーク上で叫んだのを覚えておいて、サーバーの替わりに返答(アドレスを教えてくれる)してくれるわけです。 そういうのが無い場合でも、叫べば直接返事(本人がアドレスを教えてくれる)をしてくれるかも知れません。(マイネットワークに表示のないPCでも直接名前を入力すればアクセスできる)

その他の回答 (1)

回答No.2

Linux 上での名前解決の方法は /etc/nsswitch.conf の hosts で定義されます。通常は hosts ファイルと dns になっているはずです。 また、Windows と samba の名前解決について参考URLに詳しい解説があります。

参考URL:
http://www.samba.gr.jp/doc/browsing/browsing01.html

関連するQ&A