Как (и почему) назначить домен .local вашему Raspberry Pi
Если вам надоело искать IP-адреса устройств, к которым вы часто обращаетесь через удаленный вход, SSH и другие средства в своей домашней сети, вы можете сэкономить много времени, назначив легко запоминающийся .местный
обратитесь к устройству. Продолжайте читать, как мы демонстрируем, присваивая легко запоминающееся имя нашему Raspberry Pi.
Почему я хочу это сделать?
Скорее всего, ваша домашняя сеть использует назначения IP-адресов DHCP, что означает, что каждый раз, когда устройство покидает сеть и возвращает новый, ему назначается новый IP-адрес. Даже если вы устанавливаете статический IP-адрес для часто используемого устройства (например, вы устанавливаете свой ящик Raspberry Pi, чтобы он всегда был назначен номеру 192.168.1.99
), вы все еще должны зафиксировать это совершенно не интуитивное число в памяти. Кроме того, если вам когда-либо понадобится изменить номер по какой-либо причине, вам придется вспомнить новый номер на его месте..
Это не конец света, но это неудобно. Зачем беспокоиться о запоминании IP-строк, когда вы можете дать локальным устройствам легко запомнить имена, такие как raspberrypi.local
или же mediaserver.local
?
Теперь некоторые из вас (особенно те, кто обладает более глубокими знаниями DNS, имен доменов и других структур сетевых адресов), возможно, задаются вопросом, в чем заключается подвох. Нет ли врожденного риска или проблемы в том, чтобы просто присвоить доменное имя вашей существующей сети? Здесь важно отметить большой различие между полностью определенными доменными именами (FQDN), которые являются официально признанными суффиксами для доменов верхнего уровня (например, .ком
часть www.howtogeek.com
что означает How-To Geek - коммерческий веб-сайт) и доменные имена, которые либо не распознаются глобальной системой именования / DNS, либо полностью зарезервированы для использования в частной сети..
Например, .внутренний
на момент написания статьи не является полным доменным именем; в мире нет зарегистрированных доменов, которые заканчиваются на .внутренний
и, таким образом, если вы должны настроить свою частную сеть для использования .внутренний
для локальных адресов не было бы шанса конфликта DNS. Это может, однако, измениться (хотя шансы невелики) в будущем, если .внутренний
стало официальным полным доменным именем и адресами, заканчивающимися на .внутренний
были внешне разрешаемы через публичные DNS-серверы.
И наоборот, .местный
домен, был официально зарезервирован как специальное доменное имя (SUDN) специально для внутреннего пользования сетью. Он никогда не будет настроен как полное доменное имя, и поэтому ваши собственные локальные имена никогда не будут конфликтовать с существующими внешними адресами (например,. howtogeek.local
).
Что мне нужно?
Секретный соус, который обеспечивает работу всей локальной системы разрешения DNS, известен как многоадресная служба доменных имен (mDNS). Забавно, что на самом деле существует две реализации mDNS, одна от Apple, а другая от Microsoft. Реализация mDNS, созданная Apple, поддерживает их популярную службу обнаружения локальной сети Bonjour. Реализация Microsoft известна как Link-local Multicast Name Resolution (LLMNR). Внедрение Microsoft никогда не получало широкого распространения из-за его несоблюдения различных стандартов и риска безопасности, связанного с захватом доменов для локального использования..
Поскольку в реализации mDNS от Apple Bonjour имеет гораздо более широкую популярность, лучшую поддержку и огромное количество приложений для больших и малых платформ, мы решили использовать его в этом руководстве.
Если в вашей сети есть компьютеры с операционной системой Apple OS X, вам ничего не нужно делать, кроме как следовать инструкциям по настройке на стороне Raspberry Pi (или другого устройства Linux). Вы готовы к работе, так как ваши компьютеры уже поддерживают его.
Если вы работаете на компьютере с Windows, на котором не установлен iTunes (на котором установлен клиент Bonjour для разрешения mDNS), вы можете устранить недостаток поддержки нативного mDNS, загрузив вспомогательное приложение Apple Bonjour Printer Service здесь. Хотя страница загрузки делает ее похожей на инструмент только для принтера, она эффективно добавляет поддержку mDNS / Bonjour по всем направлениям в Windows.
Установка поддержки Bonjour на Raspberry Pi
Первым делом стоит либо подтянуть терминал на своем Pi, либо подключиться к удаленному терминалу (если у вас безголовый компьютер) через SSH. Оказавшись в терминале, найдите время для обновления и обновления apt-get. (Примечание: если вы только что сделали это как часть другого из наших руководств по Raspberry Pi, не стесняйтесь пропустить этот шаг.)
sudo apt-get update
sudo apt-get upgrade
После завершения процесса обновления / обновления пришло время установить Avahi - фантастическую небольшую реализацию mDNS с открытым исходным кодом. Введите в командной строке следующую команду:
sudo apt-get установить avahi-daemon
После завершения процесса установки вам даже не нужно перезагружать устройство. Ваш Raspberry Pi начнет немедленно распознавать запросы локальной сети по имени хоста (по умолчанию «Raspberry Pi
") в raspberrypi.local
.
Конкретной машиной, которую мы использовали для этого теста, была та же Raspberry Pi, которую мы превратили в индикатор погоды окружающей среды, а затем позже изменили локальное имя хоста, поэтому, когда мы пойдем искать новоиспеченного .местный
адрес, мы будем искать weatherstation.local
вместо raspberrypi.local
.
Опять же, для акцента, часть, которая предшествует суффиксу .local всегда имя хоста устройства. Если вы хотите, чтобы ваш музыкальный стример Raspberry Pi имел местное название jukebox.local
, например, вам нужно следовать этим инструкциям, чтобы изменить имя хоста Pi.
Идите вперед и пингуйте новый .местный
адрес на машине, с которой вы хотите получить доступ к устройству:
Успех! weatherstation.local преобразуется в 192.168.1.100, который является фактическим IP-адресом устройства в локальной сети. Отныне любое приложение или служба, для которых ранее требовался IP-адрес Raspberry Pi, теперь может вместо этого использовать адрес .local..