Windowsでのhosts
最近は、インターネットに常時接続しているユーザは珍しくなく、中には自分でダイナミックDNS等のサービスを利用して、Webサーバ等を立てている人も少なくない。しかし、よく、外部からだと、そのネームアドレスで自分のWebサイトが見れるのに、LANの内側からだと、その名前を使用して見ることが出来ない、と質問を受けることある。簡単に言えば、そのLAN内での名前解決が出来てないだけのことであるが、小規模なLAN内にDNSサーバを立てるのも大袈裟だと思う場合は、hostsというファイルを用いて、その機能に代えることが出来る。
これの書式はUNIXの場合とまったく同じで、Windowsの場合、各バージョンによって以下の位置に
Windows95,98の場合 C:\WINDOWS\HOSTS Windows2000の場合 C:\WINNT\system32\drivers\etc\hosts WindowsXPの場合、 C:\WINDOWS\sytem32\drivers\etc\hosts
に通常ある(なければ、その場所に作れば機能する)。
書式は、IPアドレス、空白、ネームアドレスと簡単なもので、行の「#」以降はコメントになる。何もいじってなければ、
127.0.0.1 localhost
のように書いてあるかも知れない。
例えば、192.168.0.2というローカルIPアドレスが割り当ててあるWebサーバに「www」という名前でアクセスしたい場合、
127.0.0.1 localhost 192.168.0.2 www
と追加すれば良い。
ドメイン名も含めてアクセスしたい場合、例えば、somedomain.comと言うドメインを所持している場合、
127.0.0.1 localhost 192.168.0.2 www www,somedomain.com
という感じで書いておけば、LAN内からでもwww.somedomain.comの名前でアクセスすることができる。
しかし、いずれにしても、この名前解決の方法は、hostsの設定がしてあるPCだけの固有のルールであって、ネットワークに所属する他のPCには反映されない。hostsを用いた方法でネットワーク内の名前解決をしようとするのであれば、参加する機器の台数が多くなるに従って、hostsの設定作業も増えることになり、大変である。ある程度、規模が大きくなり、名前解決を一元管理する必要に迫られたら、やはりDNSサーバを利用した方が得策である。