HOSTS ファイルにおけるエイリアス名の最大数について

適用対象: Microsoft Windows XP ProfessionalMicrosoft Windows XP Service Pack 2Microsoft Windows XP Service Pack 3

現象


HOSTS ファイルの 1 行に 1 つのホスト名に対する複数の別名 (エイリアス) を定義した場合、9 つめ以降の名前解決ができません。



(例)

例えばホスト testserver に対して、別名を hostserver1 から hostserver11 まで 11 個記載したい場合、以下のように一行に記載すると、別名の 9 個目以降は、正しく名前解決が行われません。 

下記の例の場合は、 hostserver9, hostserver10, hostserver11 が正しく解決されません。

127.0.0.1 testserver hostserver1 hostserver2 hostserver3 hostserver4 hostserver5 hostserver6 hostserver7 hostserver8 hostserver9 hostserver10 hostserver11


原因


Windows XP/Windows  Server 2003 以降の OS では、HOSTS ファイルの 1 行に記載できる別名 (エイリアス) の数は、ホスト名 1 つにつき 8 個までとなっています。

また、この制限はソース コード上でハード コードされているため、変更することはできません。

解決方法


1 つの IP アドレスに対して、別名を 9 個以上記載したい場合には、複数行に分けて記載して下さい。



(例)

ホスト testserver に対して、別名 を 11 個 ( hostserver1 から hostserver11 ) を記載したい場合は以下の通り、一行に別名を 8 個までとし、複数列となるように記載を変更します。


127.0.0.1 testserver hostserver1 hostserver2 hostserver3 hostserver4 hostserver5 hostserver6 hostserver7 hostserver8
127.0.0.1 testserver hostserver9 hostserver10 hostserver11