Czy w Ubuntu 10.04 / etc / hostname powinien zawierać nazwę FQDN serwera?

18

Czy w Ubuntu 10.04 / etc / hostname powinien zawierać w pełni kwalifikowaną nazwę domeny serwera?

RyanTM
źródło

Odpowiedzi:

12

Nie, tylko część nazwy hosta. Według stron podręcznika Ubuntu , /etc/hostnamepowinno zawierać tylko część hosta hosta, a nie FQDN:

FQDN

Za pomocą tego polecenia nie można zmienić nazwy FQDN (zwracanej przez nazwę hosta --fqdn) ani nazwy domeny DNS (zwracanej przez dnsdomainname). Nazwa FQDN systemu to nazwa zwracana przez resolver (3) dla nazwy hosta.

Technicznie: FQDN to nazwa gethostbyname (2) zwracana dla nazwy hosta zwróconej przez gethostname (2). Nazwa domeny DNS to część po pierwszej kropce.

Dlatego zależy od konfiguracji (zwykle w /etc/host.conf), w jaki sposób możesz to zmienić. Zwykle (jeśli plik hosts jest analizowany przed DNS lub NIS), możesz go zmienić w / etc / hosts.

UWAGI

Podczas wyszukiwania nazwy FQDN rodziny adresów próbują nazwy hostów, aliasy i adresy sieciowe hosta są określone przez konfigurację resolvera. Na przykład, w systemach GNU Libc, resolver może zostać poinstruowany, aby najpierw spróbował wyszukać IPv6, używając opcji inet6 w /etc/resolv.conf.

AKTA

/ etc / hosts / etc / hostname Ten plik powinien zawierać tylko nazwę domeny, a nie pełną nazwę FQDN.

Josh
źródło
Nie sądzę, że jest to tak jasne na stronie podręcznika, jak się wydaje, ale myślę, że postąpię zgodnie z radą na moim serwerze. Dzięki.
RyanTM,
1
„/ etc / hostname Ten plik powinien zawierać tylko nazwę domeny, a nie pełną nazwę FQDN.”, wydaje mi się jasne ... ale zgadzam się, może to być mylące.
Josh
O. Chyba przypadkowo nie przeczytałem tego zdania. Myślałem, że tak uważnie go czytam wiele razy. Sugerowałbym pogrubienie tego zdania.
RyanTM
Ubuntu 12.04, który został dostarczony z nazwą hosta 3.15ubuntu1, zmienił hostname(1)stronę podręcznika, mówiąc: „ /etc/hostnameHistorycznie ten plik miał zawierać tylko nazwę hosta, a nie pełną kanoniczną nazwę FQDN. Obecnie większość oprogramowania jest w stanie poradzić sobie z pełną nazwą FQDN. Ten plik jest odczytywany podczas uruchamiania systemu przez skrypty inicjujące system, aby ustawić nazwę hosta. ”
200_success
7

Josh wskazuje, co zaleca Ubuntu, ale nie jestem pewien, czy jest to trudna i szybka zasada.

/etc/hostnamesłuży do ustawienia nazwy hosta systemu, która jest taka sama jak drukowana przez hostnamelub uname -n. Ta nazwa będzie używana podczas monitów logowania, np. Na wirtualnej konsoli lub na ekranie logowania Gnome GDM.

Jak mówi strona podręcznika, jest on również używany jako dane wejściowe do zapytania DNS podczas wykonywania hostname --fqdnlub dnsdomainname.

Technically: The FQDN is the name gethostbyname(2) returns for the host name
returned by gethostname(2). The DNS domain name is the part after the first dot.

Co oznacza, że ​​jeśli jest to jedno słowo, program tłumaczący doda domeny wymienione w searchlub w domainustawieniu, /etc/resolv.confaby spróbować znaleźć nazwę FQDN. Jeśli masz nazwę FQDN w / etc / hostname, oznacza to, że nie musi ona próbować dodawać jednej lub więcej domen: nazwa jest jednoznaczna.

Powiedziałbym, że jedno z nich jest ważne. Byłbym bardzo zainteresowany, gdyby ktokolwiek mógł wykazać inaczej.

Mikel
źródło
Masz rację, to nie jest twardy i szybki przepis: zmieniłem moją odpowiedź, ponieważ niektóre z moich serwerów nie mają pełną nazwę hosta /etc/hostname! Dopiero gdy odpowiedziałem i poszukałem referencji, zdałem sobie sprawę, że działam przeciwko oficjalnym dokumentom.
Josh
1

Po zainstalowaniu libnss-myhostname możesz napisać fqdn /etc/hostnamei gotowe. W przeciwnym razie musisz również edytować, /etc/hostsaby dopasować krótką nazwę i odwzorować ją na w pełni kwalifikowaną nazwę (możesz również umieścić ją w dns, ale to nie jest bezpieczne). Przy użyciu domyślnego interfejsu sprzężenia zwrotnego wygląda to następująco:

127.0.0.2 hostname.fully.qualified hostname
Tobu
źródło