Изменение имени DNS на Raspbian (Debian)

Вопрос или проблема

Я только что установил Raspbian на свой Raspberry Pi и задавался вопросом, почему я не могу использовать его имя хоста с других устройств.

На моем роутере я могу видеть, какие компьютеры подключены, по их имени, например, Windows ПК, Mac, мой iPhone и так далее — у всех есть имена. Но для моего Pi я вижу только IP-адрес.

На Pi я правильно задал имя хоста, вот так:

pi@pi ~ $ sysctl kernel.hostname
kernel.hostname = pi

hostname также выдает:

pi@pi ~ $ hostname
pi

но hostname -d ничего не возвращает:

pi@pi ~ $ hostname -d 
pi@pi ~ $ 

Почему так? Почему я не могу запустить ping pi с любого другого устройства и получить доступ к Pi?

Спасибо

Добавьте в /etc/dhcp/dhclient.conf:

send host-name "yourhostname"

и удалите “host-name” из оператора “request”.

Ответ или решение

У вас возникла проблема с распознаванием DNS-имени вашего Raspberry Pi в сети после установки Raspbian, что затрудняет доступ к устройству по его имени хоста. Вы используете сети, где другие устройства легко опознаются по имени, например, Windows ПК, Mac, iPhone и т.д. Однако ваш Raspberry Pi отображается только по IP-адресу. Давайте разберемся, как исправить ситуацию и сделать так, чтобы и Raspberry Pi можно было распознавать в сети по имени.

Понимание проблемы

Судя по описанию, имя хоста (hostname) на самом Raspberry Pi установлено верно, что подтверждается выводом команды hostname. Однако команда hostname -d, указывающая на домен, возвращает пустое значение. Это связано с тем, что ни на Raspbian, ни на других Debian-базированных системах, такими настройками не задается доменное имя по умолчанию, если DNS и DHCP не настроены соответствующим образом. Именно отсутствие соответствующих записей в DNS-службах и является причиной того, что ваши другие устройства не могут пинговать Raspberry Pi по имени.

Как решить проблему

  1. Настройка DHCP-клиента:

    Вам необходимо добавить конкретное имя хоста в файл конфигурации DHCP-клиента. Это поможет передать имя хоста вашему роутеру, который в свою очередь обновит DNS-записи.

    • Откройте файл конфигурации /etc/dhcp/dhclient.conf для редактирования:
      sudo nano /etc/dhcp/dhclient.conf
    • Добавьте следующую строку:
      send host-name "pi"

      Убедитесь, что эта строка расположена на соответствующем уровне внутри файла. Она сообщает DHCP-серверу ваше предпочтительное имя хоста.

    • Если в файле есть строка request, удалите из нее значение host-name.
  2. Перезапустите службу DHCP клиента:

    После того, как вы внесли изменения в конфигурацию, необходимо перезапустить DHCP, чтобы изменения вступили в силу:

    sudo dhclient -r
    sudo dhclient

    Или перегрузите сеть:

    sudo systemctl restart networking.service
  3. Обновление роутера:

    После применения изменений устройство должно зарегистрироваться в вашем роутере с указанным именем. Проверьте страницу администрирования роутера, чтобы убедиться, что Raspberry Pi отображается под правильным именем.

  4. Обновление DNS кэшей:

    Если изменения не вступили в силу, попробуйте обновить DNS-кэш на других устройствах или просто перезагрузите их.

Заключение

Следуя этим шагам, вы сможете сделать так, чтобы ваш Raspberry Pi был доступен в сети по имени хоста так же, как и другие устройства. Это не только упростит навигацию, но и позволит более эффективно управлять вашим сетевым оборудованием.


Использование этих мер по оптимизации и конфигурации улучшит взаимодействие с устройствами в вашей локальной сети, повысив удобство и доступность Raspberry Pi. Если проблема останется, рассмотрите возможность проверки настроек маршрутизатора на предмет поддерживаемых функций DNS/DHCP.

Оцените материал
Добавить комментарий

Капча загружается...