Что такое avahi linux
Обновлено: 21.11.2024
Учетная запись платформы Avahi (zeroconf, Apple Bonjour), предоставленная Debian. Основано на пакетах, поставляемых с Debian 10 (buster) и Debian 11 (bulseye).
- Введение
- Утилиты Avahi
- Разрешение имени хоста
- Использование avahi-browse
- Интеграция пакета Debian с Avahi
- Отключение демона avahi
- Регистрация новой службы в Avahi
- Услуги печати и сканирования
Введение
- публиковать сервисы и хосты, работающие в локальной сети, и
- обнаружение служб и хостов, работающих в локальной сети.
Предполагается, что локальная сеть является надежной. Брандмауэр должен разрешать многоадресный трафик через порт 5353. Установка Avahi проста и впоследствии не требует обслуживания.
Машины, на которых установлены чашки, уже будут иметь avahi-daemon в качестве рекомендуемого пакета.
Утилиты Avahi
По сути, avahi-daemon спокойно продолжит свою работу по публикации и обнаружению сетевых служб и хостов, и большинству пользователей от него потребуется немного больше, кроме разрешения имени хоста.
Разрешение имени хоста
Разрешение имени хоста выполняется с помощью libnss-mdns, рекомендованного avahi-daemon. В противном случае сделайте
Как поясняется в /usr/share/doc/libnss-mdns/README.Debian, послеустановочный скрипт пакета изменяет строку в /etc/nsswitch.conf читать
Домен mDNS .local — это место, где находятся хосты в сети, и mdns4_minimal обрабатывает запросы только для этого домена. Разрешение имени хоста выполняется автоматически с помощью таких команд, как
Чтобы преобразовать имя хоста в адрес IPv4 с помощью avahi-resolve:
Обратный процесс выполняется с
Использование avahi-browse
Чтобы получить полное представление о службах и хостах в сети:
Запись из вывода одной такой команды будет использоваться для иллюстрации общих характеристик любой записи.
Демон музыкального проигрывателя – это понятное название службы. Служба работает на порту 6600 компьютера desktop.local с IPv4-адресом 192.168.7.20. текстовая запись (txt =) в этом случае пуста. Если имя службы недоступно, оно будет заменено типом службы. Вся эта информация публикуется и будет доступна клиенту, желающему получить доступ к услуге.
Список всех имен служб, известных avahi-daemon, предоставляется
выдает список соответствующих типов служб и имен протоколов приложений. Тип службы _mpd._tcp соответствует удобочитаемому демону музыкального проигрывателя. Этот сервис можно просматривать с помощью
Отображение типов служб, обнаруженных в сети:
Интеграция пакета Debian с Avahi
Некоторое указание на пакеты Debian, поддерживающие публикацию и обнаружение служб, можно найти в libavahi-client3:
Демон Avahi mDNS/DNS-SD реализует архитектуру Apple Zeroconf (также известную как «Rendezvous» или «Bonjour»). Демон регистрирует локальные IP-адреса и статические службы, используя mDNS/DNS-SD, и предоставляет два API-интерфейса IPC для локальных программ, чтобы использовать кеш записей mDNS, поддерживаемый avahi-daemon. Во-первых, это так называемый «простой протокол», который используется исключительно avahi-dnsconfd (демон, который настраивает одноадресные DNS-серверы, используя информацию о сервере, опубликованную через mDNS) и nss-mdns (плагин libc NSS, обеспечивающий разрешение имен через mDNS). Наконец, есть интерфейс D-Bus, который предоставляет богатый объектно-ориентированный интерфейс для приложений, поддерживающих D-Bus.
При запуске avahi-daemon интерпретирует свой файл конфигурации /etc/avahi/avahi-daemon.conf и считывает фрагменты XML из /etc/avahi/services/*.service которые могут определять статические службы DNS-SD. Если вы включите publish-resolv-conf-dns-servers в avahi-daemon.conf, файл /etc/resolv.conf также будет прочитан.
Параметры
-f | --file= ФАЙЛ Укажите файл конфигурации для чтения. (по умолчанию: /etc/avahi/avahi-daemon.conf) -D | --daemonize Демонизировать после запуска. Подразумевается --syslog. -с | --syslog Журнал в системный журнал вместо STDERR. Подразумевается --daemonize. --debug Увеличить уровень детализации до уровня отладки. --no-rlimits Не применять ограничения ресурсов, как указано в файле конфигурации. (Дополнительную информацию см. в setrlimit(2)) --no-drop-root Не сбрасывать привилегии суперпользователя после запуска и не требовать запуска демона с правами суперпользователя. Мы рекомендуем не использовать эту опцию. --no-chroot Не выполнять chroot(2) демон. Эта опция доступна только при компиляции с поддержкой chroot(). --no-proc-title Не изменять имя процесса во время работы. Если эта опция не указана, avahi-daemon будет отражать свое текущее состояние и выбранное имя хоста в заголовке процесса. -к | --kill Убить уже запущенный демон avahi.(эквивалентно отправке SIGTERM) -r | --reload Сообщить уже работающему демону avahi, чтобы он перечитал /etc/resolv.conf (если вы включили publish-resolv-conf-dns-servers в avahi-daemon.conf i>) файлы из /etc/avahi/services/. Обратите внимание, что это не приведет к перезагрузке файла /etc/avahi/avahi-daemon.conf. (эквивалентно отправке SIGHUP) -c | --check Возвращать 0 в качестве кода возврата, когда avahi-daemon уже запущен. -ч | --help Показать справку -v | --version Показать информацию о версии
Файлы
/etc/avahi/avahi-daemon.conf: файл конфигурации по умолчанию для avahi-daemon, avahi-daemon.conf(5) для получения дополнительной информации.< /p>
/etc/avahi/hosts: дополнительные статические сопоставления имен хостов для публикации в mDNS, см. avahi.hosts(5) для получения дополнительной информации.
/etc/avahi/services/*.service: определения статических служб, см. avahi.service(5) для получения дополнительной информации.
Сигналы
SIGHUP: avahi-daemon перезагрузит данные одноадресного DNS-сервера из /etc/resolv.conf и определения статических служб из /etc/avahi/services/ . (То же, что и --reload)
SIGUSR1: avahi-daemon выгружает локальные и удаленные кэшированные записи ресурсов в системный журнал.
Avahi — это служба mDNS/DNS, которая реализует механизм Apple Zeroconf. Zeroconf также известен как Rendezvous или Bonjour. Zeroconf выполняет свою основную задачу.
- Автоматическое назначение числовых сетевых адресов
- Автоматическое распределение и разрешение имен хостов,
- Автоматическое обнаружение сетевых служб, таких как печатающие устройства.
Avahi-daemon можно установить с помощью yum и apt, как показано ниже.
Установка Avahi
После установки avahi, как мы знаем, avahi обычно работает как демон. Мы запустим демона avahi. Используя сценарии инициализации, можно выполнить следующую команду. Имейте в виду, что avahi требует привилегий root, как видно из следующего снимка экрана, он запрашивает пароль root.
Запуск Avahi
Еще один способ запустить avahi-daemon — использовать команду systemctl, как показано ниже. с именем службы avahi avahi-daemon. Также можно увидеть текущий статус службы avahi
Запуск Avahi
Остановить avahi в системе инициализации можно с помощью следующей команды. Для остановки службы avahi также требуются привилегии root.
Остановка Авахи
Демон Avahi можно включить для автоматического запуска при запуске системы с помощью команды systemctl, как показано ниже.
Включить демон Avahi
Демон Avahi можно отключить для автоматического запуска в системе с помощью следующей команды.
Отключить демон Avahi
Файлы конфигурации Avahi находятся в /etc/avahi . Файл конфигурации демона Avahi называется avahi-daemon.conf . Этот файл имеет другой тип возможностей конфигурации.
Имена хостов и IP-адреса сервера Avahi хранятся в файле hosts. Сервисы хранятся в каталоге сервисов в виде файла XML.
Файлы конфигурации
Добавление хоста в службу DNS avahi аналогично добавлению файла hosts в Linux. Добавьте следующую строку в файл хоста, как показано на скриншоте, а затем перезапустите демон avahi.
Добавить хост
Добавить сервисы сложнее, чем добавить хосты. Существует файл конфигурации XML, используемый для описания сервисов, и этот файл будет помещен в /etc/avahi/services/. Следующий файл конфигурации службы определяет файл FTP, который обслуживается через порт tcp 21.
Добавить услугу
Демон Avahi обнаруживает сетевые ресурсы, выделяет IP-адреса без DHCP-сервера, делает компьютер доступным по его локальному имени, выступая в качестве DNS-сервера, и облегчает совместное использование файлов и принтеров.
Что такое демон Avahi?
Демон Avahi — это демон по умолчанию в Linux, который использует системные ресурсы и снижает производительность сети. Отключить демон Avahi нельзя, сняв флажок с него в списке системных служб. Чтобы отключить Avahi в системах Ubuntu, необходимо изменить файл avahi-daemon. В операционных системах Debian Linux используется та же процедура, но имя демона может быть другим. Пакеты Avahi-discover и Service Discovery доступны для Avahi. Демон Avahi присутствует по умолчанию и позволяет вам обнаруживать сетевые ресурсы и подключаться к ним.
Его основные функции:
- Автоматическое назначение IP-адреса даже без DHCP-сервера.
- Действовать как DNS (каждый компьютер доступен по имени nameMachine.local).
- Публикация сервисов и облегчение доступа.
Avahi — это реализация протокола Zeroconf.
Каковы возможные недостатки Avahi?
- Он занимает память (около 248 КБ)
- Открывает 2 сетевых порта (UDP 32768 и 5353)
В некоторых случаях сообщалось о снижении производительности сети.
Как отключить демон Avahi?
В Ubuntu 7.04
Если вы хотите отключить его, недостаточно просто отключить его из списка служб. Вам необходимо:
- Отредактируйте файл /etc/default/avahi-daemon:
- Измените строку: AVAHI_DAEMON_START = 1
- до: AVAHI_DAEMON_START = 0
Примечание. Команды sudo update-rc.d-f avahi-daemon remove недостаточно для отключения демона Avahi.
В Ubuntu 7.10
- Перейдите к списку служб, чтобы отключить Avahi:
- Системное меню > Администрирование > Службы
В системах Debian
Имя демона может быть другим, но метод остается тем же для систем на базе Debian:
Дополнительная информация
-
Для Avahi доступно несколько пакетов Debian:
Апплет service-discovery-applet позволяет обнаруживать доступные службы в сети и легко подключаться.
Приложение avahi-discover позволяет просматривать доступные службы.
gnome-user-share может легко обмениваться файлами через WebDAV (Apache2) с Avahi.
Читайте также: