Wynajmuję serwer, uruchamiam Ubuntu 16.04 w firmie, nazwijmy ją company.org.
Obecnie mój serwer jest skonfigurowany w następujący sposób:
- nazwa hosta:
server737263
- Nazwa domeny:
company.org
Oto moja nazwa FQDN:
user@server737263:~ $ hostname --fqdn
server737263.company.org
To nie jest zaskakujące.
Wypożyczam też nazwę domeny, nazwijmy ją domain.org
. Chciałbym zmienić nazwę mojego serwera na server1.domain.org
.
Oznacza to skonfigurowanie mojej nazwy hosta jako server1
i mojej nazwy domeny jako domain.org
.
Jak mogę to zrobić poprawnie?
Rzeczywiście, strona man hostname
nie jest jasna. Dla mnie przynajmniej:
NAZWA HOSTA (1)
[...]
USTAW NAZWĘ
- Po wywołaniu z jednym argumentem lub z opcją --file polecenia ustawiają nazwę hosta lub nazwę domeny NIS / YP. nazwa_hosta używa funkcji sethostname (2), podczas gdy wszystkie trzy nazwy domeny, ypdomainname i nisdomainname używają setdomainname (2). Pamiętaj, że działa to tylko do następnego uruchomienia. Edytuj / etc / hostname, aby zmienić na stałe.
[...]
FQDN
- Nie można zmienić nazwy FQDN za pomocą nazwy hosta ani nazwy domeny dnsdomain.
[...]
Wygląda więc na to, że edycja /etc/hostname
nie wystarczy? Ponieważ gdyby naprawdę zmienił nazwę hosta, zmieniłby nazwę FQDN. Jest też sztuczka, którą czytam, aby zmienić nazwę hosta za pomocą polecenia sysctl kernel.hostname=server1
, ale nic nie mówi, czy jest to właściwy sposób, czy brzydka sztuczka.
Więc:
Jaki jest prawidłowy sposób ustawienia nazwy hosta?
Jaki jest prawidłowy sposób ustawienia nazwy domeny?
DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
na moim serwerze (ta sama wersja)./etc/resolvconf/resolv.conf.d/head
. Wszystko w pliku nagłówkowym jest dołączane do wynikowego/etc/resolv.conf
pliku wyjściowego, dlatego właśnie tam jest ostrzeżenie, dzięki czemu pojawia się w wyniku końcowym. Najpierw rzucił mnie na pętlę./etc/resolvconf/resolv.conf.d/head
i nie ma takiego narzędziaresolvconf
.hostnamectl
sudo nano /etc/cloud/cloud.cfg
aktualizacjapreserve_hostname: true
(domyślnie jestfalse
).sudo nano / etc / hostname
sudo nano / etc / hosts
RESTART!
MUSI MIEĆ POJEDYNCZĄ NAZWĘ HOSTNĄ po nazwie FQDN w pliku / etc / hosts. Działa dobrze na Ubuntu 18.04.1 i wszystkich innych wersjach. Na EC2 i gdzie indziej.
Nie zadzierał z plikiem rozstrzygania ani niczym innym.
Pokazuje nazwę hosta w powłoce, a następnie ma nazwę FQDN, gdy jest potrzebna.
źródło
~ $ man nazwa hosta
Zostało to uprzejmie wskazane przez poige w innym wątku i jest dokładnie tym, co zaproponował tutaj Lutz.
Nie powinieneś wkładać swojego fqdn
/etc/hostname
.źródło
Instrukcje napisane przeciwko Ubuntu 18.04.3 LTS (bionic)
Zmień nazwę hosta:
Sprawdź wynik, uruchamiając
hostnamectl
:Zmień domenę za pomocą nowego menedżera sieci, Netplan , edytując
/etc/netplan/01-netcfg.yaml
i zmieniającsearch
parametr:Przykładowa konfiguracja:
Przetestuj zmiany, logując się po raz drugi, uruchamiając
sudo netplan try
w jednej sesji i sprawdzając ustawienia w drugiej:Wszystko jest w porządku, naciśnij ENTER po
sudo netplan try
znaku zachęty, aby wszystko było trwałe.źródło
Próbowałem zmienić wpis mojej domeny z
myhome.local
namyhome.lan
musiałem edytować/etc/hosts
plik i/etc/network/interfaces
plik. Mój/etc/hosts
plik wygląda teraz następująco:a mój
/etc/network/interfaces
plik wygląda teraz następująco:Działa dla mnie dobrze.
źródło