9

Файл hosts (%SystemRoot%\system32\drivers\etc\hosts) позволяет настроить на google.com, например, 127.0.0.1 на вашем локальном компьютере, но что, если я захочу, скажем, 192.168.1.5 балла до 127.0.0.1 на моей локальной машине? Есть способ сделать это? Это можно сделать в файле hosts на Windows 7?

3 ответа3

10

Вы не можете использовать файл hosts для этого.
Это сопоставляет только имена на IP-адресах.

Я не пробовал это сам, но я думаю, что вы можете злоупотребить командой маршрута для этого:

route add 192.168.1.5 127.0.0.1

Это указывает стеку IP направлять весь трафик для 192.168.1.5 на шлюз 127.0.0.1. Конечно, там нет ворот, так что это служит только для движения черной дыры. Вы не можете сделать ничего полезного с трафиком.

1

Вы не можете сопоставить IP-адрес с другим в файле hosts.

Вероятно, вы можете переписать IP-адреса в определенных программах брандмауэра на некоторых платформах (возможно, в Linux iptables или эквивалентном).

1

Как все остальные заметили, вы не можете сделать это через файл hosts. Вам нужна некоторая форма переписывания пакетов: наиболее распространенной является трансляция сетевых адресов. NAT обычно используется, чтобы разрешить нескольким устройствам использовать один и тот же "общедоступный" IP-адрес (и это единственная форма, которую могут использовать многие дешевые домашние маршрутизаторы), но более полный механизм NAT, такой как в Cisco IOS или Linux IPTables, может сделать обобщенное переписывание.

Обратите внимание, что NAT не является универсальным решением для этого: некоторые протоколы, такие как FTP, включают IP-адреса в пакеты данных, а также в заголовок IP, и если механизм NAT не обрабатывает такие протоколы специально, просто переписать заголовок заставит вещи сломаться.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .