Невозможно получить доступ к сетевым устройствам по имени хоста с Mac

Невозможно получить доступ к сетевым устройствам по имени хоста с Mac

У меня есть Mac, подключенный к моему маршрутизатору, который подключен к маршрутизатору/модему моего интернет-провайдера, со следующими настройками:

Конфигурация маршрутизатора/модема интернет-провайдера

Собственная конфигурация маршрутизатора

Mac подключается к маршрутизатору 192.168.1.1 с помощью DHCP.
Mac DNS настроен на 192.168.1.1

На моем маршрутизаторе я вижу ряд подключенных устройств:

rpi-узел-4 192.168.1.4
rpi-узел-1 192.168.1.5

Я могу подключиться по ssh к 192.168.1.4 по IP, но если я попробую по имени хоста, он не распознается:

ssh: Не удалось определить имя хоста rpi-node-4: имя узла и имя сервера не указаны или неизвестны

Поскольку маршрутизатор знает имена хостов, а Mac должен использовать 192.168.1.1 (маршрутизатор) в качестве DNS, я ожидал, что Mac сможет разрешить имена хостов, но это не работает.

Обратите внимание, что я не хочу вручную редактировать /etc/hostsфайл на Mac (потому что у меня несколько машин и я использую динамические IP-адреса, поэтому мне не хочется обновлять 3-4 файла хостов каждый раз при перераспределении IP-адресов).

Может кто-нибудь подскажет, где я ошибся?

решение1

Ваш маршрутизатор, вероятно, знает только имена этих RPi, поскольку именно эти имена они использовали при выполнении DHCP-запросов, а ваш маршрутизатор, вероятно, является DHCP-сервером вашей сети.

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

Если у него нет этой функции, вы можете использовать mDNS и DNS-SD (он же IETF ZeroConf, Apple Bonjour) для установки домена, .localчтобы вы могли подключаться к своим RPi по имени. Я считаю, что Raspbian, как правило, не имеет реализации mDNS, включенной по умолчанию, поэтому вам может потребоваться что-то вроде sudo apt-get install avahi-daemonAvahi, которая является популярной реализацией mDNS с открытым исходным кодом.

решение2

Ваш домен поиска мог быть пропущен при настройке параметров DHCP вашего маршрутизатора. Теперь ваш компьютер Mac не знает, где искать локальные имена хостов для IP-адресов.

Чтобы исправить это:

  1. Перейдите в Системные настройки -> Сеть.
  2. Выберите активный сетевой адаптер в левом столбце.
  3. Нажмите «Дополнительно» в правом нижнем углу.
  4. Выберите вкладку DNS вверху.
  5. Введите свой домен поиска в разделе «Поиск доменов» (мой — attlocal.net, потому что я пользуюсь AT&T. Возможно, вам придется выполнить поиск, чтобы найти свой)
  6. Нажмите «Применить». Теперь вы сможете получить доступ к {hostname}.local

Связанный контент