システム移行などのために複数のコンピュータ名を付ける【Windows OS】Tech TIPS

通常、NetBIOS名は1台のコンピュータにつき、1つしか定義できない。しかしシステムの統廃合などのために、一時的に1台のコンピュータに複数の名前(NetBIOS名)を付けたいことがある。そこでレジストリを操作することにより、コンピュータに対して別名を割り当てることができる。

» 2003年12月20日 05時00分 公開
「Tech TIPS」のインデックス

連載目次

システム移行などのために複数のコンピュータ名を付ける【Windows OS】

対象OS:Windows NT/Windows 2000/Windows XP/Windows Server 2003


1台のPCに複数のコンピュータ名を付けたい!

 コンピュータ名(NetBIOSホスト名)は、通常は1台のコンピュータにつき、1つしか定義できない。しかし場合によっては、1台のコンピュータに対して、同時に複数の名前を付けたいということもある。

 例えば、あるサービスを提供している複数台のコンピュータを統合して1台にする場合、統合元のサーバの名前を新しいサーバにも付けておけば、ユーザーはサーバが変更されたことを意識することなく、そのまま利用し続けることができる。

 また単にサーバの名前を変更する場合でも、いきなり変更するのではなく、新しい名前を追加で定義して両方のコンピュータ名でアクセスできるようにしておき、しばらく運用してトラブルが起こらないことを確認してから目的とするコンピュータ名に変更する、というような使い方もできる。

 さらには、実験やトラブルシューティング用途などのために、1台のマシンで多数のコンピュータ名を定義するという用途も考えられるだろう。トラブルが生じているのと同じ(複数の)コンピュータ名をネットワーク上で再現してみることにより、例えば管理ツールなどが特定のコンピュータ名などによって不正な動作をしていないかどうかを確認したりするためだ。

複数のコンピュータ名は設定可能だが注意点も

 実は、レジストリを操作することにより、同時に複数のコンピュータ名(NetBIOS名)を持たせることができる。ただしこの操作を行っても、IPアドレス(やネットワークインタフェース)はデフォルトのまま、つまり1つしか存在しないのままなので、物理的に複数台のコンピュータが存在する場合と比べると、少し違いがある。

 ほとんどの場合はこれでも問題はない。しかし、例えばコンピュータ名とIPアドレスは必ず1対1に対応していて、物理的には別なシステムと見なすようなアプリケーションがあるとすると、動作が不正になるかもしれないので注意していただきたい。

 またサービスによっては、本来のコンピュータ名ではない別名によるアクセスを拒否する可能性があるので(コンピュータ名を変更するとうまく動作しなくなるようなアプリケーションも少なからず存在する)、別名の定義による影響には十分注意して利用していただきたい。

コンピュータに複数の名前(NetBIOS名)を付けるには

 コンピュータに複数の名前(NetBIOS名)を付けるためには、以下のように、レジストリに「OptionalNames」という値を作成し、コンピュータ名を記述する。

[注意]

レジストリに不正な値を書き込んでしまうと、システムに重大な障害を及ぼし、最悪の場合、システムの再インストールを余儀なくされることもあります。レジストリエディターの操作は慎重に行うとともに、あくまでご自分のリスクで設定を行ってください。何らかの障害が発生した場合でも、本編集部では責任を負いかねます。ご了承ください。


項目 内容
キー HKEY_LOCAL_MACHINEの
\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
値の名前 OptionalNames
文字列値(REG_SZ)または複数行文字列値(REG_MULTI_SZ)。別名を1つ定義する場合はREG_SZ、複数定義する場合はREG_MULTI_SZを使用する
値のデータ コンピュータ名を表す文字列。複数定義する場合は、REG_MULTI_SZにして、各行に1つずつコンピュータ名を記述
別名定義のためのレジストリ

 ここで定義された名前は、コンピュータの別名として扱われる。1つだけ別名を定義するならREG_SZ型で、複数定義するならREG_MULTI_SZ型でそれぞれ記述する(Windows 2000やWindows NTでは、regedt32.exeを使うとREG_MULTI_SZ型を簡単に入力できる)。

 レジストリを変更後、システムを再起動すると複数のコンピュータ名が有効になっているはずである(数十や数百個といった、あまりにも多くの名前を付けると、起動に少し余計に時間がかかるので注意)。

C:\>nbtstat -n

ローカル エリア接続:
Node IpAddress: [192.168.0.231] Scope Id: []

                NetBIOS Local Name Table

       Name               Type         Status
    ---------------------------------------------
    WINPC001       <00>  UNIQUE      Registered
    D-ADVANTAGE0   <00>  GROUP       Registered
    WINPC001       <03>  UNIQUE      Registered
    WINPC001       <20>  UNIQUE      Registered ……本来の名前
    ALPHA01        <20>  UNIQUE      Registered ……別名
    BETA02         <20>  UNIQUE      Registered ……別名
    GAMMA03        <20>  UNIQUE      Registered ……別名
    DELTA04        <20>  UNIQUE      Registered ……別名
    THETA05        <20>  UNIQUE      Registered ……別名
    ETA06          <20>  UNIQUE      Registered ……別名
    EPSILON07      <20>  UNIQUE      Registered ……別名
    OMEGA08        <20>  UNIQUE      Registered ……別名
    PI09           <20>  UNIQUE      Registered ……別名
    D-ADVANTAGE0   <1E>  GROUP       Registered
    INet~Services  <1C>  GROUP       Registered
    IS~WINPC001....<00>  UNIQUE      Registered
    ADMINISTRATOR  <03>  UNIQUE      Registered



 ネットワーク上のコンピュータ名を確認すると、以下のように、すべて異なるコンピュータであるかのように表示される(実際にはすべて「\\WINPC001」と同じマシン)。エクスプローラなどでそれぞれのマシンをアクセスすると、どれをアクセスしてもすべて同じ共有情報が得られる。

C:\>net view
サーバー名             注釈

-----------------------------------
\\AASERVER01
\\ALPHA01 ……別名
\\BETA02  ……別名
\\DELTA04 ……別名
\\EPSILON07 ……別名
\\ETA06   ……別名
\\GAMMA03 ……別名
\\OMEGA08 ……別名
\\PI09    ……別名
\\THETA05 ……別名
\\WINPC001 ……本来の名前
\\ZETA06  ……別名
コマンドは正常に終了しました。



【注意】別名は自動でDNSサーバに登録されない

 別名として付けられたコンピュータ名は、DNSの動的更新によってDNSサーバに登録されることは「ない」ので、別名でDNSサーバによる名前解決を試みてもすべて失敗することになる。必要ならば手動でDNSサーバにレコードを登録するか(元の名前に対するCNAMEレコードがよいだろう)、本来のコンピュータ名でアクセスしなければならない。

FQDN(ホスト名)はDNSサーバで複数設定が可能

 DNSによるホスト名(FQDN)を複数持たせたい場合は、単にDNSサーバにおいて、同一のホストに対して複数のホスト名を定義しておけばよい。

 例えばWebサーバなどに対するアクセスでは、FQDNは名前解決によってIPアドレスに変換され、それに基づいてWebサーバへアクセスされる。そのためホスト名はあまり重要ではない。

 これに対してNetBIOSサービスでは、(本来は)名前によってサービスの対象が決まるので、本Tech TIPSのように別名を定義する必要性が生じることがある。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。