Як зіставити IP-адресу для localhost?


16

Я хочу зіставити IP-адресу 192.168.1.222 на 127.0.0.1, щоб у разі використання 192.168.1.222 у веб-браузері чи команді ping я отримав відповідь (і це з моєї 127.0.0.1).

Це можливо за допомогою таблиць маршрутизації чи мені потрібно додати якийсь віртуальний адаптер мережі?

Я намагаюся вирішити цю проблему на машині Windows 7 і, можливо, немає інших варіантів, крім Windows XP.

Я застряг тут.


Не знаєте, чи це можливо, але це легко зробити з іменами хостів. Це лише для одного комп’ютера?
Канадський Люк

Гаразд, два питання тут: 1. Якщо ви намагаєтесь потрапити до локальної системи у веб-переглядачі, чому б просто не використовувати 127.0.0.1весь час? 2. Якщо це стосується локальної системи, навіщо взагалі мати справу з громіздкими IP-адресами, а не використовувати зарезервоване ім'я хоста localhost?
Іссі

@DiogoRocha Будь ласка, зробіть свої зміни більш істотними, ніж ці. Один символ або велика літера у терміні не є достатньо актуальним для редагування, яке висуває теми на головну сторінку. Ця та ця тема стосується запропонованих редагувань, але принцип дотримується навіть одного разу, коли ви маєте права редагування. Спасибі.
Даніель Бек

@Luke: Я не можу працювати з іменами хостів, тому файл хостів тут не життєздатний
Себастьян

@Iszi: Мені це потрібно, щоб програмне забезпечення подумало, що є ще одна машина.
Себастьян

Відповіді:


15

Вам потрібно буде призначити IP-адресу 192.168.1.222 одному з ваших мережевих інтерфейсів. Просто зміна таблиці маршрутів не матиме бажаного результату; трафік дійсно буде надходити на localhost, але потім ваш комп'ютер зробить висновок, що повідомлення ще не дійшло до місця призначення. Якщо немає додаткових варіантів передачі повідомлення, воно буде відхилено.

Призначення 192.168.1.222 до одного з ваших фізичних інтерфейсів було б найпростішим рішенням, але якщо у вас немає запасного інтерфейсу і не хочете, щоб ваші зміни впливали на іншу мережу, ви можете створити інший інтерфейс зворотного циклу, подібний до інтерфейсу при 127.0.0.1.

Процедура дещо змінилася після Windows XP . Відкрийте диспетчер пристроїв через панель керування, а в меню Дії натисніть «Додати застаріле обладнання». Якщо ця опція відсутня, майстра можна запустити через виконуваний файл 'hdwwiz.exe'.

Диспетчер пристроїв

На запит виберіть обладнання зі списку вручну, а не встановлюйте його автоматично. У наступних меню виберіть «Мережевий адаптер», «Майкрософт» як виробника та знайдіть «Адаптер Microsoft Loopback». Якщо пристрій встановлено правильно, у диспетчері пристроїв з’явиться новий мережевий адаптер.

Відкрийте Центр мережі та обміну через панель керування та натисніть "Змінити налаштування адаптера" на лівій панелі. З'явиться наступне вікно, включаючи наш недавно встановлений адаптер.

Мережеві з'єднання

Відкрийте його властивості. На вкладці Мережа виберіть елемент 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". Інакше цей коментар виявився спотовим, і він прекрасно працював для мене! Велике спасибі!
Справжнє ім’я змінено

У Диспетчері пристроїв Windows 10 ця опція більше недоступна. Доступ до нього можна запустити hdwwiz.exe.
Самір Агіяр

8

Запустити в командному рядку адміністратора:

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

Цей метод не працює. Я не отримую ping на 192.168.1.222, щоб повернути відповідь. Я зробив зараз додавання декількох IP-адрес до інтерфейсу (IP Aliasing), але навіть це не працює, оскільки служба, з якою я намагаюся спілкуватися, здається, слухає лише 1 IP.
Себастьян

2
Тепер, коли я думаю про це, я впевнений, що це не спрацює, якщо 192.168.1.222не буде IP, який насправді належить локальній машині, і в цьому випадку це все одно буде зайвим. Це змусить комп’ютер надіслати пакети, призначені для 192.168.1.222зворотного зв'язку, але на кінці прийому вони будуть відкинуті, якщо це не локальний IP.
Іссі

Це прекрасно працювало для мене, якщо і лише тоді, якщо я додаю відповідний запис у файл хостів. Однак зауважте, що мій випадок перевернуто тим, що я відображаю localhost до зовнішнього IP (у цьому випадку IP мого хоста VM).
Jim O'Brien

@ JimO'Brien Це означає, що ти використовував route ADD 127.0.0.1 MASK 255.255.255.255 192.168.1.222замість цього?
Шаян

Ця команда не працює для мене, я отримую:The route addition failed: The parameter is incorrect.
Шаян
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.