Jaka jest różnica między adresem IP komputera a hostem lokalnym

12

Wątpliwości podniosły moje kolejne pytanie. Jeśli podam localhost mojej ścieżce, to zadziała. Ale to nie działa, jeśli podam mój system ip.

127.0.0.1 jest mapowany na localhost w moim / etc / hosts. Czy muszę mapować mój ip na localhost? Nie zmienia się?

Czyż nie są tacy sami?

Gibbs
źródło

Odpowiedzi:

14

Niektóre usługi są skonfigurowane do nasłuchiwania tylko na adresie IP hosta lokalnego.

Przykładem może być baza danych MySQL - chcesz, aby aplikacja PHP działająca na tym samym serwerze łączyła się z nią, ale nie chcesz, aby łączyły się z nią usługi zewnętrzne, a nawet hakerzy z zewnątrz. Konfigurując MySQL tak, aby akceptował tylko adresy hosta lokalnego ( 127.0.0.1na przykład), a nie rzeczywisty adres IP serwera ( 10.x.x.xna przykład), zmniejszasz ryzyko naruszenia bezpieczeństwa.

Tak więc, aby odpowiedzieć na twoje pytanie - tak, są różne.

localhostotrzymuje adres IP w 127.0.0.0sieci i wirtualne urządzenie sieciowe z pętlą zwrotną lo. To urządzenie jest obecne we wszystkich systemach, niezależnie od tego, czy są wyposażone w fizyczne urządzenie sieciowe (na przykład WiFi lub Ethernet). System, który nie jest podłączony do żadnej sieci, będzie miał to urządzenie sprzężenia zwrotnego i stąd 127.0.0.0adres. Nazwa localhostjest po prostu nazwą, która przekształca się na ten adres IP i jest skonfigurowana w /etc/hosts.

Twój prawdziwy adres IP (na przykład 10.xxx) jest przypisany do urządzenia sieciowego. Zazwyczaj jest to fizyczne urządzenie sieciowe (Wi-Fi lub Ethernet), chociaż mogą korzystać z nich zaawansowane konfiguracje tunlub też tapurządzenia. Ponownie, rozpoznawanie nazw (na przykład www.example.orgna 10.0.1.1) może być skonfigurowane /etc/hostslub skonfigurowane do używania DNS.

garethTheRed
źródło
4

127.0.0.1 jest localhost to adres bieżącej maszyny, dostępny przez interfejs sprzężenia zwrotnego (nie przez kartę sieciową - działa to nawet, jeśli w systemie nie ma układów sieciowych).

IP, który dostajesz z routera, to inna historia: jest to adres, który pozwala na znalezienie cię przez inny komputer w sieci. Cóż, można użyć tego IP na tej samej maszynie, zbyt, ale działa inaczej jak przedtem: to dzieje się do routera i ponownie (mam tu uproszczenie, ale to ogólna idea).

A jeśli masz połączenie z Internetem, dostaniesz od swojego usługodawcy kolejny adres IP - adres IP, za pomocą którego znajduje się inny komputer na całym świecie. Jednak te dwa odnoszą się przynajmniej do tej samej karty sieciowej ( eth0lub karty sieci bezprzewodowej lub cokolwiek innego). localhostjest inny.

System operacyjny, serwery i tak dalej ... mogą zachowywać się inaczej po uzyskaniu dostępu z localhost. Zwykle nie masz do tego zapory ogniowej, a wiele lokalnych usług ma localhostinterfejs przeznaczony do komunikacji z aplikacją. Wiele razy będziesz chciał przetestować swój serwer sieciowy, najpierw podłączając go tylko w celu nasłuchiwania localhost, abyś mógł sprawdzić, czy działa, ale inni nie mogą. Następnie możesz zmienić konfigurację, aby nasłuchiwać na twoim zewnętrznym adresie IP i zacząć wyświetlać stronę internetową (i ponownie przetestować, czy wszystko nadal działa).

orion
źródło
Dziękuję za długie wyjaśnienia. Pojawiła się kolejna wątpliwość: jeśli powiem moją usługę do lokalnego hosta, nie przejdzie ona do routera. Ale jeśli podam ip, zostanie przekierowany przez router. Więc muszę mieć połączenie internetowe w moim drugim przypadku. Nie z hostem lokalnym. Daj mi znać
Gibbs,
Potrzebujesz połączenia z routerem, w przeciwnym razie dostaniesz network is unreachablelub coś podobnego. Sztuczka polega na tym, że (przynajmniej z dhcp) to router, który daje ci ip LAN w pierwszej kolejności. Możliwe, że w niektórych przypadkach będzie się to różnić, jeśli trasa będzie się utrzymywała, ale w istocie, w przypadku IP ip LAN, potrzebujesz LAN, a dla IP zewnętrznego, potrzebujesz połączenia z ISP.
orion
3

Gdy uzyskasz dostęp localhost, Twój /etc/hostsplik powie komputerowi, aby nie szukał dalej, i przekieruje Cię na własny komputer. Po uzyskaniu dostępu do lokalnego adresu IP komputer poprosi router o pobranie danych, a następnie router skieruje się z powrotem do komputera.

serenesat
źródło
3
@serenesat - Nie. Po uzyskaniu dostępu do „prawdziwego” adresu IP nie dojdziesz do routera - nawet nie opuścisz tego komputera. Próbowanie pingowania lokalnego adresu IP i sprawdzenie czasów podróży w obie strony ...
garethTheRed
Ta odpowiedź jest błędna.
Rui F Ribeiro