Avahi-Chromebook: не удалось разрешить имя хоста

у меня есть raspberry pi (raspbian jessie) с услугами ssh и vnc, зарегистрированными в avahi.
Я вижу на моего клиента (хромбук)

chronos@localhost ~ $ avahi-browse -arl
+  mlan0 IPv4 raspberrypi SSH                               _ssh._tcp            local
+  mlan0 IPv4 raspberrypi VNC                               _rfb._tcp            local
+  mlan0 IPv4 raspberrypi [30:b5:c2:1e:2f:df]               _workstation._tcp    local
=  mlan0 IPv4 raspberrypi SSH                               _ssh._tcp            local
   hostname = [raspberrypi.local]
   address = [192.168.1.200]
   port = [22]
   txt = []
=  mlan0 IPv4 raspberrypi [30:b5:c2:1e:2f:df]               _workstation._tcp    local
   hostname = [raspberrypi.local]
   address = [192.168.1.200]
   port = [9]
   txt = []
=  mlan0 IPv4 raspberrypi VNC                               _rfb._tcp            local
   hostname = [raspberrypi.local]
   address = [192.168.1.200]
   port = [5900]
   txt = []

и кажется, что я могу решить и имя и адрес:

chronos@localhost ~ $ avahi-resolve --address 192.168.1.200
192.168.1.200   raspberrypi.local
chronos@localhost ~ $ avahi-resolve --name raspberrypi.local
raspberrypi.local       192.168.1.200

но всякий раз, когда я пытаюсь пинг или ssh малину из моего chromebook, он не будет решать:

chronos@localhost ~ $ ping raspberrypi.local
ping: unknown host raspberrypi.local
chronos@localhost ~ $ ssh pi@raspberrypi.local
ssh: Could not resolve hostname raspberrypi.local: Name or service not known

Я что-то пропустила? Я могу фактически ssh мой Raspberry Pi с другого клиента (Arch Linux) в моей локальной сети, поэтому Я думаю, проблема должна быть на стороне Chromebook.

это определение службы, которое я использую в Raspberry Pi (/etc/avahi/services/ssh.service):

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
        <name replace-wildcards="yes">%h SSH</name>
        <service>
                <type>_ssh._tcp</type>
                <port>22</port>
        </service>
</service-group>
10
задан rodrunner
10.05.2023 13:34 Количество просмотров материала 2591
Распечатать страницу

2 ответа

Avahi ищет сервисы Avahi в локальной сети, запрашивает их (в вашем примере) разрешение show IP.

использование IP-адреса на вашем chromebook получит результат, который вы ищете (ответ ping или доступ ssh).

большинство сетей не хранят имя машины, только IP. Вы можете предоставить свой собственный поиск доменного имени (для статического IP addess) в /etc/hosts (Chromebook должен быть в режиме разработчика), добавив строку: raspberrypi.local 192.168.1.200

или путем автоматизировать его в a скрипт, использующий sed заменить начало строки на raspberrypi.local, С выводом команды avahi-resolve --name raspberrypi.local. Это будет работать для динамического выделения IP-адресов, но вам все равно придется запускать сценарий по крайней мере один раз каждый раз, когда включен RPi (в случае его изменения).

причина, по которой вы не получаете результат (который вы ожидаете), состоит в том, что служба доменных имен (или DNS-сервер) не знает об именах адресов LAN.


следующее будет также работа:

ping `avahi-resolve --name raspberrypi.local`
ssh `avahi-resolve --name raspberrypi.local`

` на клавишу Тильда (~)

1
отвечен Paul Wratt 2023-05-11 21:22

нормальный способ поддержки avahi *.local имя поиска, так что это просто работает, чтобы ping raspberrypi.local через mdns4_minimal in /etc/nsswitch.conf например, как описано в как настроить локальный поиск DNS в Ubuntu 16.10? - Спросите Ubuntu

кажется, что это было возможно в Chrome OS после того, как эта ошибка была исправлена:199397 - FR: разрешение имени mDNS-хромий-монорельс, но это столкнулось с проблемами в некоторых сетях, которые использовали свои собственные не-mdns .local домен, как описано в 626377 - включить mDNS разрешение имени хоста без нарушения .локальный одноадресный DNS-chromium-Monorail.

по состоянию на начало 2018 года, кажется, что вопрос 626377 приближается к выпуску, чтобы повторно включить mdns поиски.

в то же время я предполагаю, что это может быть исправлено локально, если вы попадете в режим разработчика и измените свой раздел rootfs. А до тех пор, ответ пола Wratt имеет некоторые полезные обходные пути.

0
отвечен nealmcb 2023-05-11 23:39

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх