Zauważyłem, że „preferowana” metoda ustawiania systemowej nazwy hosta zasadniczo różni się między systemami Red Hat / CentOS i Debian / Ubuntu.
Dokumentacja CentOS i przewodnik wdrażania RHEL mówią, że nazwą hosta powinna być nazwa FQDN :
HOSTNAME=<value>
, gdzie<value>
powinna być w pełni kwalifikowana nazwa domeny (FQDN), np.hostname.example.com
, ale może to być dowolna niezbędna nazwa hosta.
Instrukcja instalacji RHEL jest nieco bardziej niejednoznaczna:
Instalator monituje o podanie nazwy hosta dla tego komputera, jako w pełni kwalifikowaną nazwę domeny (FQDN) w formacie nazwa_hosta.domena lub jako krótka nazwa hosta w formacie nazwa hosta .
Odwołanie do Debiana mówi, że nazwa hosta nie powinna używać nazwy FQDN :
3.5.5 Nazwa hosta
Jądro zachowuje systemową nazwę hosta . Skrypt inicjujący na poziomie S, który jest dowiązaniem symbolicznym do „ /etc/init.d/hostname.sh ”, ustawia systemową nazwę hosta w czasie rozruchu (za pomocą komendy hostname ) na nazwę zapisaną w „ / etc / hostname ”. Ten plik powinien zawierać tylko nazwę hosta systemu, a nie w pełni kwalifikowaną nazwę domeny.
Nie widziałem żadnych konkretnych rekomendacji ze strony IBM, które należy stosować, ale niektóre programy wydają się mieć preferencje.
Moje pytania:
- Czy w heterogenicznym środowisku lepiej jest skorzystać z zalecenia dostawcy, czy wybrać jedno i zachować spójność na wszystkich hostach?
- Jakie napotkane oprogramowanie jest wrażliwe na to, czy nazwa hosta jest ustawiona na FQDN, czy na krótką nazwę?
źródło
hostname
jako FQDN. Samo posiadanie go/etc/hosts
nie jest wystarczająco dobre. To pomieszało się z moją konsekwencją./etc/sysconfig/network
zawierać linie takie jak:NETWORKING=yes
,NETWORKING_IPV6=no
,HOSTNAME=example.com
,NISDOMAIN=example
?hostname(1)
na dowolnym komputerze z systemem Linux.Prawie całe oprogramowanie jest wrażliwe na prawidłowe ustawienie nazwy hosta. Podczas pracy w Digg raz sprowadziłem całą witrynę na 2 godziny z powodu wprowadzenia pozornie niewinnej zmiany,
/etc/hosts
która wpłynęła na pojęcie nazwy hosta w systemie. Lekko stąpać. To powiedziawszy, możesz być nieco zdezorientowany. Nie sądzę, abyHOSTNAME=
to ustawienie było bezpośrednio równoważne z wykorzystaniem dystrybucji opartych na Debianie/etc/hostname
.W heterogenicznym środowisku działa dla mnie:
hostname
polecenia, aby ustawić nazwę hosta używaną przez jądro itp.W
/etc/hosts
:Ta konfiguracja jeszcze mnie nie zawiodła.
źródło
Z pewnością nie będziesz mieć problemu ze znalezieniem referencji online, które powiedzą ci, aby zdecydowanie zrobić to w ten czy inny sposób. Wydaje mi się jednak, że posiadanie krótkiej nazwy jako nazwy hosta i posiadanie pełnej nazwy w / etc / hosts jest zdecydowanie bardziej rozpowszechnione. Wydaje się to bardziej rozsądnym sposobem, ponieważ usługi, które wymagają w pełni kwalifikowanej nazwy, mogą zostać dostosowane do wywoływania
hostname --fqdn
.Ostatnio spotkałem tylko jedno oprogramowanie, które sztywno wymaga zwrotu fqdn
hostname
, którym było ganeti. Dokumentują to tutaj . Nie widzę jednak żadnego powodu, dla którego nie mogliby się dostosowaćhostname --fqdn
.źródło
hostname --fqdn
”, odpowiada pierwszy akapit w części „Dlaczego w pełni kwalifikowana nazwa hosta” - wymaga zgadywania i wymaga działającego resolvera. Pytanie o jądro jest najbezpieczniejszą i najbardziej niezawodną opcją.10.0.0.1 hostname.example.com hostname
), a /etc/nsswitch.conf określa lokalną rozdzielczość przed DNS (hosts: files dns
), wtedy lokalny program tłumaczący spełnia działający resolver. Jako taki argument za użyciem nazwy FQDN zamiast nazwy hosta rzadko zawiera wodę. Innym przykładem oprogramowania, które sztywno wymagahostname
zwrócenia nazwy FQDN, jest pakiet serwera poczty Zimbra.Nieco stycznie, badając to pytanie, oszalałem na tyle, aby sprawdzić kod źródłowy „nazwa hosta” i napisać skrypt, aby wydrukować wyniki dochodzenia (Fedora 19). Brakuje tylko „/ etc / hosts”, które moim skromnym zdaniem powinny przede wszystkim trzymać się z daleka od tego wszystkiego.
Dane wyjściowe na maszynie wirtualnej Amazon EC2 z uruchomioną Fedorą 19 , po ręcznym ustawieniu wartości jądra i wypełnieniu
/etc/hostname
, ale bez żadnych zmian,/etc/hosts
może wyglądać następująco:Odporny sposób na uzyskanie w pełni kwalifikowanej nazwy hosta w perlu to:
i w skrócie byłoby to:
Notatki
Uwaga 1: HOSTNAME jest zmienną powłoki, którą udostępnia bash („Automatycznie ustawiane na nazwę bieżącego hosta.”), Ale nic nie wskazuje na to, że bash osiągnie tę wartość.
Uwaga 2: Nigdy nie zapomnij / etc / hostname w /boot/initrams-FOO.img ...
źródło
Opcje / etc / hosts działają dobrze.
Ale chcesz się upewnić, że wszystkie odpowiednie pliki zostały zaktualizowane, uruchom narzędzie instalacyjne
źródło
Hm ... Jeśli chcesz zmienić HOSTNAME i FQDN na hostach z Linuksem, powinieneś rozwiązać 3 kroki (na przykład nowym hostem jest rizzo.ifp.com ):
Krok # 1 Zmień wartość HOST w konfiguracji właściwości NETWORK:
Zmień lub dodaj ciąg:
Krok # 2 Edytuj konfigurację hostów
Krok # 3 Uruchom ponownie hosta Dobra robota, po prostu sprawdź nową konfigurację
źródło
Kolejność jest nieprawidłowa. To musi być:
Przykład może wyglądać tak:
źródło