Отображение одного IP-адреса на другой в файле 'hosts'


12

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


Если вы используете или можете использовать статические IP-адреса на локальном компьютере, вы можете назначить одному сетевому интерфейсу несколько IP-адресов.
Патрик Сеймур

@PatrickS. Это работает, но может запутаться, если 192.168.1.5 действительно существует и в локальной сети. Дублирующиеся IP-адреса в локальной сети не хороши ...
Тонни

@ Тонни Правда. Я предполагаю, что либо его нет в сети, либо OP может исключить два IP-адреса на своем DHCP-сервере. Не всегда безопасные предположения, я знаю.
Патрик Сеймур


Если вы хотите преобразовать IP-адрес в другой IP-адрес, вы используете NAT (преобразование сетевых адресов).
Рон Мопин

Ответы:


10

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

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

route add 192.168.1.5 127.0.0.1

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


1

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

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


1

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.