- ベストアンサー
WinXPProのみのネットワークにおける名前解決
WindowsXPProのみでネットワークを組んでいます。 Apacheを通じて情報共有をさせたいのですが、 IPアドレスなら通って、マシン名だと接続できません。色々と調べたのですが、LMHOSTSファイルとかWINSサーバーとか無いと、名前だけ(http://サーバー名/)でアクセスできないのでしょうか?「IPアドレスでやればいいじゃん」という答えはなしでお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
1)WindowsのWINS(WindowsInternetNameServer)がWINDOWSのコンピュータ名とIPアドレスを関係付けます。 これはWindows上でWindows上のファイル共有で利用されるNetBIOSというプロトコルを使う場合の名前解決に使われます。 2)一方、TCP/IPネットワーク上のDNS(DomainNameServer,DomainNameServise)でIPアドレスとインターネット上のホスト名を結び付けます(名前解決します。)。 このホスト名はインターネット上のDNSサーバに登録されたコンピューターのホスト名とIPアドレスを結び付けます。 WWWサーバなどで使われるのはDNSシステム、つまりTCP/IPプロトコル上の名前解決が必要です。 自宅やDNSサーバーが用意できない小規模なLAN環境では、WindowsでローカルPCにつけたコンピュータ名をTCP/IPネットに関連付けるために、 1)の関係のWINSサーバの代用としてのLMHOSTSというファイルで、Windows上のコンピュータ名をIPアドレスに関連つけてやります。 これだけでは、インターネット上のDNS名(ホスト名)を持ったTCP/IP上のアドレス解決ができませんので、 2)のDNSシステムの代用としてのホスト名のアドレス解決のためのHOSTSファイルでホスト名とIPアドレスを関連付けてやります。 1)と2)の操作でWindows上のコンピュータ名とインターネット上のDNSシステムでのホスト名が同じIPアドレスを媒介にして関係付けられます。 HOSTSファイルはWinXP Proの場合「C:\WINDOWS\system32\drivers\etc\hosts」にあります。拡張子はありませんがテキストファイルです。 他方lmhostsについても同様にテキストファイルです。 hostsと同じホルダーにおいて置くと分かりやすいですね。 ネットワーク接続のTCP/IPの設定の中でLMHOSTSを有効にして、LMHOSTファイルにパスを張っておきます。 LMHOSTSのサンプルファイルlmhost.samが用意されていますので、拡張子を削除してhostsと同じ書式で書けば良いですね。 ただし、hostsファイルの中に書くコンピュータ名はインターネット上のDNSサーバに登録されたのと同じホスト名を使います。 lmhostsの中のコンピュータ名は、DNSシステムに登録されているホスト名がある場合はそのホスト名で書き込みます。DNSサーバのどこにも登録されていないコンピューターの場合は、DNSシステム上で同じホスト名(ドメイン名が異なる場合は同じホスト名でもかまわない)がないようにして、インターネット上で使えるホスト名をWindows上のコンピューター名としてください。 HOSTS/LMHOSTSファイルとも書式は同じです。 IPアドレスに続き、半角のスペースまたはTABキー送りをしてドメイン名付のコンピュータ名(ホスト名)を一行に1ホスト分ずつ書いていってください。 例) aaa.bbb.ccc.ddd mypc01.domain*.**.jp xxx.yyy.zzz.ppp www.home*.**.jp mycom02.ab**.co.jp 別名(alias名)がある場合は複数のホスト名をスペースで区切って並べます。 以上です。 ローカルサイトのホスト名はネットワーク接続のTCP/IPの設定の中でホスト名の跡に自動的にドメイン名を追加する設定にしてあれば、必ずしもドメイン名をつけなくてもいいですが、インターネット上のホストやサーバのドメイン名は省略できません。
その他の回答 (1)
基本はhosts.ファイルですね。 静的に対応を記述するしくみですから IPアドレスがDHCP等で割り当てられるのであれば 対応に齟齬が生じることもありますので要注意。 hosts.ファイルはUNIX系の記事でよく出てきますが こそーり、WindowsやMacOSでも利用可能なしくみです。