Изпробвайте уменията си за всички наши хостинг услуги и получете 15% отстъпка!

Използвайте код на касата:

Skills
10.01.2025

Как да зададете статично име на хост на машина с Linux

Присвояването на статично име на хост на машина с Linux е от съществено значение за мрежовата идентификация и комуникация, особено в среди, в които си взаимодействат множество устройства. Името на хоста служи като четим от човека етикет, който отличава вашата машина в мрежата. За разлика от динамичните имена на хостове, които могат да се променят въз основа на конфигурации като DHCP, статичното име на хост остава постоянно, което осигурява надеждност на мрежите и достъпа. Това ръководство ще ви запознае с процеса на задаване на статично име на хост на вашата Linux система, като ще разгледа различни методи за различните дистрибуции на Linux

Какво е име на хост?

Името на хоста е етикет, който идентифицира устройство в мрежата. В Linux то може да бъде статично или динамично, в зависимост от конфигурацията на системата. Името на хоста е от съществено значение за различни задачи, свързани с мрежата, като например идентифициране на машината в SSH връзки, DNS услуги и в регистрационни файлове. Статичното име на хост е от решаващо значение в среди, в които машината трябва да бъде разпознавана с конкретно име, което осигурява постоянен достъп

Проверка на текущото име на хоста

Преди да присвоите ново име на хост, от съществено значение е да проверите текущото име. Използвайте следната команда, за да покажете текущото име на хост

hostnamectl

Тази команда предоставя подробна информация за статичното име на хоста, преходното (динамично) име на хоста и красивото име на хоста на вашата система

Промяна на името на хоста в Linux

За да присвоите статично име на хост, има различни методи в зависимост от дистрибуцията на Linux, която използвате. Нека ги разделим на две основни категории: дистрибуции, базирани на systemd (повечето съвременни дистрибуции като Ubuntu, CentOS 7+, Fedora), и дистрибуции, които не са базирани на systemd (по-стари или специфични дистрибуции)

Метод 1: Използване на командата hostnamectl (за дистрибуции, базирани на systemd)

За повечето съвременни дистрибуции на Linux, които използват systemd, процесът е сравнително прост, като се използва командата hostnamectl

  1. Отворете терминал: Отворете терминала на вашата машина.
  2. Задайте ново име на хост: За да зададете статично име на хост, използвайте следната команда
    sudo hostnamectl set-hostname new-static-hostname

    Заменете

    new-static-hostname
    с желаното име на хост за вашата машина.
  3. Проверете промяната: След изпълнение на командата проверете дали новото име на хост е приложено, като стартирате
    hostnamectl

    Полето

    Static hostname
    трябва да отразява промяната.

  1. Актуализиране на файла /etc/hosts: След като зададете името на хоста, се уверете, че сте актуализирали файла /etc/hosts. Този файл съпоставя IP адреси с имена на хостове. Отворете го, като използвате текстов редактор (например nano или vim)
    sudo nano /etc/hosts

    Намерете реда, който препраща към старото име на хост (обикновено свързано с 127.0.0.1), и заменете старото име на хост с новото. Той трябва да изглежда по следния начин

    127.0.0.1 localhost
    127.0.1.1 new-static-hostname

    Запазете файла и излезте от редактора.

Метод 2: Ръчно редактиране на файла /etc/hostname (за дистрибуции, различни от systemd)

Ако използвате по-стара дистрибуция на Linux или такава, която не разчита на systemd, процесът включва ръчно редактиране на конфигурационни файлове

  1. Отваряне на файла /etc/hostname: Използвайте предпочитания от вас текстов редактор, за да отворите файла /etc/hostname. Например, използвайте nano
    sudo nano /etc/hostname
  2. Променете името на хоста: Заменете текущото име на хост с ново статично име на хост по ваш избор. След като редактирате, запазете файла и излезте от редактора.
  3. Актуализиране на файла /etc/hosts: Подобно на метода, базиран на systemd, трябва да актуализирате и файла /etc/hosts, за да отрази новото име на хоста
    sudo nano /etc/hosts

    Променете съответните редове, за да включите новото име на хоста. Например

    127.0.0.1 localhost
    127.0.1.1 new-static-hostname
  4. Рестартиране или презареждане на името на хоста: За да влязат в сила промените, можете да рестартирате системата или да рестартирате услугата за име на хоста
    sudo reboot

    Алтернативно, без да рестартирате, можете да презаредите името на хоста с

    sudo systemctl restart systemd-hostnamed

Запазване на промените в името на хоста

В повечето случаи направените промени в името на хоста ще се запазят след рестартиране, особено когато използвате hostnamectl или редактирате /etc/hostname. Въпреки това, в среди, където DHCP присвоява име на хост динамично, може да се наложи допълнителна конфигурация, за да се предотврати DHCP да презапише статичното име на хост. За да избегнете това, уверете се, че конфигурацията на вашия DHCP клиент не изисква или презаписва името на хост. За системи, използващи dhclient, можете да промените конфигурацията на DHCP в /etc/dhcp/dhclient.conf, като добавите

send host-name "new-static-hostname";

Това гарантира, че машината ви ще използва посоченото име на хост, а не това, предоставено от DHCP сървъра

Заключение

Присвояването на статично име на хост на машина с Linux е нещо повече от елементарна стъпка в конфигурацията – то играе ключова роля за надеждността на мрежата и управлението на системата. Постоянното име на хост позволява вашият сървър или работна станция да бъдат лесно идентифицирани в дневниците, системите за наблюдение и при отдалечено свързване. Без фиксирано име на хост машините могат да се появят под различни имена след рестартиране или подновяване на DHCP, което може да предизвика объркване и да наруши работните процеси. Чрез задаване на статично име на хост, вие гарантирате, че вашата система винаги представя една и съща идентичност, което засилва както стабилността на мрежата, така и административната яснота.

Например, на съвременна дистрибуция, базирана на systemd, като Ubuntu 22.04 или CentOS 8, можете да стартирате:

sudo hostnamectl set-hostname server01

Тази команда трайно присвоява името на хоста server01 на вашата машина. След като бъде зададено, новото име ще се запази при всички рестартирания и ще се появява постоянно в терминалния промпт и системните логове. Независимо дали управлявате единичен сървър или цял клъстер, прилагането на статично име на хост е прост, но ефективен начин за поддържане на ред и осигуряване на безпроблемна комуникация в инфраструктурата ви.

Изпробвайте уменията си за всички наши хостинг услуги и получете 15% отстъпка!

Използвайте код на касата:

Skills