Jaka jest różnica między adresem hosta lokalnego 127.0.0.1 i 127.0.1.1

48

Właśnie uczę się korzystania z Ubuntu i kiedy próbowałem skonfigurować DNS, muszę poradzić sobie z czymś nazywanym localhost, interfejsem pętli zwrotnej. Czy ktoś może mi wyjaśnić różnice między nimi i znaczenie adresów 127.0.0.1 i 127.0.1.1, kiedy powinienem użyć 127.0.0.1, a kiedy powinienem użyć 127.0.1.1

Ok
źródło
1
^^^ Pisałem swoją odpowiedź i @jdv wstawił ją do komentarzy ...
Madivad,

Odpowiedzi:

36

Gdy urządzenie zacznie działać, będzie musiało znać mapowanie niektórych nazw hostów na adresy IP, zanim będzie można odwoływać się do DNS. To mapowanie jest przechowywane w pliku / etc / hosts. W przypadku braku serwera nazw, dowolny program sieciowy w twoim systemie sprawdza ten plik w celu ustalenia adresu IP, który odpowiada nazwie hosta.

Urządzenie loopback jest specjalnym wirtualnym interfejsem sieciowym, za pomocą którego komputer komunikuje się ze sobą. Służy głównie do diagnostyki i rozwiązywania problemów oraz do łączenia się z serwerami działającymi na komputerze lokalnym.

pętla jest domyślnie interfejsem lo i ip 127.0.0.1

127.0.0.1 localhost

Debian niż Ubuntu zdecydował się zdefiniować 127.0.1.1 dla mapowania adresu IP twojej nazwy hosta w przypadku braku sieci

Nazwa hosta odpowiada nazwie hosta zdefiniowanej w „/ etc / hostname”.

W przypadku systemu ze stałym adresem IP należy użyć tego stałego adresu IP zamiast 127.0.1.1.

127.0.1.1 nazwa_hosta

Taryfy Pascala
źródło
1
Rozumiem filozofię, ale nie zgadzam się z jej formą w / etc / hosts.
Anthony Rutledge
21

To tak naprawdę nie znaczy nic szczególnego (to tylko kolejny adres IP w bloku 127.0.0.0/8).

Powód, dla którego jest on używany jako IP dla twojej nazwy hosta został wyjaśniony w Rozdziale 10.4 Podręcznika Debiana.

Zacytować:

Niektóre programy (np. GNOME) oczekują, że systemowa nazwa hosta będzie rozpoznawalna na adres IP z kanoniczną w pełni kwalifikowaną nazwą domeny. Jest to naprawdę niewłaściwe, ponieważ systemowe nazwy hostów i nazwy domen to dwie bardzo różne rzeczy; ale masz to. Aby obsługiwać to oprogramowanie, należy upewnić się, że systemowa nazwa hosta może zostać rozwiązana. Najczęściej odbywa się to poprzez umieszczenie wiersza w / etc / hosts zawierającego adres IP i nazwę hosta systemu. Jeśli twój system ma stały adres IP, użyj go; w przeciwnym razie użyj adresu 127.0.1.1.

Videonauth
źródło
1

Poniższy zrzut ekranu opowiada ciekawą historię.

Domyślny plik Ubuntu / etc / hosts i wyjście ifconfig

Skutecznie pokazuje, że 127.0.0.1jest to prawdziwy adres pętli zwrotnej. Czy zatem 127.0.1.1istnieją inne przyczyny niż podstawowa sieć IP.

Jak wspomniano w @Videonauth, 127.0.1.1linia jest jak kula, poprawka, dzięki której wybredne oprogramowanie będzie szczęśliwe.

Moim zdaniem wpis pętli zwrotnej powinien prawie zawsze znajdować się w nim /etc/hosts. Jeśli zmienisz domyślną nazwę hosta localhost, zmień nazwę hosta w 127.0.1.1wierszu, a nie w 127.0.0.1wierszu.

Jeśli zmienisz nazwę hosta i nadasz urządzeniu statyczny adres IP, zmień zarówno nazwę hosta, jak i pole IP w wierszu 127.0.1.1.

Krótko mówiąc, zostaw 127.0.0.1płytę w spokoju.

Anthony Rutledge
źródło
Podsumowując, jeśli zastosowałeś statyczny adres IP powiedzmy 192.168.1.1, to wiersz 127.0.1.1 powinien zostać zastąpiony nazwą hosta 192.168.1.1. Czy to prawda?
Chris
192.168.1.1 <hostname>Tak.
Anthony Rutledge
Dziękuję, nie byłem pewien, konfiguruję kilka maszyn wirtualnych i wszystkie pliki hosta miały to wszystko, zrozumiałem, że to było sprzężenie zwrotne dla niektórych aplikacji, ale potem było 127.0.0.1, więc nie byłem pewien, czy musiał zostać, czy nie .
Chris