IPアドレスをローカルホストにマッピングする方法は?


16

IPアドレス192.168.1.222を127.0.0.1にマッピングして、Webブラウザーまたはpingコマンドで192.168.1.222を使用すると、応答(および127.0.0.1からの応答)を取得できるようにします。

これはルーティングテーブル経由で可能ですか、それとも何らかの仮想ネットワークアダプターを追加する必要がありますか?

私はWindows 7マシンでこの問題に対処しようとしますが、Windows XP以外のオプションはありません。

私はすぐそこに立ち往生しています。


それが可能かどうかはわかりませんが、ホスト名を使うのは簡単です。1台のコンピューターだけですか?
カナダのルーク

さて、ここに2つの質問があります。1. Webブラウザーでローカルシステムにアクセスしようとしている場合、なぜ127.0.0.1常に使用しないのですか?2.これがローカルシステム用である場合、なぜ予約済みのホスト名を使用するのではなく、扱いにくいIPを扱うのlocalhostですか?
イスジ

@DiogoRocha編集をこれらよりも実質的にしてください。トピックのフロントページにプッシュする編集には、用語の1文字または大文字の使用は、ほとんど関連性がありません。これこのトピックは提案された編集に適用されますが、原則は編集権限を取得した後でも有効です。ありがとう。
ダニエルベック

@ルーク:ホスト名を操作できないので、ここでhostsファイルは実行できません
Sebastian

@Iszi:別のマシンが存在しているとソフトウェアに思わせるために必要です。
セバスチャン

回答:


15

IPアドレス192.168.1.222をネットワークインターフェイスのいずれかに割り当てる必要があります。ルーティングテーブルを変更するだけでは、目的の結果は得られません。トラフィックは実際にはローカルホストに到着しますが、コンピューターはメッセージがまだ宛先に到達していないと判断します。メッセージを渡すオプションがこれ以上ない場合、メッセージはドロップされます。

物理インターフェイスの1つに192.168.1.222を割り当てるのが最も簡単なソリューションですが、予備のインターフェイスがなく、変更がネットワークの残りの部分に影響を与えたくない場合は、別のループバックインターフェイスを作成できます。 127.0.0.1

Windows XP以降、手順は多少変更されました。コントロールパネルからデバイスマネージャーを開き、[アクション]メニューで[レガシーハードウェアの追加]をクリックします。このオプションがない場合、ウィザードは実行可能ファイル「hdwwiz.exe」を介して開始できます。

デバイスマネージャ

求められたら、ハードウェアを自動的にインストールするのではなく、リストから手動で選択します。次のメニューで、「ネットワークアダプター」、「Microsoft」を製造元として選択し、「Microsoft Loopback Adapter」を探します。デバイスが正しくインストールされていれば、新しいネットワークアダプターがデバイスマネージャーに表示されます。

コントロールパネルから[ネットワークと共有センター]を開き、左側のバーの[アダプター設定の変更]をクリックします。新しくインストールされたアダプターを含む次のウィンドウが表示されます。

ネットワーク接続

プロパティを開きます。[ネットワーク]タブで、IPv4アイテムを選択し、[プロパティ]ボタンをクリックします。ループバックインターフェイスに割り当てるIPアドレスを入力します。ネットワーク上の唯一のインターフェイスになるため、サブネットマスクとして「255.255.255.255」と入力します。

IPアドレス

出来上がり。

C:\Users\Marcks>ping 192.168.1.122

Pinging 192.168.1.122 with 32 bytes of data:
Reply from 192.168.1.122: bytes=32 time<1ms TTL=128
Reply from 192.168.1.122: bytes=32 time<1ms TTL=128
Reply from 192.168.1.122: bytes=32 time<1ms TTL=128
Reply from 192.168.1.122: bytes=32 time<1ms TTL=128

Ping statistics for 192.168.1.122:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

1
Windows 7では、デバイスは「Microsoft KM-TEST Loopback Adapter」と呼ばれていました。そうでなければ、このコメントはスポットオンであり、私にとって完璧に機能しました!どうもありがとうございました!
本名

Windows 10のデバイスマネージャーでは、このオプションは使用できなくなりました。を実行するとアクセスできますhdwwiz.exe
サミールア

8

adminコマンドプロンプトで実行します。

C:\Windows\system32>netsh int ip add address "Loopback" 192.168.1.222

C:\Windows\system32>netsh int ip show addresses

接口 "Loopback Pseudo-Interface 1" 的配置
    DHCP 已启用:                          否
    IP 地址:                           192.168.1.222
    子网前缀:                        192.168.1.0/24 (掩码 255.255.255.0)
    IP 地址:                           127.0.0.1
    子网前缀:                        127.0.0.0/8 (掩码 255.0.0.0)
    InterfaceMetric:                      75

C:\Windows\system32>ping 192.168.1.222

正在 Ping 192.168.1.222 具有 32 字节的数据:
来自 192.168.1.222 的回复: 字节=32 时间<1ms TTL=128
来自 192.168.1.222 的回复: 字节=32 时间<1ms TTL=128

7

これは、コマンドウィンドウから、Windows 7とXPの両方で動作するはずです。

route ADD 192.168.1.222 MASK 255.255.255.255 127.0.0.1

再起動間で新しいルートを永続的にする場合:

route -p ADD 192.168.1.222 MASK 255.255.255.255 127.0.0.1

この方法は機能しません。192.168.1.222でpingを取得して応答を返しません。今やったことは、インターフェイスに複数のIPを追加することでした(IPエイリアシング)が、通信しようとするサービスが1つのIPのみをリッスンするように見えるため、これでも機能しません。
セバスチャン

2
今考えてみると、実際にローカルマシンに属しているIPでない限り、これは機能しませ192.168.1.222ん。その場合、とにかく冗長になります。ループバック宛てのパケットを送信するようコンピューターに強制します192.168.1.222が、受信側では、それがローカルIPでない場合はドロップされます。
イジー

これは、hostsファイルに一致するエントリを追加する場合限り、完全に機能しました。ただし、localhostを外部IP(この場合はVMホストのIP)にマッピングしているため、私の場合は逆になっています。
ジムオブライエン

@ JimO'Brien route ADD 127.0.0.1 MASK 255.255.255.255 192.168.1.222代わりに使用したということですか?
Shayan

このコマンドは私には機能しません。次のようになりますThe route addition failed: The parameter is incorrect.
。– Shayan
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.