NetBIOS 名を使用してサーバーに ping を実行すると、正しくない IP アドレスが返されます

この記事では、NetBIOS 名を使用してサーバーに ping を実行すると、正しくない IP アドレスが返される問題の解決策について説明します。

適用対象: Windows Server 2012 R2
元の KB 番号: 981953

現象

Windows Server 2008 または Windows Server 2008 R2 を実行しているコンピューターがあります。 複数の IP アドレスを持つサーバーが NetBIOS 名を使用してそれ自体に ping を実行しようとすると、正しくない IP アドレスが返されます。

原因

IP アドレスではなく名前で ping を実行する場合、その名前を IP アドレスに解決する必要があります。 名前がサーバーの名前の場合、IP アドレスはネットワーク アダプターからのアドレスとして返されます。これは、ネットワーク バインドの順序の一番上または一番下にあります。 通常は、最後にインストールされたネットワーク アダプターになります。また、使用する必要があるインターフェイスではない可能性があります。 そのため、ping コマンドは正しくない IP アドレスを返します。

注:

ネットワーク アダプターに複数のアドレスがある場合は、IPv6 アドレスを使用することをお勧めします。

解決方法

この問題を回避するには、優先アダプターをバインド順序の上部または下部に移動することで、IP アドレスが選択されているアダプターを変更できます。 一覧に表示されない非表示のアダプターの場合は、サーバー名と目的の IP アドレスを使用する Hosts ファイルを作成できます。 非表示のアダプターの例として、Microsoft フェールオーバー クラスター仮想アダプターがあります。

バインド順序を変更する方法

バインド順序を変更するには、次の手順に従います。

  1. [スタート] をクリックし、[コントロール パネル] をクリックします。

  2. [ ネットワークとインターネット] をクリックし、[ ネットワークと共有センター] をクリックします。

  3. オペレーティング システムに応じて、ネットワーク アダプターの設定を変更します。

    • Windows Server 2008 の場合は、[ アダプター設定の管理] をクリックします。

    • Windows Server 2008 R2 の場合は、[ アダプター設定の変更] をクリックします。

  4. [ 整理] をクリックし、[ レイアウト] をポイントして、[ メニュー バー] をクリックします。

  5. [ 詳細設定 ] メニューの [ 詳細設定] をクリックします。

  6. [Connections] ウィンドウで、目的のネットワーク アダプターを選択します。

  7. このネットワーク アダプターをリストの一番上または一覧の下部に移動します。 これを行うには、上方向キーと下方向キーのボタンを使用します。

  8. [OK] をクリックします。

Hosts ファイルを変更する方法

非表示アダプターの場合は、「バインド順序を変更する方法」セクションの手順を使用して、バインド順序を変更することはできません。 非表示のアダプターの場合は、目的のホスト名と IP アドレスを使用する Hosts ファイルにエントリを追加する必要があります。

Hosts ファイルを変更するには、次の手順に従います。

  1. [ スタート] をクリックし、[ すべてのプログラム] をクリックします。

  2. [ アクセサリ] をクリックし、[ メモ帳] を右クリックし、[ 管理者として実行] をクリックします。

  3. 管理者パスワードの入力または確認を求められた場合は、パスワードを入力するか、確認を入力します。

  4. コマンド プロンプトで、次のコマンドを入力し、Enter キーを押します。

    cd %windir%\System32\Drivers\Etc  
    
  5. コマンド プロンプトで、「メモ帳ホスト」と入力し、Enter キーを押します。

  6. 手順 5 で開いたファイルの下部に、次の形式を使用して、目的の IP アドレスの新しいエントリIP_Address追加します
    たとえば、Server01 の IP アドレスが 10.0.0.1 の場合は、次のように入力します。
    10.0.0.1Server01

  7. [ ファイル ] メニューの [ 保存] をクリックし、メモ帳を閉じます。

  8. コマンド プロンプトで、「ipconfig /flushdns」と入力し、Enter キーを押します。 コンピューターまたはサーバーを再起動せずに Hosts ファイルを再読み込みします。

注:

ネットワーク アダプターの特定の IPv4 アドレスに ping を実行する場合は、-4 パラメーターを使用できます。 たとえば、次のコマンドを使用できます。
ping -4 <ホスト名>

ネットワーク経由で IPv4 アドレスを使用する場合は、Windows で IPv6 アドレスではなく IPv4 アドレスを強制的に使用できます。 ただし、これを行うことをお勧めしません。 IPv6 アドレスを使用するようにネットワークを更新することを強くお勧めします。 IPv6 を無効にする方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を表示してください。

929852 Windows Vista、Windows 7、および Windows Server 2008 で特定のインターネット プロトコル バージョン 6 (IPv6) コンポーネントを無効にする方法

詳細

getaddrinfo 関数の詳細については、次の MSDN Web サイトを参照してください。
getaddrinfo 関数