Mapowanie jednego adresu IP na inny w pliku „hosts”

12

Plik hosts ( %SystemRoot%\system32\drivers\etc\hosts) pozwala ci ustawić google.com na przykład na 127.0.0.1 na twoim komputerze lokalnym, ale co jeśli chcę, powiedzmy, 192.168.1.5 wskazuje na 127.0.0.1 na moim komputerze lokalnym? Czy jest na to sposób? Czy można to zrobić w pliku hosts w systemie Windows 7?

neubert
źródło
Jeśli używasz statycznych adresów IP na komputerze lokalnym lub możesz z nich korzystać, możesz przypisać interfejsowi sieciowemu wiele adresów IP.
Patrick Seymour
@PatrickS. To działa, ale może się popsuć, jeśli 192.168.1.5 naprawdę istnieje również w lokalnej sieci LAN. Zduplikowane adresy IP w sieci LAN nie są fajne ...
Tonny
@Tonny True. Zakładam, że albo nie istnieje w sieci, albo OP może wykluczyć dwa adresy IP na swoim serwerze DHCP. Wiem, że nie zawsze są to bezpieczne założenia.
Patrick Seymour
Zobacz także: plik hosts dla adresu IP
Ƭᴇcʜιᴇ007
Jeśli chcesz przetłumaczyć adres IP na inny adres IP, użyj NAT (Network Address Translation).
Ron Maupin

Odpowiedzi:

10

Nie możesz do tego użyć pliku hosts.
Odwzorowuje tylko nazwy na adresy IP.

Sam tego nie próbowałem, ale zgaduję, że możesz nadużyć polecenia trasy:

route add 192.168.1.5 127.0.0.1

To instruuje stos IP, aby kierował cały ruch dla 192.168.1.5 do bramy w 127.0.0.1. Oczywiście nie ma tam żadnej bramy, więc służy to tylko do blackhole traffic. Nie możesz zrobić nic użytecznego z ruchem.

Tonny
źródło
1

Jak wszyscy zauważyli, nie można tego zrobić za pomocą pliku hosts. Potrzebujesz jakiejś formy ponownego zapisywania pakietów: najczęściej jest to tłumaczenie adresu sieciowego . NAT jest zwykle używany, aby umożliwić wielu urządzeniom korzystanie z tego samego „publicznego” adresu IP (i jest to jedyna forma, którą może zrobić wiele tanich domowych routerów), ale bardziej wszechstronny silnik NAT, taki jak w Cisco IOS lub Linux IPTables może zrobić ogólne pisanie na nowo.

Zauważ, że NAT nie jest rozwiązaniem na wszystko: niektóre protokoły, takie jak FTP, zawierają adresy IP w pakietach danych, a także w nagłówku IP, a jeśli silnik NAT nie obsługuje takich protokołów specjalnie, po prostu przepisz Nagłówek spowoduje uszkodzenie.

znak
źródło
1

Nie można mapować adresu IP na inny w pliku hosts.

Prawdopodobnie możesz przepisać adresy IP w niektórych programach zapory na niektórych platformach (być może w systemie Linux iptables lub równoważnym).

RedGrittyBrick
źródło