ループバックアドレスでIPv6を無効にします(ローカルホスト、コンピューター名など)


15

サードパーティのソフトウェア製品を新しいWindows Server 2008 R2マシンにインストールしてみましたが、ループバックアドレスlocalhostやコンピューター名(例:VPS-Webに解決されるlocalhost)を介してローカルサービスにアクセスする以外はすべて機能することがわかりました。IPv6を使用していないため、ソフトウェアに互換性があるまでIPv6を無効にします。

Windows 2008 R2でIPv6無効にするためにこれらの指示を使用しようとしましたが、プロトコルを無効にしませんでしたlocalhostlocalhostまたはの代わりにpingをVPS-Web返し::1:ます127.0.0.1ping localhost -4正しいアドレスを取得するために使用できますが、IPv6はIPv4より優先されるため、サードパーティソフトウェアはIPv6アドレスのみを取得します。


ベンダーに連絡して、回避策があるかどうか確認してみましたか?PingはIPv6アドレスを要求します。したがって、IPv6をサポートしないアプリケーションは:: 1を取得しますが、IPv6アドレスは取得しません。
クリスS

このソフトウェアは、さまざまなコンポーネント(JAVA、Tomcat、Apache、MSSQL、SAP、JDBC、WMI)を憎むものであり、いずれかが問題になる可能性があります。IPv6を使用していないので、無効にします。また、ループバックアダプタに対してこれを行うオプションがないように思われます。
グレッグブレイ

回答:


12

SilverbackNetが提案したように、最初にホストファイルをチェックしましたが、Windows 2008 R2サーバーではこれがデフォルトファイルです。

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost

#ホストファイル内のコメントを示しているため、すべてのエントリがコメント化されており、最初の行は少しわかりにくいです。それから、localhostにコメントアウトされたエントリが2つあることに気付いたので、IPv4のコメントを外してみましたが、うまくいきました!私は最初にそれを試してみるべきでしたが、私は最初の行で軌道から外れました。以下のホストファイルを使用してコンピューター名またはローカルホストにpingを実行すると、常にIPv4アドレスが返され、サードパーティソフトウェアの問題が修正されます。

# localhost name resolution is handled within DNS itself.
#   ::1         localhost
127.0.0.1       localhost
127.0.0.1       VPS-Web

これは、netstatでリッスンしているipv6([::])を削除しましたか?
ジャレッドバロウズ

ありません。[::]は、0.0.0.0と同等のIPv6であり、システムで使用可能なすべてのIPアドレスを表します。上記の修正は、localhostループバックアドレス専用です。上記の設定とDisabledComponents = 0xffffffffレジストリキーの両方があり、[::]でリッスンしているアプリケーションが表示されます。IPv6を完全に無効にする方法があるかどうかはわかりません。
グレッグブレイ

問題を確認していただきありがとうございます!私はちょうど確認していた:)
ジャレッドバロウズ

これはうまくいきませんでした。私は... DNSキャッシュをフラッシュし、再起動し、それはまだIPv6アドレスを返す
jj_

5

「DisabledComponents」の設定= 0x20の下

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parameters \

プレフィックスポリシーでIPv6ではなくIPv4を使用するようにそのマシンを設定します。

レジストリキーが存在しない場合は作成します。


2

DisabledComponentsレジストリ値の使用に関する最初のServerFaultスレッドは、実際にこれを行う最適な方法です。正常に機能するネットワークでは、ホストファイルの調整は必要ありません。レジストリの微調整もあるくらい Active Directoryを持っている場合は、グループポリシーを通じて展開して戻すことが容易になります。

動作しなかった理由は、そのDisabledComponentsレジストリ設定がビットフラグのセットとして読み取られ、単にオンまたはオフにならないためです。これに関するMicrosoftの公式ドキュメントは次のとおりです
。Windows7、Windows Vista、Windows Server 2008 R2、およびWindows Server 2008でIPバージョン6(IPv6)またはその特定のコンポーネントを無効にする方法

ショートバージョンはVistaの/ 2008年以降で完全に無効にIPv6への値に設定することであるDisabledComponentsのを0xff。IPv6を明示的に使用していない管理しているすべてのマシンでこれを行います。ipconfigコマンドの出力を大幅に短縮するという素晴らしい副作用があります。


2
あなたのリンク(によるsupport.microsoft.com/kb/929852#letmefixit)このレジストリエントリは...ループバックを除き、多くの場所でIPv6を無効にすることができます
フランクNocke

1
あなたは正しいです。ただし、デフォルトのネットワーク機能を変更してIPv6よりもIPv4を優先する値があり、ローカルホストまたはNetBIOSコンピューター名への接続に関するOPの問題を効果的に解決します。
ライアンボルガー

Windows Server 2012R2では、これらのどれも実際に機能していません。これには、他の場所で見た他の多くのアイデアに加えて、ホストの変更、DisabledComponentsレジストリ設定の試行が含まれます。Windows Server 2008で動作しますが、2012R2のソリューションはありません。
スコットホワイト

DisabledComponents値を変更した後、再起動する必要があります。0xffffffffに設定した場合、2012R2でも機能しなかった方法はありません。ipconfigを実行した結果、IPv6に関連するものは何も返されないため、localhostへのpingはv4アドレスにpingする必要があります。
ライアンボルガー

新しい発見は、5秒のブート遅延を避けるために、正しい値は0xFFFFFFFではなく0xFFであるべきであることを示しています。更新されたMicrosoft KB929852を参照してください(これでもループバックは無効になりません)
-wandersick

2

%systemroot%\ system32 \ drivers \ etcのhostsファイルからエントリを削除しようとしましたか?常にIPv4にするために「localhost」が必要な場合は、これでうまくいきます。ただし、サーバー名に基づいている場合、これはおそらく機能しません。


1
Windows上のホストファイルは%systemroot%\ system32 \ drivers \ etcにあり、localhostのpingにipv6参照が含まれていなくても、localhostにpingを実行すると:1の応答が返されます。
ヘルヴィック

localhostをそれに(およびIPv6ではなく、
それだけに

0

また、NIC自体のプロパティに移動し、IPv6ボックスをオフにして、IPv4を有効のままにすることもできます。トリックを行う必要があります。


3
ループバックアドレスのための仕事は...しない
グレッグブレイ

ああ!:(
ハハ

これは、LANインターフェイスのみを無効にします。トンネルとループバックはまだここに接続されています(netshインターフェイスipv6を介して確認>インターフェイスを表示)
Chadddada

-3

hostsファイルに次のような行を追加してみてください。

::1 VPW-Web

これにより、リゾルバーがVPW-WebIPv6ループバックの名前として取得できるようになります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.