Bagaimana cara memetakan alamat IP ke localhost?

16

Saya ingin memetakan alamat IP 192.168.1.222 hingga 127.0.0.1 sehingga jika saya menggunakan 192.168.1.222 di browser web atau perintah ping, saya mendapatkan respons (dan dari 127.0.0.1 saya).

Apakah ini mungkin melalui tabel routing atau apakah saya harus menambahkan semacam adapter jaringan virtual?

Saya mencoba untuk mengatasi masalah ini pada mesin Windows 7 dan tidak memiliki pilihan lain selain Windows XP.

Saya terjebak di sana.

Sebastian
sumber
Tidak tahu apakah itu mungkin, tetapi mudah dilakukan dengan nama host. Apakah hanya untuk satu komputer?
Luke Kanada
Oke, dua pertanyaan di sini: 1. Jika Anda mencoba untuk masuk ke sistem lokal di browser web, mengapa tidak gunakan saja 127.0.0.1sepanjang waktu? 2. Jika ini untuk sistem lokal, mengapa berurusan dengan IP rumit sama sekali alih-alih menggunakan nama host yang dipesan localhost?
Iszi
@DiogoRocha Harap buat pengeditan Anda lebih substansial dari ini. Karakter tunggal atau kapitalisasi istilah hampir tidak cukup relevan untuk edit yang mendorong topik ke halaman depan. Ini dan topik ini berlaku untuk pengeditan yang disarankan, tetapi prinsipnya berlaku bahkan setelah Anda memiliki hak mengedit. Terima kasih.
Daniel Beck
@ Lukas: Saya tidak dapat bekerja dengan nama host sehingga file host tidak dapat digunakan di sini
Sebastian
@ Iszi: Saya perlu untuk berpikir perangkat lunak, bahwa ada mesin lain.
Sebastian

Jawaban:

15

Anda harus menetapkan alamat IP 192.168.1.222 ke salah satu antarmuka jaringan Anda. Mengubah tabel routing saja tidak akan memiliki hasil yang diinginkan; lalu lintas memang akan tiba di localhost, tetapi komputer Anda akan menyimpulkan bahwa pesan belum mencapai tujuannya. Karena tidak memiliki opsi lain untuk meneruskan pesan, maka pesan itu akan dihapus.

Menetapkan 192.168.1.222 ke salah satu antarmuka fisik Anda akan menjadi solusi paling sederhana, tetapi jika Anda tidak memiliki antarmuka cadangan dan tidak ingin perubahan Anda memengaruhi sisa jaringan, Anda dapat membuat antarmuka loopback lain, mirip dengan antarmuka di 127.0.0.1.

Prosedurnya agak berubah sejak Windows XP . Buka pengelola perangkat melalui panel kontrol dan di menu Tindakan, klik 'Tambahkan perangkat keras lawas'. Jika opsi ini tidak ada, wizard dapat dimulai melalui 'hdwwiz.exe' yang dapat dieksekusi.

Pengaturan perangkat

Ketika ditanya, pilih perangkat keras secara manual dari daftar daripada menginstalnya secara otomatis. Dalam menu berikut, pilih 'Network Adapter', 'Microsoft' sebagai pabrikan dan cari 'Microsoft Loopback Adapter'. Jika perangkat telah diinstal dengan benar, adaptor jaringan baru akan muncul di manajer perangkat.

Buka Pusat Jaringan dan Berbagi melalui panel kontrol dan klik 'Ubah pengaturan adaptor' di bilah kiri. Jendela berikut akan muncul, termasuk adaptor yang baru dipasang.

Koneksi jaringan

Buka propertinya. Dari tab Networking, pilih item IPv4 dan klik tombol Properties. Masukkan alamat IP yang ingin Anda tetapkan ke antarmuka loopback. Karena itu akan menjadi satu-satunya antarmuka di jaringannya, kami memasukkan '255.255.255.255' sebagai subnet mask.

Alamat IP

Voila.

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
Marcks Thomas
sumber
1
Pada Windows 7, perangkat itu disebut "Microsoft KM-TEST Loopback Adapter". Kalau tidak, komentar ini tepat, dan itu bekerja dengan baik untuk saya! Terima kasih banyak!
Nama Asli Redacted
Pada Windows 10 Device Manager opsi itu tidak tersedia lagi. Itu dapat diakses dengan menjalankan hdwwiz.exe.
Samir Aguiar
8

Jalankan di bawah command prompt 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
lk_vc
sumber
7

Ini harus bekerja di Windows 7 dan XP, dari jendela perintah:

route ADD 192.168.1.222 MASK 255.255.255.255 127.0.0.1

Jika Anda ingin rute baru tetap ada di antara reboot:

route -p ADD 192.168.1.222 MASK 255.255.255.255 127.0.0.1
Raihan
sumber
Metode ini tidak berfungsi. Saya tidak mendapatkan ping pada 192.168.1.222 untuk mengembalikan respons. Apa yang saya lakukan sekarang adalah menambahkan beberapa IP ke antarmuka (IP Aliasing) tetapi bahkan ini tidak berfungsi karena layanan yang saya coba komunikasikan sepertinya hanya mendengarkan 1 IP saja.
Sebastian
2
Sekarang saya memikirkannya, saya cukup yakin ini tidak akan berfungsi kecuali jika 192.168.1.222IP yang sebenarnya milik mesin lokal, dalam hal ini itu akan menjadi berlebihan. Ini akan memaksa komputer untuk mengirim paket yang ditujukan 192.168.1.222ke loopback, tetapi di sisi penerima mereka akan dijatuhkan jika itu bukan IP lokal.
Iszi
Ini berfungsi dengan baik untuk saya, jika dan hanya jika saya menambahkan entri yang cocok di file host. Namun, perhatikan bahwa kasus saya terbalik, karena saya memetakan localhost ke IP eksternal (dalam hal ini IP host VM saya).
Jim O'Brien
@ JimO'Brien Apakah itu artinya Anda menggunakan yang lain route ADD 127.0.0.1 MASK 255.255.255.255 192.168.1.222?
Shayan
Perintah ini tidak berfungsi untuk saya, saya dapat:The route addition failed: The parameter is incorrect.
Shayan