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.
127.0.0.1jestlocalhost 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).
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 - 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 ...
network is unreachable
lub 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.Gdy uzyskasz dostęp
localhost
, Twój/etc/hosts
plik 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.źródło