Вопрос или проблема
Я настроил systemd-network для включения mDNS.
Мое имя хоста настроено на “myhost”.
Но в сети есть другой хост с таким же именем, поэтому система mDNS systemd присваивает моему хосту суффикс, чтобы сделать его уникальным “myhost” (и это хорошо).
Но как я могу проверить, какой суффикс в настоящее время назначен моему хосту из командной строки Linux?
Пробовал hostnamectl, но получал только оригинальное имя хоста, а не текущее с префиксом.
Ответ или решение
Для проверки текущего hostname, который назначен вашей системе с помощью mDNS в системе, управляемой systemd, вы можете воспользоваться командой systemd-resolve
. Эта команда позволяет получить информацию о текущем состоянии разрешения имен на вашей системе, включая mDNS.
Вот пример команды, которую вы можете использовать:
systemd-resolve --status
После выполнения этой команды вы увидите информацию о текущих сетевых интерфейсах и связанных с ними хостах. В выводе обратите внимание на раздел, относящийся к mDNS. В нём вы сможете найти ваш текущий hostname с суффиксом.
Если вы хотите получить информацию только о вашем хосте, можно также использовать следующую команду:
systemd-resolve myhost.local
Замените "myhost.local" на ваш фактический hostname, если вы в системе используете другую конечную точку. Эта команда, как правило, возвращает информацию о разрешении имени и подтвердит, что ваш хост доступен в текущей сети с назначенным суффиксом.
Если вы работаете с avahi
, учтите, что в вашем случае его использование не требуется, так как вы описали конфигурацию исключительно на основе systemd. Основная задача — следить за выводом команд выше, чтобы получать актуальную информацию о вашем hostname в сети.
Таким образом, используя указанные команды, вы сможете легко определить, какой суффикс присвоен вашему hostname для обеспечения уникальности в сети.