Niedawno zostałem „zmuszony” do wykonania pracy sysadmin, podczas gdy nie jest to coś, co absolutnie uwielbiam robić. Czytam, eksperymentuję i dużo się uczę.
Jest jeden podstawowy aspekt konfiguracji serwera, którego nie byłem w stanie pojąć - nazwy hostów .
Na przykład w Ubuntu należy ustawić nazwę hosta w ten sposób (zgodnie z biblioteką Linode ):
echo "plato" > /etc/hostname
hostname -F /etc/hostname
Plik: / etc / hosts
127.0.0.1 localhost.localdomain localhost
12.34.56.78 plato.example.com plato
Zakładam, że plato
jest to dowolna nazwa i to plato.example.com
jest FQDN.
Teraz moje pytania to:
- Czy to jest obowiązkowe?
- W jakim celu?
- Gdzie jest to potrzebne / używane?
- Dlaczego nie mogę zdefiniować „localhost” jako nazwy hosta dla każdego komputera?
- Czy muszę skonfigurować wpis DNS dla nazwy
plato.example.com
FQDN? - Czy powinienem
plato.example.com
zostać użyty jako zwrotny wpis DNS dla mojego adresu IP?
Czy istnieją też „najlepsze praktyki” dotyczące wybierania nazw hostów? Widziałem ludzi używających greckich liter, nazw planet, a nawet postaci mitologicznych ... Co się stanie, gdy zabraknie liter / planet?
Przepraszam, jeśli to głupie pytanie, ale nigdy nie byłem zbyt entuzjastycznie nastawiony do konfiguracji sieci.
źródło
Odpowiedzi:
Obecnie system może mieć wiele interfejsów, każdy z wieloma adresami, a każdy adres może mieć nawet wiele powiązanych wpisów DNS. Co więc w ogóle oznacza „systemowa nazwa hosta”?
Wiele aplikacji używa systemowej nazwy hosta jako domyślnego identyfikatora, gdy komunikuje się gdzie indziej. Na przykład, jeśli zbierasz wiadomości syslog na centralnym serwerze, wszystkie będą oznaczone tagiem hosta systemu początkowego. W idealnym świecie prawdopodobnie zignorowałbyś to (ponieważ niekoniecznie chcesz ufać klientowi), ale domyślne zachowanie - jeśli nazwiesz wszystkie systemy „localhost” - spowoduje powstanie wielu komunikatów dziennika, które nie byłby w stanie skojarzyć się z konkretnym systemem.
Jak zauważyli inni, nazwa hosta systemu jest również przydatnym identyfikatorem, jeśli zdalnie uzyskujesz dostęp do wielu systemów. Jeśli masz pięć okien podłączonych do systemów o nazwie „localhost”, trudno ci będzie utrzymać je prosto.
W podobny sposób staramy się, aby systemowa nazwa hosta była zgodna z nazwą hosta, której używamy do administracyjnego dostępu do systemu. Pomaga to uniknąć nieporozumień w odniesieniu do systemu (w wiadomościach e-mail, rozmowach, dokumentacji itp.).
W odniesieniu do DNS:
Chcesz mieć odpowiednie wpisy DNS do przodu i do tyłu dla swoich aplikacji, aby uniknąć nieporozumień. Trzeba trochę naprzód wpis (nazwa -> adres IP) dla ludzi, aby móc uzyskać dostęp do aplikacji wygodnie. Dopasowywanie odwrotnego wpisu jest przydatne z wielu powodów - na przykład pomaga poprawnie zidentyfikować aplikację, jeśli znajdziesz odpowiedni adres IP w dzienniku.
Zauważ, że tutaj mówię o „aplikacjach”, a nie o „systemach”, ponieważ - szczególnie w przypadku serwerów WWW - powszechne jest posiadanie wielu adresów IP w systemie, powiązanych z różnymi nazwami hostów i usługami.
Próba utrzymania mapowań nazw na ip w twoim
/etc/hosts
pliku szybko staje się trudna, gdy zarządzasz coraz większą liczbą systemów. Bardzo łatwo jest, aby lokalny plik hosts przestał być zsynchronizowany w odniesieniu do DNS, potencjalnie prowadząc do zamieszania, a w niektórych przypadkach do awarii (ponieważ na przykład coś próbuje powiązać z adresem IP, który już nie istnieje w systemie).źródło
/etc/hosts
na rzecz DNS. Zmniejsza to liczbę miejsc, które potrzebuję do utrzymania informacji o nazwie -> mapowanie adresu. W większości systemów, które utrzymuję,/etc/hosts
zawiera tylko jeden wpis dotyczącylocalhost
.Możesz ustawić każdą nazwę hosta na „localhost”, ale jest to bardzo przydatne
alix@plato ~ $
w wierszu polecenia, gdy zarządzasz komputerami przez ssh. Zdalne zarządzanie serwerami może stać się bardzo mylące, jeśli tego nie zrobisz.Posiadanie poprawnej nazwy FQDN jest ważne w przypadku hostowania serwera WWW lub serwera poczty. Tego rodzaju aplikacje serwerowe lubią wiedzieć „na kim” działają.
Aby wybrać dobry schemat nazewnictwa, odsyłam do tego bardzo popularnego pytania .
Nazwa FQDN staje się użyteczna tylko wtedy, gdy ma znaczenie dla innego komputera. Istnieją trzy poziomy tego:
Podczas wysyłania wiadomości e-mail lub udostępniania stron internetowych na zewnątrz, trzecia jest ta, którą chcesz mieć. W większości innych przypadków możesz zadowolić się lokalnym DNS lub nawet edytować pliki hostów.
W takim przypadku możesz po prostu stworzyć nazwę domeny (plato.alixnetwork może być w porządku jako FQDN) do użytku w sieci lokalnej. Jedyną wartością dodaną posiadania części „alixnetwork” (nazwy domeny) jest wygoda, gdy masz inną sieć lokalną, od której chcesz ją odróżnić.
źródło
Podstawowy przegląd. Nazwa hosta to tylko wskaźniki; możesz przypisać jeden konkretny jako nazwę hosta, do której odnosi się komputer, ale może mieć wiele. Niektóre usługi, znacząca poczta i HTTP polegają na nazwach domen, aby wiedzieć, gdzie usługi powinny się znajdować i jak się do nich dostać.
Dawno temu wszystkie te nazwy (które są tylko wskaźnikami do adresów IP) były przechowywane w pliku o nazwie
hosts
. W miarę rozwoju systemu nie byli w stanie utrzymać synchronizacji pliku na wszystkich odpowiednich komputerach uczestniczących w różnych połączonych sieciach. Więc wymyślono system DNS. Podczas wyszukiwania nazwy nadal najpierw sprawdza plik hosts, a następnie system DNS. Windows może również sprawdzać inne systemy, takie jak WINS lub NetBIOS.Po umieszczeniu wpisu w
hosts
pliku nie jest on przypisywany do komputera. Przypisanie nazwy hosta jako tej używanej przez komputer odbywa się w plikach konfiguracyjnych (w systemach * nix) i we właściwościach systemu w systemach Windows (system Windows może także mieć przyrostki specyficzne dla NIC).Wpisy w
hosts
pliku, podobnie jak system DNS, są tylko mapowaniem nazwy hosta na adres IP. Aby użyć nazwy hosta „localhost” (nie ma w tym nic specjalnego, jest to nazwa hosta jak cała reszta), należy ją odwzorować na interfejs pętli zwrotnej (aby zawsze wskazywał na komputer lokalny). Aby upewnić się, że to działa, wszystkie komputery są wyposażone w domyślne mapowanie w swoichhosts
plikach, ale można je potencjalnie usunąć, jeśli nie chcesz używać tej nazwy hosta.Ponadto, jak zauważyli inni, bardzo przydatne jest przypisanie nazwy hosta do komputera. Po podłączeniu do komputera możesz wyświetlać jego nazwę hosta podczas logowania lub jako monit lub dowolną liczbę innych miejsc. Ułatwia to identyfikację komputera, do którego jesteś podłączony. Jeśli skonfigurujesz tę nazwę hosta w DNS lub umieścisz ją we wszystkich
hosts
plikach, będziesz mógł połączyć się z komputerem, odwołując się do jego nazwy hosta zamiast znać cały czas jego adres IP. (Nawet bardziej przydatne, jeśli komputer korzysta z DHCP, ponieważ adres może się zmienić. Jeśli komputer zaktualizuje DNS, wówczas rekord DNS wskazywałby na nowy adres IP; nadal możesz się połączyć, nie znając nowego adresu IP, ponieważ znasz nazwę DNS ).Istnieje wiele innych zastosowań obu
hosts
i DNS, ale podejrzewam, że masz więcej pytań niż odpowiedzi, jeśli przeczytasz to wszystko.źródło
/etc/hosts
nie jest konieczne, posiadanie nazwy hosta we wpisie DNS osiągnęłoby ten sam wynik, prawda?hosts
pliku byłoby zbędne. Również wpis whosts
pliku zastąpiłby DNS (czasem przydatny do testowania, irytujący, gdy o nim zapomnisz). Zauważ, że to wszystko dotyczy rekordów A i AAAA, istnieją inne typy rekordów dla nazw hostów, ale pominąłem je dla jasności.Każdy gospodarz powinien otrzymać sensowną nazwę. Nazwa hosta może służyć do wielu celów:
1- Pomaga rozpoznać, nad którym aktualnie pracujesz.
2- Używanie nazw skonfigurowanych w
/etc/hosts
rekordach DNS i / lub DNS jest łatwiejsze niż zapamiętywanie wielu adresów IP.3- Localhost to zastrzeżona nazwa odnosząca się do bieżącego komputera (adres 127.0.0.1).
4- Rekordy DNS są przydatne, aby twoje serwery były publicznie dostępne.
Wybór odpowiedniej nazwy dla każdego serwera bardzo pomaga w administracji. Pomaga także Twoim klientom uzyskać dostęp do Twoich serwerów.
źródło
Na marginesie: Prawidłowe działanie do przodu i do tyłu rozdzielczość DNS jest absolutnym kamieniem węgielnym każdej instalacji IT na tej planecie. Nigdy nie lekceważ konieczności dobrze utrzymanego DNS i właściwego rozpoznawania nazw hostów!
źródło
Oświadczenie: główne pytanie dotyczy systemów Linux, więc zignoruj tę odpowiedź, jeśli nie jesteś zainteresowany tą stroną systemu Windows.
W każdym razie, w systemach Windows, oprócz wszystkich punktów wymienionych w innych odpowiedziach, nazwa hosta jest faktycznie używana przez sam system operacyjny, do celów sieciowych i uwierzytelniania; konkretnie:
LocalSystem
iNetworkService
kont użytkowników, które mogą uwierzytelniać się w innych systemach przy użyciu poświadczeń systemu, na którym działają; pozwala to procesowi działającemu jakNetworkService
na SystemA na uzyskanie dostępu do folderu współdzielonego na SystemB poprzez przyznanie uprawnień do tego folderu na konto użytkownika SystemA.źródło
Wiele witryn i / lub domniemanych „administratorów” twierdzi teraz, że atrybut „nazwa hosta” zawiera nazwę FQDN instancji systemu operacyjnego, co „łamie” każdą rozdzielczość, która dołącza do niej „nazwę domeny”:
źródło