Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Форум
    RouterOS
    Как настроить mDNS-repeater на MikroTik с использованием контейнера / Docker

    Как настроить mDNS-repeater на MikroTik с использованием контейнера / Docker

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Как настроить mDNS-repeater на MikroTik с использованием контейнера / Docker, RouterOS
     
    theprojectgroup
    Guest
    #1
    0
    04.03.2023 20:32:00
    Я не нашёл гайда на форуме, поэтому решил поделиться своим опытом. Клиенты Apple Airplay или Airprint используют multicast DNS для обнаружения колонок и принтеров в сети. mDNS использует IP-адрес 224.0.0.251, который «административно ограничен» и не покидает подсеть. «mdns-repeater» — это mDNS-репитер для Linux, который пересылает/повторяет mDNS-пакеты (UDP 5353) между широковещательными доменами. Всё это основано на отличной работе: https://github.com/TheMickeyMike/docker-mdns-repeater-mikrotik https://github.com/geekman/mdns-repeater https://github.com/monstrenyatko/docker-mdns-repeater https://github.com/TheMickeyMike/docker-mdns-repeater-mikrotik

    Wireshark захват  
    Здесь виден mDNS-запрос с iPhone в vlan11-guest (192.168.66.103), который обнаруживает Airplay-приёмник (Belkin Soundform Connect с именем Neumann KH 120) в vlan1 (192.168.99.122):  


    Вывод отладочной информации mdns-repeater (-d) в контейнере /container/shell номер 1  
    /bin/mdns-repeater -f -d eth0.1 eth0.11  
    mdns-repeater: dev eth0.1 addr 192.168.99.111 mask 255.255.255.0 net 192.168.99.0  
    mdns-repeater: dev eth0.11 addr 192.168.66.114 mask 255.255.255.0 net 192.168.66.0  
    192.168.66.103 (45 байт) -> eth0.1  
    192.168.66.103 (45 байт) -> eth0.1  
    192.168.66.103 (90 байт) -> eth0.1  
    192.168.99.122 (281 байт) -> eth0.11  
    192.168.66.103 (45 байт) -> eth0.1  
    192.168.99.122 (343 байт) -> eth0.11  
    192.168.99.122 (424 байта) -> eth0.11  
    192.168.66.103 (45 байт) -> eth0.1

    Конфигурация MikroTik hAP AX3 с включённым контейнером (https://help.mikrotik.com/docs/display/ROS/Container)  
    bridge с vlan-фильтрацией=yes (https://help.mikrotik.com/docs/display/ROS/Basic+VLAN+switching#BasicVLANswitching-Otherdeviceswithoutabuilt-inswitchchip)  
    vlan1 = основной LAN с Airplay и Airprint-приёмниками  
    vlan11-guest = гестовая VLAN для гостей  
    добавлен контейнерный интерфейс (veth-trunk) в мост и настроен как тегированный участник (PVID неважен) vlan1 и vlan11

    ### Настройка интерфейса VETH для контейнера ###  
    # Дать любой IP из пространства, которое вы точно не используете  
    # Интерфейс должен иметь IP, иначе контейнер не запустится ;-P  
    /interface veth  
    add address=172.17.0.3/24 comment="docker mdns-repeater interface for vlan 1 and 11" gateway=172.17.0.1 name=veth-trunk

    ### Настройка VLAN и Bridge ###  
    /interface vlan  
    add comment="vlan1 LAN" interface=bridge1 name=vlan1-lan vlan-id=1  
    add comment="vlan11 Guest" interface=bridge1 name=vlan11-guest vlan-id=11

    /interface bridge port  
    add bridge=bridge1 comment="docker mdns-repeater interface for vlan 1 and 11 PVID НЕ ВАЖЕН!" interface=veth-trunk

    /interface bridge vlan  
    add bridge=bridge1 comment="vlan1 LAN" tagged=bridge1,vlan1-lan,veth-trunk vlan-ids=1  
    add bridge=bridge1 comment="vlan11 Guest" tagged=bridge1,vlan11-guest,ether1,ether2,veth-trunk vlan-ids=11

    ### Настройка контейнера ###  
    # Ограничение использования памяти  
    /container config  
    set ram-high=256.0MiB registry-url=https://registry-1.docker.io tmpdir=usb1-part1/pull

    # задать vlan-интерфейсы для контейнера: eth0.1 = vlan1, eth0.11 = vlan11  
    /container envs  
    add comment="mdns-repeater (FLO-254)" key=REPEATER_INTERFACES name=repeater_envs value="eth0.1 eth0.11"

    # Внешний USB-SSD: usb1-part1  
    /container  
    add comment="mdns-repeater для vlan 1 & 11" envlist=repeater_envs hostname=mdns-repeater interface=veth-trunk logging=yes root-dir=usb1-part1/mdns-repeater start-on-boot=yes

    Firewall  
    Ваши клиенты теперь смогут обнаруживать принтеры и колонки, но подключиться не смогут без правил в файерволе:  
    /ip/firewall/filter/print chain=Forward_vlan11_guest

    3    ;;; из vlan11-guest в vlan1 Airplay Belkin Soundform  
         chain=Forward_vlan11_guest action=accept dst-address=192.168.99.122 log=yes log-prefix="vlan11-guest > AirPlay Belkin"

    4    ;;; из vlan11-guest в vlan1 Airplay Apple TV  
         chain=Forward_vlan11_guest action=accept dst-address=192.168.99.104 log=yes log-prefix="vlan11-guest > AirPlay Apple TV"

    5    ;;; из vlan11-guest в vlan1 KLARtext HP LJ P1102w — Internet Printing Protocol (IPP)  
         chain=Forward_vlan11_guest action=accept protocol=tcp dst-address=192.168.99.249 dst-port=631 log=yes log-prefix="vlan11-guest > KLARtext"
     
     
     
    pronet
    Guest
    #2
    0
    31.05.2023 09:39:00
    Если нужны бинарники, у меня они уже «запечены» и загружены. Скачивайте их здесь: https://github.com/proNET-Southtirol/docker-mdns-repeater-mikrotik/releases

    Загрузите файл *.tar в корневой каталог вашего Mikrotik через Winbox или SCP.

    При создании контейнера используйте следующую команду (пример для x64 CHR):  
    /container  
    add file=mdns_amd64.tar comment="mdns-repeater для vlan 1 & 11" envlist=repeater_envs hostname=mdns-repeater interface=veth-trunk logging=yes root-dir=usb1-part1/mdns-repeater start-on-boot=yes

    Привет из Италии!
     
     
     
    pfturner
    Guest
    #3
    0
    09.06.2023 13:36:00
    Привет! Я загрузил файл mdns.arm64.tar на свой Mikrotik (RB5009), но при выполнении следующей команды получаю ошибку: add file=mdns_arm64.tar comment="mDNS-repeater для VLAN 1 и 20" envlist=repeater_envs hostname=mdns-repeater interface=VETH-mDNS-Repeater logging=yes root-dir=usb1-part1/mdns-repeater start-on-boot=yes. Я уже настроил VETH с таким именем, как указано выше. В разделе «Файлы» отображается директория usb1-part1. Можешь подсказать, в чем может быть проблема? Спасибо!
     
     
     
    pfturner
    Guest
    #4
    0
    09.06.2023 13:38:00
    Ошибка: не удалось добавить — это сообщение об ошибке, которое я получаю.
     
     
     
    pfturner
    Guest
    #5
    0
    09.06.2023 19:37:00
    Я установил это на обычный диск1 маршрутизатора RB5009… Но у меня возникла проблема: клиент, подключенный к гостевой сети, не видит принтер или устройства Apple Music в основной сети. Если я выполню следующий шаг, то перестаю выходить в интернет при подключении к основной сети (в гостевой сети интернет работает):

    /interface vlan add comment=“vlan1 LAN” interface=bridge1 name=vlan1-lan vlan-id=1

    Независимо от того, включен или отключен vlan1, при работе в гостевом режиме я не вижу принтеры/AirPlay в основной сети. При этом в Bridge-Vlans отображается vlan1, но я не могу его изменить или удалить… mDNS в контейнерах показывает статус «running»…
     
     
     
    alex234
    Guest
    #6
    0
    13.07.2023 19:37:00
    Я успешно установил программное обеспечение на обычный диск1 маршрутизатора RB5009. Однако столкнулся с проблемой: клиент в гостевой сети не может обнаружить принтер или устройства Apple Music, находящиеся в основной сети. Чтобы разобраться, я попытался выполнить следующие команды: /interface vLan add comment=“vlan1 LAN” interface=bridge1 name=vlan1-lan vlan-id=1 После этого шага заметил, что при подключении к основной сети интернет стал недоступен, хотя в гостевой сети доступ к интернету остался. Я пробовал включать и выключать vlan1, но независимо от его состояния не могу увидеть принтеры или устройства Airplay из основной сети, находясь в гостевом режиме. Кроме того, в разделе Bridge-Vlans отображается vlan1, но я не могу ни изменить, ни удалить его. В настройках контейнера статус mDNS указан как «запущен».
     
     
     
    intania
    Guest
    #7
    0
    19.08.2023 05:28:00
    Работает отлично, спасибо!
     
     
     
    smileyk
    Guest
    #8
    0
    15.01.2024 05:21:00
    Привет! Огромное спасибо за этот контейнер. Запустил его на CHR, очень доволен. Одно замечание: когда в этом контейнере eth0.x, eth0.y и eth0.z по отдельности получают IP через DHCP под одним и тем же MAC-адресом, этот MAC-адрес меняется каждый раз при перезагрузке RouterOS. Это значит, что статический адрес нельзя назначить — есть ли способ зафиксировать MAC-адрес (чтобы он сохранялся после перезагрузок) после его первого назначения?
     
     
     
    mantouboji
    Guest
    #9
    0
    15.01.2024 15:13:00
    eth0, а не eth0.1
     
     
     
    pfturner
    Guest
    #10
    0
    12.02.2024 21:20:00
    Я успешно пользуюсь этим — спасибо! У меня есть вопрос. Сейчас у меня настроены VLAN 10 — домашний, VLAN 20 — гости и VLAN 30 — IoT. В данный момент AirPlay-устройства находятся в VLAN 20 и доступны из VLAN 10 через eth0.10 и eth0.20. Когда я попытался переместить устройства в VLAN 30 и сделать их доступными из VLAN 10 и 20, ничего не заработало, хотя я проставил теги на все VLAN через интерфейс Veth и изменил конфигурацию на eth0.10, eth0.20, eth0.30. Порядок тоже менял, но и это не помогло. Есть идеи? Еще раз спасибо!
     
     
     
    pfturner
    Guest
    #11
    0
    13.02.2024 14:35:00
    Я понял — сначала нужно было остановить контейнер, внести изменения, убедиться, что предыдущие DHCP-резервации очищены, перезагрузиться… Видимо, именно такая комбинация действий и сработала! Я не специалист по сетям.
     
     
     
    nightraven
    Guest
    #12
    0
    09.03.2024 23:58:00
    Мне нужно было сделать правило разрешения в обе стороны — с VLAN1 (iPhone) на VLAN2 (Samsung TV) и обратно. Если этого не сделать, AirPlay на Samsung TV вообще ничего не воспроизводит, так что можно было бы просто добавить телевизор в VLAN1… Просто хотел поделиться этим, чтобы вы не тратили X часов на отладку, как я. Или я что-то неправильно настроил? РЕДАКТИРОВАНИЕ: теперь проверил логи — Samsung TV перед началом стриминга отправляет один UDP-пакет с новым статусом соединения на мой iPhone.
     
     
     
    alex234
    Guest
    #13
    0
    11.03.2024 10:19:00
    Одна из моих наблюдений: каждый раз при перезагрузке RouterOS контейнер с интерфейсами eth0.x, eth0.y и eth0.z получает разные IP-адреса по DHCP, но при этом использует один и тот же MAC-адрес. Поскольку MAC-адрес меняется после каждой перезагрузки, невозможно назначить для него статическую аренду. Есть ли способ сохранить MAC-адрес (даже после перезагрузок), как только он был первоначально назначен?
     
     
     
    alex234
    Guest
    #14
    0
    11.03.2024 10:19:00
    Понимаю, у тебя сейчас VLAN 10 для дома, VLAN 20 для гостей и VLAN 30 для IoT-устройств. Ты разместил устройства типа AirPlay в VLAN 20 и делаешь их доступными для VLAN 10 через eth0.10 и eth0.20.
     
     
     
    pfturner
    Guest
    #15
    0
    11.03.2024 10:45:00
    Я разобрался с этим и теперь могу подключать устройства в VLAN 30 и одновременно обмениваться данными с VLAN 10 и 20. Спасибо.
     
     
     
    pfturner
    Guest
    #16
    0
    14.03.2024 14:01:00
    Я хочу, чтобы мои Rokus, колонки в доме и принтер работали в VLAN 30, поэтому именно для них я настроил DHCP. Чтобы заставить mDNS репитер работать в моей сети, у меня такая схема: Native VLAN 1 — управление VLAN 10 — личное использование VLAN 20 — гости VLAN 30 — IoT

    В настройках среды у меня есть eth0.10, eth0.20 и eth0.30.

    Проблем с настройкой и использованием устройств в VLAN10, VLAN20 и VLAN30 у меня нет. Однако мне бы хотелось объединить VLAN10 с Native VLAN, ведь я никому не разрешаю доступ ни в Native VLAN, ни в VLAN10.

    Когда я пытался добавить eth0.1 или просто eth0 в настройки среды, mDNS репитер не получает IP-адрес в этом диапазоне. Есть идеи? Спасибо!
     
     
     
    alex234
    Guest
    #17
    0
    25.03.2024 16:55:00
    Я не уверен, что полностью понял вашу конфигурацию, но похоже, вы пытаетесь упростить сетевые настройки, объединив VLAN10 и использовав только native VLAN. Однако при попытке настроить устройство с eth0.1 или eth0 в настройках среды возникают проблемы с получением IP-адреса для mDNS-репитера в этом диапазоне. Чтобы разобраться с этой проблемой, стоит рассмотреть следующие шаги:

    Проверьте конфигурацию VLAN: Убедитесь, что настройки VLAN на вашем коммутаторе или роутере корректно настроены для пропуска трафика native VLAN, а VLAN10 правильно сконфигурирован или удалён, если вы его объединяете.

    Проверьте конфигурацию DHCP: Убедитесь, что DHCP-сервер настроен на выдачу IP-адресов для устройств в native VLAN или на интерфейсе eth0. Посмотрите таблицу DHCP-лизов, чтобы проверить, запрашивает ли mDNS-репитер IP-адрес и выдаётся ли он.

    Проверьте правила файрвола и маршрутизации: Проверьте наличие правил файрвола или маршрутизации, которые могут блокировать или перенаправлять трафик в VLAN10 или native VLAN. Убедитесь, что трафик свободно проходит между устройствами в одной VLAN или на одном интерфейсе.

    Отладьте сетевые интерфейсы: Используйте инструменты диагностики сети для проверки интерфейсов вашего устройства (например, eth0 и eth0.1). Обратите внимание на ошибки или проблемы с подключением, такие как отсутствующая маркировка VLAN или неправильно настроенные параметры сети.

    Проверьте подключение: Выполните тесты соединения между устройствами в native VLAN и mDNS-репитером, чтобы убедиться, что трафик доходит до устройства и оно может взаимодействовать с другими устройствами в сети.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры