Представьте, что у вас дома вечеринка. Все гости – это устройства в вашей сети: компьютеры, принтеры, медиасерверы, смартфоны. Но есть проблема: никто не знает, как друг друга найти. Обычно, чтобы подключиться к какому-нибудь устройству, нужно помнить его IP-адрес (а кто вообще запоминает 192.168.1.57?).
Вот тут на сцену выходит Avahi и mDNS – такие себе вечеринщики, которые ходят по комнате и всем представляют друг друга:
– «Привет, я принтер HP, меня можно найти по имени hp.local!»
– «А я медиасервер! Ищу компанию для стриминга фильмов, зовите меня plex.local!»
Теперь давайте разберёмся, как это работает.
mDNS (Multicast DNS) – анонимный коммутатор в мире IP-адресов
Когда вы вводите, например, raspberrypi.local в браузере или подключаетесь к smb://nas.local, ваш компьютер отправляет специальный multicast-запрос в локальную сеть:
📢 «Эй, кто тут raspberrypi.local?»
Если в сети есть устройство с таким именем, оно радостно отвечает:
👋 «Это я! У меня IP 192.168.1.42»
После этого подключение происходит автоматически, и вам не нужно копаться в роутере, выслеживая IP-адреса.
Avahi – весельчак, который всем помогает знакомиться
Avahi – это сервис, который управляет mDNS в Linux. Он делает три вещи:
- Обнаруживает устройства в сети, которые поддерживают mDNS (например, принтеры, медиасерверы, другие ПК).
- Регистрирует ваш компьютер в сети, чтобы другие могли его найти по имени (ubuntu.local, server.local).
- Объявляет сервисы, например, что на вашем ПК работает файловый сервер (smb://myserver.local) или медиаплеер (http://kodi.local).
Если бы Avahi был человеком, он бы ходил по офису и раздавал всем визитки:
📢 «Этот парень раздаёт файлы, а этот запускает игры по сети»
Где это полезно?
- Linux + macOS + Windows в одной сети
– На macOS уже есть встроенный mDNS (Apple называет его Bonjour).
– На Linux Avahi добавляет совместимость с этим протоколом.
– На Windows можно установить Bonjour (или Avahi) и тоже участвовать в вечеринке. - Домашние сервера и Raspberry Pi
– Чтобы не искать IP, просто вводите raspberrypi.local и подключаетесь. - Принтеры, камеры, медиасерверы
– CUPS (система печати) использует Avahi для поиска принтеров.
– Kodi, Plex, DLNA-серверы используют mDNS, чтобы их находили другие устройства. - Игры и p2p
– Некоторые сетевые игры автоматически находят серверы через mDNS (Minecraft, OpenTTD).
Как проверить, работает ли Avahi?
🟢 Просмотр всех устройств и сервисов в сети
avahi-browse -a
(Это как заглянуть в список гостей вечеринки.)
🟢 Проверка, как ваш ПК зарегистрирован в сети
avahi-resolve-host-name mypc.local
(Если он не отвечает, значит, он либо стесняется, либо Avahi не запущен.)
Если не работает, что делать?
Убедитесь, что Avahi установлен:
sudo apt install avahi-daemon
Запустите и включите его:
sudo systemctl start avahi-daemon
sudo systemctl enable avahi-daemon
Если что-то не так, проверьте логи:
journalctl -u avahi-daemon --no-pager | tail -n 20
Если вы устали запоминать IP-адреса своих устройств – Avahi и mDNS спасут вас. Они работают в фоновом режиме и создают ощущение, что всё «просто работает».
Ну, а если вы не хотите, чтобы ваше устройство светилось в сети, то можно отключить Avahi (да-да, как делают шпионы или хакеры в фильмах):
sudo systemctl stop avahi-daemon
sudo systemctl disable avahi-daemon
(Это как выйти с вечеринки, чтобы никто не знал, что вы там были)
Теперь вы знаете, как Avahi делает жизнь проще. А главное – больше не надо искать IP-адреса, они сами найдут вас!