Я не нашёл гайда на форуме, поэтому решил поделиться своим опытом. Клиенты Apple Airplay или Airprint используют multicast DNS для обнаружения колонок и принтеров в сети. mDNS использует IP-адрес 224.0.0.251, который «административно ограничен» и не покидает подсеть. «mdns-repeater» — это mDNS-репитер для Linux, который пересылает/повторяет mDNS-пакеты (UDP 5353) между широковещательными доменами. Всё это основано на отличной работе:
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 с включённым контейнером ()
bridge с vlan-фильтрацией=yes ()
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"
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 с включённым контейнером ()
bridge с vlan-фильтрацией=yes ()
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"
