tolstiyman
среда, 12 июня 2013 г.
Как в Linux узнать сетевое имя коммпьютера
Чтобы узнать свое сетевое имя (hostname) существует как минимум 2 способа.
Первый из них — это воспользоваться командой uname с параметром -n:
Та же команда, но с параметром -a выводит всю извесную ей информацию одной строкой:
$ uname -a
Linux tolstiy 3.9.4-calculate #1 SMP PREEMPT Sat Jun 8 04:28:26 EEST 2013 i686 Intel(R) Atom(TM) CPU N280 @ 1.66GHz GenuineIntel GNU/Linux
Второй способ узнать имя компьютера — это команда hostname. Введенная без параметров, она выведет искомое имя хоста:
У обоих этих команд есть man-страницы, которые легко читаются даже с поверхностным знанием английского языка. Вообще, man-документацией не стоит пренебрегать — очень часто её оказывается более чем достаточно.
Есть и еще более простой способ узнать hostname — обычно приглашение в командной строке содержит имя компьютера. Но это не обязательное правило — приглашение командной строки может меняться, а приведенные выше 2 способа работают всегда.
Как изменить Hostname (имя компьютера)
Hostname (имя компьютера, имя хоста) задается во время установки системы Linux. Hostname определяет название компьютера и используется преимущественно для идентификации компьютера в сети. Нельзя назначать два одинаковых Hostname для компьютеров в одной сети.
Просмотр текущего Hostname
Чтобы показать текущий Hostname можно использовать команду hostname без параметров:
Также Hostname можно отобразить командой hostnamectl :
Как изменить Hostname
Рассмотрим, как изменить Hostname двумя разными способами.
Способ 1. Используем команду hostnamectl
Во многих systemd-based дистрибутивах (например, в Ubuntu Linux) есть утилита hostnamectl .
Воспользуемся командой hostnamectl , чтобы установить новое значение Hostname равным pingvinus . Используется аргумент set-hostname:
Способ 2. Редактируем файлы /etc/hostname и /etc/hosts
Еще один способ изменения Hostname — это ручное редактирование файла /etc/hostname и файла /etc/hosts .
Сначала выполните команду (вместо pingvinus укажите свое значение):
Отредактируем файл /etc/hostname для редактирования в редакторе nano, выполняем команду:
Измените текущее значение в файле на новое. Сохраните изменения и закройте файл. Это можно сделать, нажав Ctrl+C , затем Y и Enter .
Hostname прописывается также в файле /etc/hosts , поэтому нужно изменить его значение в этом файле. Откроем файл:
Найдите строку вида « 127.0.0.1 ваш_hostname » и впишите новое имя хоста. Сохраните изменения и закройте файл.
Проверка результата
Чтобы проверить, изменилось ли значение Hostname, откройте новое окно терминала и введите команду:
Как временно изменить Hostname
Чтобы изменить Hostname в текущей работающей системе Linux, но до первой перезагрузки, можно использовать просто команду hostname , указав ей новое значение имени хоста:
Что такое имя хоста в Linux и как его изменить?
Когда вы посещаете веб-сайт, вы вводите URL этого веб-сайта в свой браузер. Этот URL-адрес состоит из обычных слов, которые вы можете легко понять, например «technodor.info». За кулисами DNS- сервер связывает это имя с IP-адресом сервера. Эта система существует, потому что запоминание IP-адресов ужасно, и никто не будет этого делать. Хост-имена работают одинаково, только в локальной сети.
Когда вы даете компьютеру имя хоста, это обычное слово, которое вы понимаете и можете легко ввести, чтобы идентифицировать этот компьютер в своей сети. Подобно URL-адресу, вы можете заменить это имя хоста, где вы регулярно будете использовать IP-адрес. Это включает просмотр локальных веб-страниц и использование SSH. Если вы не используете локальный DNS- сервер, для его запуска требуется небольшая настройка.
Просмотреть свое имя хоста
![]() |
Настройка имени хоста
Systemd
sudo hostnamectl set-hostname newname
Systemd позаботится о том, чтобы сбросить все для вас.
Метод старой школы
Самый универсальный традиционный метод включает в себя изменение двух файлов и перезапуск компьютера . Первый файл — это файл «hostname». Удивительно, правда? Это простой тестовый файл с одним словом в нем. Система считывает это слово и устанавливает его как имя хоста, поэтому размещайте все, что вам нравится, чтобы сделать его именем хоста системы. Он расположен по адресу /etc/hostname.
Далее, есть файл «hosts». Этот файл сообщает вашей системе, какие имена хостов ассоциируются с IP-адресами . Вы должны сказать ему, чтобы связать ваше имя хоста с локальным компьютером. Этот файл находится в папке «/etc/hosts», после чего откройте его.
Есть две строки, которые вам нужно заботиться, и она должна выглядеть примерно так:
Измените только второй, который имеет ваше текущее имя хоста. Когда вы закончите, сохраните, выйдите и перезагрузите компьютер .
Файл хостов
Файл разделен на два раздела. Верх обрабатывает адреса IPv4, к которым вы привыкли, а нижний — IPv6. Если вы следуете традиционному методу, вы устанавливаете собственное имя хоста вверху.
Чтобы добавить имена хостов других устройств в вашей сети, создайте новые строки ниже двух для вашего компьютера и следуйте одному и тому же формату. Сначала включите локальный IP-адрес устройства . Затем укажите его имя хоста.
sudo systemctl restart networking
Теперь вы можете получить доступ к своей новой записи через свое имя хоста. Попробуйте войти в SSH.
Если вам удалось подключиться, все настроено и работает правильно.
Файл hosts в Linux
Система доменных имен DNS используется для определения, какой IP принадлежит к нужному домену в сети интернет. Когда какой-либо программе понадобится обратиться к сайту по его доменному имени, операционная система отправляет к DNS-серверу запрос, чтобы узнать, по какому IP ей дальше передавать пакеты. Но так происходит не всегда. Например, когда мы обращаемся к домену localhost, то всегда запрос отправляется нашему локальному компьютеру.
Всему причиной файл hosts. Если вы раньше пользовались Windows, то, наверное, уже слышали о таком файле. Там чаще всего он использовался для того, чтобы быстро заблокировать доступ к какому-либо ресурсу. Но применение его гораздо шире. В этой статье мы рассмотрим, как настроить файл hosts в Linux, а также какие возможности он нам предоставляет.
Разрешение доменных имён в Linux
Прежде чем мы перейдём к самому файлу hosts, нужно разобраться, как происходит поиск IP-адреса для доменного имени в Linux. Я говорил, что операционная система сразу же отправляет запрос DNS-серверу, но это не совсем так. Существует определённый порядок поиска, согласно которому он выполняется. Этот порядок установлен в конфигурационном файле /etc/nsswitch.conf
Здесь нас интересует строчка hosts. В ней в порядке очередности записаны службы, которые используются для поиска IP-адреса для доменного имени. Пункт files означает использование файла /etc/hosts, а dns — сервиса доменных имён интернета. Если files расположена перед hosts, это означает, что сначала система попытается найти домен в /etc/hosts, а уже потом по DNS. По умолчанию дело обстоит именно так.
Настройка файла hosts в Linux
Нужный нам файл находится в директории /etc/. Для его открытия можно использовать любой текстовый редактор как в командной строке, так и в графическом интерфейсе, только открывать его нужно с правами суперпользователя. Например, с помощью vim:
sudo gedit /etc/hosts
Синтаксис файла довольно простой. В нём находится несколько строчек с доменными именами и IP-адресами, которые нужно для них использовать. Каждая из них выглядит вот так:
ip_адрес домен алиас
Обычно первая же строчка создаёт правило для перенаправления всех запросов к домену localhost на локальный IP-адрес — 127.0.0.1:
Также в этом файле по умолчанию размещаются перенаправления для имени вашего компьютера и для IPv6-адресов. Вы можете создать свои настройки для любого нужного домена. Для этого нужно добавить строчку в конец файла. Например, направим все запросы к домену losst.ru на ip 127.0.0.1:
Обратите внимание, что здесь указывается только домен, без протокола. Префикс http или https указывать не нужно, иначе ничего работать не будет. А вот для поддомена www нужно создавать отдельную запись или записывать его в виде алиаса. Например:
127.0.0.1 losst.ru www.losst.ru
Теперь при запросе домена losst.ru будет открываться наш локальный IP. Чтобы вернуть доступ к оригинальному ресурсу, достаточно убрать добавленную строчку. Но вы можете использовать не только локальный адрес, но и любой другой. Это очень удобно, если вы только зарегистрировали домен и доменная зона ещё не успела обновиться, а вы уже хотите работать с новым сайтом. Просто добавьте данные в /etc/hosts и работайте как обычно.
Выводы
В этой небольшой статье мы разобрали, как выполняется настройка DNS через файл hosts Linux. Как видите, с его помощью вы можете блокировать доступ к нежелательным ресурсам, например, к которым программы не должны получить доступ, а также использовать его в работе веб-мастера.











