Как посмотреть fqdn в linux
Найти hostname из IP Linux
Имена или ярлыки полезны, поскольку они позволяют нам отличить одну вещь или одного человека от другого. Даже имя человека, которое может не быть уникальным в глобальном масштабе, содержит набор символов, которые позволяют человеку отличаться от другого человека.
Точно так же компьютеры поддерживают метки или имена, которые помогают придать им уникальную идентичность в сети. Вот здесь и появляется имя хоста. Имя хоста — это набор буквенно-цифровых символов, уникальных для компьютерной сети, позволяющий устройствам связываться друг с другом.
Как правило, базовая технология, которая идентифицирует компьютер или устройство в сети, представляет собой набор чисел, известных как IP-адреса. Затем они сопоставляются с определенным именем, преобразованным в IP-адрес машины.
Однако в этом руководстве я покажу вам различные способы, которые вы можете использовать для получения имени хоста, связанного с определенным IP-адресом. Методы, обсуждаемые в этом руководстве, будут работать почти во всех Linux и Unix-подобных системах.
Разобравшись с этим, давайте погрузимся.
Метод 1: Ping
Самый простой способ получить имя хоста с IP-адреса — использовать команду ping. Ping — это простая, но мощная утилита командной строки, которая использует пакеты ECHO для связи с хостом.
ПРИМЕЧАНИЕ. Следующая команда работает только на компьютерах с Windows. Для Linux проверьте следующий метод.
Чтобы получить имя хоста с IP-адреса с помощью команды ping, используйте команду ниже:
Вот результат выполнения вышеуказанной команды:
Приведенная выше команда не всегда надежна; это часто работает только в том случае, если имя хоста доступно в файле hosts.
Метод 2: команда хоста
Второй и распространенный метод получения имени хоста из IP-адреса в Linux — это команда host. Этот простой инструмент является частью пакета dnsutil.
hostname в CentOS
Введение
Имя хоста — это уникальная метка, которая идентифицирует машину в сети.
Должна существовать таблица соответствия между hostname и IP адресом это нужно для для маршрутизации пакетов.
Хост может иметь несколько имён, но предпочтительным является вариант, когда имя одно.
Так как CentOS 7 поддреживает только Fully Qualified Domain Names (FQDNs), советую тщательно проверить hostname, который вы планируете использовать.
Узнать имя своего хоста
Существует несоколько способов узнать имя своего хоста.
Часто для этого достаточно просто посмотреть в терминал
Пример моего терминала
[andrei@ localhost Downloads]$
Посмотреть порядок можно выполнив
Static hostname: localhost.localdomain Icon name: computer-vm Chassis: vm Machine ID: 35e254eda578c54084b96e06d5f285cf Boot ID: afb44fef8d764f30bb89550849b02fde Virtualization: kvm Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-1160.36.2.el7.x86_64
Изменить имя хоста
С помощью команды hostname
hostname dns-server
hostname
Если заново открыть терминал изменения будут видны в командной строке.
Это имя хоста сохранится только до перезагрузки системы
Если выполнить hostnamectl видно, что помянелось только динамическое имя хоста
Static hostname: localhost.localdomain Transient hostname: dns-server Icon name: computer-vm Chassis: vm Machine ID: cff8a80b9c356243b5238452511a8ade Boot ID: 64d9ddab85ec4c219ac46c6a2940e628 Virtualization: kvm Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-1160.42.2.el7.x86_64 Architecture: x86-64
С помощью hostnamectl
hostnamectl set-hostname dns-server.andrei.com
hostname
Это постоянное изменение. Т.е. новое имя хоста имеет класс persistent.
pretty name
Чтобы задать pretty name нужно воспользоваться кавычками
hostnamectl set-hostname «andrei’s.host.com»
hostnamectl
Static hostname: andreis.host.com Pretty hostname: andrei’s.host.com Icon name: computer-vm Chassis: vm Machine ID: cff8a80b9c356243b5238452511a8ade Boot ID: 64d9ddab85ec4c219ac46c6a2940e628 Virtualization: kvm Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-1160.42.2.el7.x86_64 Architecture: x86-64
В /etc/hostname отображается только static hostname
pretty hostname можно увидеть в файле /etc/machine-info
hosts
Изучить информацию об именах других хостов можно в файле hosts
В моём примере в сети есть два хоста:
dns-server.andrei.com с IP адресом 192.168.56.149
host113.andrei.com с IP адресом 192.168.56.113
Зайдём на него с помощью ssh и посмотрим, есть ли у него записи об именах других хостов в сети.
Для наглядности я теперь буду показываеть приглашение терминала чтобы было видно имя хоста.
Выполним ping по IP
По IP пингуется успешно
И ping по hostname
ping: dns-server.andrei.com: Name or service not known
host113 не знает как разрешить имя dns-server.andrei.com
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
Добавим запись о dns-server.andrei.com
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.56.149 dns-server.andrei.com
Теперь всё работает
alias
Чтобы не писать длинные имена хостов можно придумать alias
192.168.56.149 dns-server.andrei.com vbdns
Обратите внимание на dns-server.andrei.com
Хоть пинг и был по алиасу, ответ идёт как от static fqdn
Если поменять порядок так, что vbdns идёт первым а FQDN dns-server.andrei.com вторым, но dns-server.andrei.com будет считаться алиасом
192.168.56.149 vbdns dns-server.andrei.com
В таком случае ответ будет идти от vbdns
Это может стать важным при работе с сертификатами
Как установить или изменить имя хоста в Linux
How to Set or Change Hostname in Linux
Это руководство проведет вас через процесс изменения имени хоста в Linux без необходимости перезапуска системы. Инструкции должны работать на любом современном дистрибутиве Linux, который использует systemd.
По умолчанию системное имя хоста задается в процессе установки, или, если вы создаете виртуальную машину, оно динамически назначается экземпляру при запуске, но в некоторых случаях вам необходимо изменить его.
Что такое имя хоста
Имя хоста может быть простой строкой, содержащей буквенно-цифровые символы, точки и дефисы. Если устройство подключено к Интернету (например, к веб-серверу или почтовому серверу), рекомендуется использовать полное доменное имя (FQDN) в качестве имени хоста системы. FQDN состоит из двух частей, имени хоста и имени домена.
Отображение текущего имени хоста
В системах Linux, использующих systemd, эту hostnamectl команду можно использовать для запроса и изменения имени хоста и соответствующих настроек на данном компьютере.
Чтобы просмотреть текущее имя хоста, вызовите hostnamectl команду без аргументов:
Имя хоста системы выделено на рисунке ниже:
Изменение имени хоста
Чтобы изменить имя хоста, вызовите hostnamectl команду с set-hostname аргументом, за которым следует новое имя хоста. Только root или пользователь с привилегиями sudo может изменить имя хоста системы.
Команда hostnamectl не производит вывод. В случае успеха 0 возвращается ненулевой код ошибки в противном случае.
Наконец, чтобы убедиться, что имя хоста было успешно изменено, еще раз используйте hostnamectl команду:
Новое имя хоста системы и некоторая дополнительная системная информация, такая как версия ядра, будут отображаться на терминале.
Вывод
В этом уроке мы показали, как изменить имя хоста вашей системы Linux. В зависимости от вашего дистрибутива Linux и типа виртуализации могут потребоваться дополнительные шаги для завершения процесса.
Для инструкций, относящихся к дистрибутиву, просмотрите следующие статьи:
Linux hostname command
On Unix-like operating systems, the hostname command shows or sets the system hostname.
This page covers the GNU/Linux version of hostname.
Description
hostname is used to display the system’s DNS name, and to display or set its hostname or NIS (Network Information Services) domain name.
When called without any arguments, hostname displays the name of the system as returned by the gethostname function.
When called with one argument or with the —file option, hostname sets the system’s hostname using the sethostname function. Only the superuser can set the hostname.
The hostname is usually set once at system startup in the script /etc/init.d/hostname.sh normally by reading the contents of a file which contains the hostname, e.g., /etc/hostname.
Syntax
Options
The FQDN
You cannot change the FQDN with hostname or dnsdomainname.
The recommended method of setting the FQDN is to make the hostname be an alias for the fully qualified name using /etc/hosts, DNS, or NIS. For example, if the hostname was «mysubdomain«, one might have a line in /etc/hosts which reads:
Technically: The FQDN is the name getaddrinfo returns for the hostname returned by gethostname. The DNS domain name is the part after the first dot.
Therefore it depends on the configuration of the resolver (usually in /etc/host.conf) how you can change it. Usually, the hosts file is parsed before DNS or NIS, so it is most common to change the FQDN in /etc/hosts.
Files
/etc/hostname | Historically this file was supposed to only contain the hostname and not the full canonical FQDN. Nowadays most software can cope with a full FQDN here. This file is read at boot time by the system initialization scripts to set the hostname. |
/etc/hosts | Usually, this is where one sets the domain name by aliasing the hostname to the FQDN. |
Examples
Displays the system hostname.
Related commands
hostid — Print the numeric identifier for the current host.
uname — Print information about the current system.
[в закладки] Шпаргалка системного администратора по сетевым инструментам Linux
В повседневные задачи системных администраторов входит работа с сетями и с подключённым к ним оборудованием. Нередко роль рабочего места администратора играет компьютер, на котором установлен какой-нибудь дистрибутив Linux. Утилиты и команды Linux, о которых пойдёт речь в материале, перевод которого мы публикуем сегодня, включают в себя список инструментов различной сложности — от простых, до продвинутых, которые предназначены для решения широкого спектра задач по управлению сетями и по диагностике сетевых неполадок.
▍Примеры
Ping, кроме того, можно использовать для выяснения IP-адресов сайтов на основе их имён. Вот как это выглядит.
Использование ping для выяснения IP-адреса сайта по его имени
Traceroute
▍Пример
Telnet
Утилита telnet позволяет связаться с удалённым компьютером по протоколу Telnet и взаимодействовать с ним, используя соответствующие команды.
▍Пример
Для организации сеанса Telnet-связи с другим компьютером используется следующая команда:
Netstat
Эта команда позволяет собирать сведения о сети и используется в ходе поиска и исправления сетевых неполадок, применяется для проверки данных о работе интерфейсов и портов, для исследования таблиц маршрутизации, для изучения информации о работе протоколов. Эта команда непременно должна присутствовать в арсенале системного администратора.
▍Примеры
Для того чтобы получить список всех портов, находящихся в режиме прослушивания, воспользуйтесь такой командой:
Для просмотра таблиц маршрутизации воспользуйтесь такой командой:
Вот как выглядит результат выполнения этой команды.
Сведения о таблице маршрутизации
Вот вариант этой команды, выводящий статистику по протоколам:
Статистика по протоколам
Следующий вариант вызова netstat позволяет узнать сведения об отправленных и полученных пакетах (transmission/receive, TX/RX) по каждому интерфейсу:
Данные об отправленных и полученных пакетах
Nmcli
Утилита nmcli отлично подходит для управления сетевыми соединениями, для выполнения настроек и для решения других подобных задач. С её помощью можно управлять программой NetworkManager и модифицировать сетевые параметры различных устройств.
▍Примеры
Вот как с помощью nmcli вывести список сетевых интерфейсов:
Так можно вывести информацию по конкретному интерфейсу:
Следующий вариант вызова команды позволяет проверить подключение устройства к сети:
Примеры использования nmcli
Эта команда позволяет отключить заданный интерфейс:
А эта позволяет включить интерфейс:
Вот пример команды, которая добавляет VLAN-интерфейс с заданным VLAN-номером, IP-адресом и шлюзом к указанному интерфейсу:
Маршрутизация
Существует множество команд, которые можно использовать для проверки правил маршрутизации и их настройки. Рассмотрим самые полезные из них.
▍Примеры
Следующая команда показывает все текущие маршруты, настроенные для соответствующих интерфейсов:
Маршруты, настроенные для интерфейсов
Эта команда позволяет добавить в таблицу маршрутизации шлюз, используемый по умолчанию:
Следующая команда добавляет в таблицу маршрутизации новый сетевой маршрут. Существует и множество других её параметров, позволяющих выполнять такие операции, как добавление маршрута и шлюза, используемых по умолчанию, и так далее.
С помощью такой команды можно удалить запись о заданном маршруте из таблицы маршрутизации:
Использование команды route
Вот команда, которая применяется для вывода текущей таблицы соседей. Кроме того, её можно использовать для добавления, изменения или удаления сведений о соседях:
Взглянем на примеры её использования.
Данные, полученные с помощью команды ip neighbor
Вот сведения о команде ip neigh
Сведения о команде ip neigh
Вот пример её вызова.
Вызов команды arp
Tcpdump и Wireshark
▍Примеры
Такая команда показывает, в режиме реального времени, пакеты с заданного интерфейса:
Использование tcpdump
Следующий вариант команды используется для захвата пакетов, приходящих с заданного IP системы-источника:
Так можно захватить пакеты, идущие на заданный адрес системы-приёмника:
Вот пример использования tcpdump для захвата пакетов для заданного номера порта, например, это может быть порт 53, 80, 8080, и так далее:
Здесь показано, как с помощью tcpdump захватывать пакеты заданного протокола, вроде TCP, UDP или других:
Iptables
Утилита iptables похожа на файрвол, она поддерживает фильтрацию пакетов, что позволяет управлять трафиком, пропуская или блокируя его. Диапазон возможностей этой утилиты огромен. Рассмотрим несколько наиболее распространённых вариантов её использования.
▍Примеры
Следующая команда позволяет вывести все существующие правила iptables :
Эта команда удаляет все существующие правила:
Следующие команды разрешают прохождение трафика с заданного номера порта к заданному интерфейсу:
Следующие команды разрешают loopback-доступ к системе:
Nslookup
Инструмент nslookup используется для получения сведений о назначении IP-адресов сетевым ресурсам. Его можно использовать и для получения сведений с DNS-серверов, например таких, как все DNS-записи для некоего веб-сайта (ниже мы рассмотрим соответствующий пример). На nslookup похожа утилита dig (Domain Information Groper).
▍Примеры
Следующая команда выводит IP-адреса вашего DNS-сервера в поле Server, и, ниже, выдаёт IP-адрес искомого сайта:
Такая команда показывает все доступные записи для заданного веб-сайта или домена:
Поиск неполадок
Вот набор команд и список важных файлов, используемых для идентификации сетевых неполадок.
▍Примеры
Итоги
В этой небольшой шпаргалке мы рассказали о сетевых инструментах Linux, предназначенных для системных администраторов. Надеемся, вам эти инструменты пригодятся.
Уважаемые читатели! Чем вы пользуетесь для администрирования сетей и для выяснения причин сетевых неполадок?