Poprawiona odpowiedź:
Sam host nie obsługuje faktycznej nazwy FQDN. Obsługuje to DNS . FQDN (w pełni kwalifikowana nazwa domeny) jest obsługiwany przez DNS tłumaczący nazwy na adresy IP. Korzystając z /etc/hostspliku, zasadniczo zastępujesz serwer DNS. Komputer /etc/hostsnajpierw sprawdza plik, aby sprawdzić, czy zdefiniowano pozycję dla nazwy hosta na adres IP. Wpisy /etc/hostswygląda następująco:
127.0.0.1 localhost
127.0.1.1 terrance-ubuntu.local terrance-ubuntu
Te wpisy nie są specyficzne dla dystrybucji. Wszystkie systemy operacyjne używają tego samego formatu dla tych linii. hostsZmienia się tylko lokalizacja pliku. Linux zazwyczaj znajduje się w /etc/folderze, natomiast w systemie Windows zwykle znajduje się w C:\Windows\System32\drivers\etc\folderze.
Po rozbiciu tej linii widać, że przypisuję oba terrance-ubuntu.local, które są moją nazwą FQDN w celu zastąpienia DNS, aby aplikacje wiedziały, że nie powinny opuszczać mojego komputera, i terrance-ubuntu, która jest nazwą hosta, ponownie, aby aplikacje wiedziały, aby nie opuszczać mojego komputera lub 127.0.0.1 ( localhost ). Przypisanie mojej nazwy hosta do mojego systemu 127.0.1.1nie ma wpływu na to, że reszta komputerów znajdzie mojego hosta w sieci. Jeśli DNS działa poprawnie, będą widzieć moją nazwę hosta jako 10.0.0.100. Powodem użycia 127.0.1.1jest to, że moje aplikacje szybciej odnajdują mój system, ponieważ będzie wiedział, że mojego systemu nie ma gdzie indziej w mojej sieci. Moja faktyczna .localnazwa hosta, ponieważ jest to moja nazwa FQDN,.local jest właściwie moją domeną, którą konfiguruję za pomocą routera, który jest również innym serwerem DNS w mojej sieci.
Załóżmy teraz, że usługi DNS w sieci lokalnej nie przypisują nazw hostów ani nazw FQDN do adresów IP, ale wiesz, jaki jest adres IP hosta w sieci lokalnej. Następnie przypisujesz tego hosta do /etc/hostspliku, aby nie trzeba było wpisywać adresu IP hosta za każdym razem, gdy chcesz uzyskać do niego dostęp. Host może być serwerem narzędzi, drukarką lub innym systemem podłączonym do sieci. Dodaj wpis, tak jak normalnie, do /etc/hostspliku.
Mam zamiar użyć na przykład mojej drukarki podłączonej do sieci. Ma statyczny adres IP 10.0.0.253. Nie znam jednak jego nazwy. W tym celu chcę to nazwać hp_printer. Wyśledzę adres IP i nazwę hosta, a następnie dodam do /etc/hosts.
terrance@terrance-ubuntu:~$ ping -c 2 10.0.0.253
PING 10.0.0.253 (10.0.0.253) 56(84) bytes of data.
64 bytes from 10.0.0.253: icmp_seq=1 ttl=255 time=0.326 ms
64 bytes from 10.0.0.253: icmp_seq=2 ttl=255 time=0.334 ms
terrance@terrance-ubuntu:~$ ping -c 2 hp_printer
ping: unknown host hp_printer
terrance@terrance-ubuntu:~$ sudo vi /etc/hosts
10.0.0.253 hp_printer.local hp_printer
terrance@terrance-ubuntu:~$ ping -c 2 hp_printer
PING hp_printer.local (10.0.0.253) 56(84) bytes of data.
64 bytes from hp_printer.local (10.0.0.253): icmp_seq=1 ttl=255 time=0.334 ms
64 bytes from hp_printer.local (10.0.0.253): icmp_seq=2 ttl=255 time=0.303 ms
Teraz mogę również uzyskać dostęp do strony konfiguracji drukarki pod nazwą, którą mu podałem, zamiast adresu IP, który łatwiej zapamiętać:

Twój plik /etc/resolv.conf jest również używany przez DNS do pomocy w znalezieniu nazw hostów. Jest to plik konfiguracyjny resolvera. Udostępnia domenę wyszukiwania, dzięki czemu nie musisz podawać nazwy FQDN przez cały czas, gdy szukasz hosta. Dostarcza także adres IP dla DNS lub serwera nazw twojej sieci lokalnej. searchLinia poniżej pokazuje nazwę local, która jest moja domena.
terrance@terrance-ubuntu:~$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 10.0.0.1
search local
Mamy nadzieję, że pomoże to lepiej zrozumieć, jak działają DNS i FQDN.