mDNS Repeater
mDNS Repeater (Multicast DNS Repeater) lets you relay Multicast DNS packets between different network segments (VLANs), enabling device and service discovery across subnet boundaries.
Overview
mDNS (Multicast DNS, also known as Avahi, Bonjour, Zeroconf) is a protocol for discovering devices and services on a local network without the need to configure a DNS server. mDNS uses the multicast address 224.0.0.251 (IPv4) and ff02::fb (IPv6), and by default packets do not leave the local subnet.
Problem: In segmented networks with multiple VLANs, devices in one VLAN cannot discover services in another VLAN.
Solution: mDNS Repeater relays mDNS packets between the specified interfaces while preserving the original source addresses.
Typical use cases
Home Automation (smart home):
- Apple HomeKit devices in an IoT VLAN are reachable from the main network
- Integration with Home Assistant, Homebridge
- Control of smart lighting, climate, and cameras
Media streaming:
- Apple AirPlay (AirPlay 2) for audio/video streaming
- Google Chromecast discovery across VLANs
- Spotify Connect, DLNA/UPnP devices
Network services:
- Discovery of network printers (AirPrint, IPP)
- Scanners and multifunction devices
- NAS (Synology, QNAP) in a dedicated VLAN
Enterprise networks:
- Shared printers for different departments
- Wireless presentation systems (Apple TV, Miracast)
- Conference rooms with AirPlay/Chromecast
How mDNS Repeater works
- A device in VLAN A sends an mDNS query multicast to 224.0.0.251
- The VyOS mDNS repeater intercepts the packet on the VLAN A interface
- The repeater relays the packet (without changing the source) to the other configured interfaces
- Devices in VLAN B receive the query and respond
- The repeater relays the responses back to VLAN A
- The device in VLAN A discovers the service in VLAN B
Important: mDNS Repeater operates at the link layer and does not change the source IP addresses. This means routing must be configured between the VLANs.
Technical details
Multicast addresses:
- IPv4:
224.0.0.251 - IPv6:
ff02::fb
UDP port: 5353
Service types (examples):
_airplay._tcp- Apple AirPlay_homekit._tcp- Apple HomeKit_googlecast._tcp- Google Chromecast_ipp._tcp- Internet Printing Protocol_printer._tcp- Printers_http._tcp- HTTP services_ssh._tcp- SSH services_smb._tcp- Samba/Windows shares_afpovertcp._tcp- Apple File Protocol
Basic configuration
Minimal setup
For the mDNS repeater to work, you must specify at least 2 interfaces:
set service mdns repeater interface eth1
set service mdns repeater interface eth2
commit
saveThis configuration relays all mDNS packets between eth1 and eth2.
Configuration structure
service mdns repeater
├── disable # Disable the service
├── interface <interface> # Interface for the repeater (minimum 2)
├── ip-version <ipv4|ipv6|both> # IP protocol version
├── allow-service <service> # Restrict services (optional)
└── browse-domain <domain> # Additional domains (optional)Configuring interfaces
Specifying interfaces
# Main network
set service mdns repeater interface eth0
# VLAN 10 - Guest network
set service mdns repeater interface eth1.10
# VLAN 20 - IoT devices
set service mdns repeater interface eth1.20
# VLAN 30 - Multimedia
set service mdns repeater interface eth1.30
commit
saveImportant: You can specify any number of interfaces. mDNS packets will be relayed between all specified interfaces.
Supported interfaces
The mDNS repeater works on the following interface types:
- Physical Ethernet:
eth0,eth1 - VLAN interfaces:
eth1.10,eth1.100 - Bonding interfaces:
bond0 - Bridge interfaces:
br0
IP protocol version
Choosing IPv4, IPv6, or both
By default, the mDNS repeater works for both IP versions. You can restrict it:
# IPv4 mDNS only
set service mdns repeater ip-version ipv4
# IPv6 mDNS only
set service mdns repeater ip-version ipv6
# IPv4 and IPv6 (default)
set service mdns repeater ip-version both
commit
saveRecommendation: Use both if the network uses dual-stack (IPv4 + IPv6).
Restricting services
Allow-service filtering
For security and performance, you can restrict relaying to only the services you need:
# Allow AirPlay only
set service mdns repeater allow-service '_airplay._tcp'
# Allow AirPlay and HomeKit
set service mdns repeater allow-service '_airplay._tcp'
set service mdns repeater allow-service '_homekit._tcp'
# Allow printers
set service mdns repeater allow-service '_ipp._tcp'
set service mdns repeater allow-service '_printer._tcp'
commit
saveWithout allow-service: All mDNS services are relayed (default).
With allow-service: Only the specified services are relayed.
Popular services
# Apple ecosystem
set service mdns repeater allow-service '_airplay._tcp'
set service mdns repeater allow-service '_homekit._tcp'
set service mdns repeater allow-service '_raop._tcp'
set service mdns repeater allow-service '_airplay-audio._tcp'
# Google/Chromecast
set service mdns repeater allow-service '_googlecast._tcp'
set service mdns repeater allow-service '_googlezone._tcp'
# Printing
set service mdns repeater allow-service '_ipp._tcp'
set service mdns repeater allow-service '_ipps._tcp'
set service mdns repeater allow-service '_printer._tcp'
set service mdns repeater allow-service '_pdl-datastream._tcp'
# File services
set service mdns repeater allow-service '_smb._tcp'
set service mdns repeater allow-service '_afpovertcp._tcp'
set service mdns repeater allow-service '_nfs._tcp'
# Media servers
set service mdns repeater allow-service '_http._tcp'
set service mdns repeater allow-service '_spotify-connect._tcp'
set service mdns repeater allow-service '_daap._tcp'
commit
saveAdditional domains
Browse-domain
Some devices use specific domains for discovery:
# The standard mDNS domain .local is already included
# Adding additional domains (rarely needed)
set service mdns repeater browse-domain 'example.local'
commit
saveNote: In 99% of cases this option is not needed. By default, .local is used.
Disabling the service
Temporary disable
To disable the mDNS repeater without removing the configuration:
set service mdns repeater disable
commit
saveRe-enable it:
delete service mdns repeater disable
commit
saveConfiguration examples
Example 1: Simple home network
Topology:
Main Network (192.168.1.0/24) --- eth0
IoT Network (192.168.10.0/24) --- eth1.10Goal: An Apple TV on the main network must discover HomeKit devices in the IoT VLAN.
Configuration:
# Interfaces for the repeater
set service mdns repeater interface eth0
set service mdns repeater interface eth1.10
# Restrict to Apple services only
set service mdns repeater allow-service '_airplay._tcp'
set service mdns repeater allow-service '_homekit._tcp'
set service mdns repeater allow-service '_raop._tcp'
commit
saveExample 2: Enterprise network with printers
Topology:
Management VLAN 10 (10.10.10.0/24) --- eth1.10
IT VLAN 20 (10.10.20.0/24) --- eth1.20
Finance VLAN 30 (10.10.30.0/24) --- eth1.30
Printers VLAN 50 (10.10.50.0/24) --- eth1.50Goal: All departments must see the printers in VLAN 50.
Configuration:
# All VLANs for the printers
set service mdns repeater interface eth1.10
set service mdns repeater interface eth1.20
set service mdns repeater interface eth1.30
set service mdns repeater interface eth1.50
# Printing only
set service mdns repeater allow-service '_ipp._tcp'
set service mdns repeater allow-service '_ipps._tcp'
set service mdns repeater allow-service '_printer._tcp'
commit
saveExample 3: Media network (AirPlay + Chromecast)
Topology:
Living Room VLAN 100 (192.168.100.0/24) --- eth1.100
Bedroom VLAN 101 (192.168.101.0/24) --- eth1.101
Office VLAN 102 (192.168.102.0/24) --- eth1.102Goal: All devices must see the Apple TV and Chromecast in any room.
Configuration:
# All VLANs for media
set service mdns repeater interface eth1.100
set service mdns repeater interface eth1.101
set service mdns repeater interface eth1.102
# AirPlay and Chromecast
set service mdns repeater allow-service '_airplay._tcp'
set service mdns repeater allow-service '_raop._tcp'
set service mdns repeater allow-service '_googlecast._tcp'
set service mdns repeater allow-service '_spotify-connect._tcp'
commit
saveExample 4: Home Assistant + HomeKit
Topology:
Main Network (192.168.1.0/24) --- eth0
Home Assistant VLAN 20 (192.168.20.0/24) --- eth1.20
IoT VLAN 30 (192.168.30.0/24) --- eth1.30Goal: Home Assistant in VLAN 20 controls IoT devices in VLAN 30, and an iPhone on the main network sees all HomeKit devices.
Configuration:
# All three networks
set service mdns repeater interface eth0
set service mdns repeater interface eth1.20
set service mdns repeater interface eth1.30
# HomeKit and IoT protocols
set service mdns repeater allow-service '_homekit._tcp'
set service mdns repeater allow-service '_hap._tcp'
set service mdns repeater allow-service '_http._tcp'
commit
saveExample 5: Full configuration without restrictions
Configuration:
# All VLANs participate in mDNS discovery
set service mdns repeater interface eth0
set service mdns repeater interface eth1.10
set service mdns repeater interface eth1.20
set service mdns repeater interface eth1.30
# IPv4 and IPv6 support
set service mdns repeater ip-version both
# No service restrictions (everything allowed)
# (do not set allow-service)
commit
saveExample 6: Yandex Cloud configuration
Topology:
Public Subnet (10.128.0.0/24) --- eth0
Private Subnet 1 (10.128.1.0/24) --- eth1
Private Subnet 2 (10.128.2.0/24) --- eth2Goal: Internal services are discovered via mDNS across the private subnets.
Configuration:
# Private subnets only (do not include the public eth0)
set service mdns repeater interface eth1
set service mdns repeater interface eth2
# Restrict services
set service mdns repeater allow-service '_http._tcp'
set service mdns repeater allow-service '_ssh._tcp'
set service mdns repeater allow-service '_prometheus-http._tcp'
commit
saveExample 7: VK Cloud multi-tenant configuration
Topology:
Tenant A VLAN 100 (172.16.100.0/24) --- eth1.100
Tenant A VLAN 101 (172.16.101.0/24) --- eth1.101
Tenant B VLAN 200 (172.16.200.0/24) --- eth1.200
Tenant B VLAN 201 (172.16.201.0/24) --- eth1.201Goal: mDNS only within a tenant (isolation between Tenant A and B).
Configuration for Tenant A:
# Tenant A VLANs only
set service mdns repeater interface eth1.100
set service mdns repeater interface eth1.101
commit
saveA separate VyOS for Tenant B or use VRF for isolation.
Firewall rules
Allowing mDNS traffic
mDNS uses UDP port 5353 and the multicast address 224.0.0.251. You must allow this traffic in the firewall.
VyOS 1.4 (Sagitta) - iptables:
# Allow mDNS multicast in INPUT
set firewall name WAN_LOCAL rule 100 action accept
set firewall name WAN_LOCAL rule 100 protocol udp
set firewall name WAN_LOCAL rule 100 destination port 5353
set firewall name WAN_LOCAL rule 100 destination address 224.0.0.251
# Allow in FORWARD (for relaying between VLANs)
set firewall name LAN_FORWARD rule 100 action accept
set firewall name LAN_FORWARD rule 100 protocol udp
set firewall name LAN_FORWARD rule 100 destination port 5353
commit
saveVyOS 1.5 (Circinus) - nftables:
# Input chain
set firewall ipv4 input filter rule 100 action accept
set firewall ipv4 input filter rule 100 protocol udp
set firewall ipv4 input filter rule 100 destination port 5353
set firewall ipv4 input filter rule 100 destination address 224.0.0.251
# Forward chain
set firewall ipv4 forward filter rule 100 action accept
set firewall ipv4 forward filter rule 100 protocol udp
set firewall ipv4 forward filter rule 100 destination port 5353
commit
saveIPv6 mDNS (ff02::fb)
# VyOS 1.5 - IPv6
set firewall ipv6 input filter rule 110 action accept
set firewall ipv6 input filter rule 110 protocol udp
set firewall ipv6 input filter rule 110 destination port 5353
set firewall ipv6 input filter rule 110 destination address ff02::fb
set firewall ipv6 forward filter rule 110 action accept
set firewall ipv6 forward filter rule 110 protocol udp
set firewall ipv6 forward filter rule 110 destination port 5353
commit
saveSecurity: Restricting by interface
Block mDNS on the WAN interface for security:
# Block mDNS on WAN
set firewall ipv4 input filter rule 90 action drop
set firewall ipv4 input filter rule 90 protocol udp
set firewall ipv4 input filter rule 90 destination port 5353
set firewall ipv4 input filter rule 90 inbound-interface name eth0
commit
saveOperational commands
Restarting mDNS Repeater
restart mdns repeaterViewing logs
show log mdns repeaterReal-time monitoring:
monitor log mdns repeaterChecking the configuration
show service mdns repeaterExample output:
service mdns repeater {
interface eth0
interface eth1.10
interface eth1.20
allow-service _airplay._tcp
allow-service _homekit._tcp
ip-version both
}Testing mDNS discovery
On a client (macOS):
# Discover all mDNS services
dns-sd -B _services._dns-sd._udp .
# Discover AirPlay devices
dns-sd -B _airplay._tcp .
# Discover printers
dns-sd -B _ipp._tcp .
# Discover HomeKit devices
dns-sd -B _homekit._tcp .On a client (Linux):
# Install avahi-tools
sudo apt install avahi-utils
# Discover all services
avahi-browse -a
# Discover a specific service
avahi-browse _airplay._tcp
# Detailed information
avahi-browse -a -v -rOn a client (Windows):
Use these programs:
- Bonjour Browser
- Discovery - DNS-SD Browser
- VLC (Media → Open Network Stream → discovery)
Packet capture
Capturing mDNS traffic for diagnostics:
# Capture on an interface
monitor traffic interface eth1.10 filter 'udp port 5353'
# Extended filter
monitor traffic interface eth0 filter 'host 224.0.0.251 and udp port 5353'Example of an mDNS packet:
18:24:35.123456 IP 192.168.1.10.5353 > 224.0.0.251.5353: UDP, length 45
0x0000: 4500 0049 0000 4000 ff11 0000 c0a8 010a E..I..@.........
0x0010: e000 00fb 14e9 14e9 0035 0000 0000 0000 .........5......
0x0020: 0001 0000 0000 0000 075f 6169 7270 6c61 ........._airpla
0x0030: 7904 5f74 6370 056c 6f63 616c 0000 0c00 y._tcp.local....
0x0040: 0100 0011 9400 1400 ........Monitoring and diagnostics
Checking that the repeater is working
# Check the process
ps aux | grep avahi
# systemd service status
systemctl status avahi-daemonLogs
# All mDNS repeater logs
show log | match mdns
# Last 50 lines
show log | match mdns | tail 50
# Real-time monitoring
monitor log | match mdnsChecking multicast routing
# View multicast routes
show ip multicast route
# Interfaces with multicast
show ip multicast interfaceInterface statistics
# Multicast packets
show interfaces ethernet eth0 statistics
# Detailed statistics
show interfaces detailTroubleshooting
Problem 1: Devices are not discovered
Diagnostics:
# 1. Check the configuration
show service mdns repeater
# 2. Check the interfaces
show interfaces
# 3. Check the firewall
show firewall ipv4 input filter
show firewall ipv4 forward filter
# 4. Packet capture
monitor traffic interface eth1.10 filter 'udp port 5353'Solution:
# Make sure the service is not disabled
delete service mdns repeater disable
# Verify that the correct interfaces are specified
set service mdns repeater interface eth0
set service mdns repeater interface eth1.10
# Allow mDNS in the firewall
set firewall ipv4 input filter rule 100 action accept
set firewall ipv4 input filter rule 100 protocol udp
set firewall ipv4 input filter rule 100 destination port 5353
set firewall ipv4 forward filter rule 100 action accept
set firewall ipv4 forward filter rule 100 protocol udp
set firewall ipv4 forward filter rule 100 destination port 5353
commit
save
# Restart the service
restart mdns repeaterProblem 2: Works in only one direction
Cause: Incorrect routing or the firewall blocks the return traffic.
Solution:
# Check the routes between VLANs
show ip route
# Make sure there are routes for both subnets
# For example:
# 192.168.1.0/24 via eth0
# 192.168.10.0/24 via eth1.10
# Check the firewall FORWARD rules
show firewall ipv4 forward filter
# Allow bidirectional traffic
set firewall ipv4 forward filter rule 100 action accept
set firewall ipv4 forward filter rule 100 protocol udp
set firewall ipv4 forward filter rule 100 destination port 5353
commit
saveProblem 3: Some services are not discovered
Cause: The allow-service filter blocks the required services.
Diagnostics:
# Check allow-service
show service mdns repeater
# If allow-service is set, check the listSolution:
# Add the required service
set service mdns repeater allow-service '_googlecast._tcp'
# Or remove all restrictions for testing
delete service mdns repeater allow-service
commit
save
restart mdns repeaterProblem 4: mDNS packet storm
Symptoms: High CPU load, a large number of mDNS packets on the network.
Cause: A loop in the configuration or multiple mDNS repeaters in the same network.
IMPORTANT WARNING: Do NOT use the mDNS repeater in a VRRP setup with multiple active VyOS routers on the same network. This will create an mDNS packet storm.
Solution:
# Temporarily disable the repeater
set service mdns repeater disable
commit
# Check the topology:
# - Only one VyOS should be the mDNS repeater in the segment
# - There must be no loops in the interface configuration
# Fix the configuration and re-enable it
delete service mdns repeater disable
commit
saveProblem 5: IPv6 mDNS does not work
Diagnostics:
# Check ip-version
show service mdns repeater
# Check the IPv6 firewall
show firewall ipv6 input filter
show firewall ipv6 forward filterSolution:
# Set ip-version to both
set service mdns repeater ip-version both
# Allow IPv6 mDNS
set firewall ipv6 input filter rule 110 action accept
set firewall ipv6 input filter rule 110 protocol udp
set firewall ipv6 input filter rule 110 destination port 5353
set firewall ipv6 input filter rule 110 destination address ff02::fb
set firewall ipv6 forward filter rule 110 action accept
set firewall ipv6 forward filter rule 110 protocol udp
set firewall ipv6 forward filter rule 110 destination port 5353
commit
save
restart mdns repeaterProblem 6: Apple AirPlay does not work
Detail: AirPlay uses several services at once.
Solution:
# Add all AirPlay services
set service mdns repeater allow-service '_airplay._tcp'
set service mdns repeater allow-service '_raop._tcp'
set service mdns repeater allow-service '_airplay-audio._tcp'
commit
save
restart mdns repeaterAlso make sure the additional ports for AirPlay are open:
- TCP 7000 (AirPlay data)
- TCP 7100 (AirPlay mirroring)
- UDP 6001-6011 (AirPlay audio)
- UDP 47998-48000 (AirPlay control)
Problem 7: HomeKit devices are unavailable
Solution:
# HomeKit services
set service mdns repeater allow-service '_homekit._tcp'
set service mdns repeater allow-service '_hap._tcp'
commit
save
restart mdns repeaterFirewall for HomeKit (in addition to mDNS):
- TCP 80 (HTTP)
- TCP 443 (HTTPS)
- TCP 8080 (alternative HTTP)
Problem 8: Chromecast is not discovered
Solution:
# Chromecast services
set service mdns repeater allow-service '_googlecast._tcp'
set service mdns repeater allow-service '_googlezone._tcp'
commit
save
restart mdns repeaterFirewall for Chromecast:
- TCP 8008-8009 (Chromecast HTTP)
- UDP 32768-61000 (dynamic ports for streaming)
Best practices
1. Minimal number of interfaces
Specify only the interfaces you need:
# Correct
set service mdns repeater interface eth0
set service mdns repeater interface eth1.10
# Incorrect - too many VLANs
# (leads to unnecessary traffic)2. Use allow-service
Always restrict services for security and performance:
# Correct - only the required services
set service mdns repeater allow-service '_airplay._tcp'
set service mdns repeater allow-service '_homekit._tcp'
# Incorrect - all services (default)3. Do not include the WAN interface
# Correct - LAN/VLAN only
set service mdns repeater interface eth1
set service mdns repeater interface eth1.10
# Incorrect - WAN included
# set service mdns repeater interface eth0 # WAN4. Firewall rules
Always configure the firewall for mDNS:
# Allow mDNS on LAN
set firewall ipv4 input filter rule 100 action accept
set firewall ipv4 input filter rule 100 protocol udp
set firewall ipv4 input filter rule 100 destination port 5353
set firewall ipv4 input filter rule 100 inbound-interface name eth1
# Block mDNS on WAN
set firewall ipv4 input filter rule 90 action drop
set firewall ipv4 input filter rule 90 protocol udp
set firewall ipv4 input filter rule 90 destination port 5353
set firewall ipv4 input filter rule 90 inbound-interface name eth05. Avoid VRRP + mDNS Repeater
Do NOT use the mDNS repeater on both VyOS units in a VRRP setup. This will create a packet storm.
Correct: Use the mDNS repeater only on the master router or on a separate dedicated device.
6. Monitor for packet storms
Regularly check the logs for signs of a packet storm:
monitor log mdns repeaterIf you see multiple repeated packets, check the topology.
7. Documenting allow-service
Document why each service is needed:
# AirPlay for conference rooms
set service mdns repeater allow-service '_airplay._tcp'
# Printers for all departments
set service mdns repeater allow-service '_ipp._tcp'8. Testing after changes
After every configuration change, test that it works:
# On macOS
dns-sd -B _airplay._tcp .
# On Linux
avahi-browse -a9. Backing up the configuration
show configuration service mdns repeater > /config/mdns-repeater-backup.txt10. Using with NAT
If you use NAT, make sure mDNS traffic is not NATed:
# mDNS multicast must not pass through NAT
# Configure a NAT exclude if necessaryCompatibility with VyOS versions
VyOS 1.4 (Sagitta LTS)
The mDNS repeater is fully supported.
Basic commands:
set service mdns repeater interface <interface>
set service mdns repeater allow-service <service>VyOS 1.5 (Circinus)
The mDNS repeater is fully supported with new options.
New capabilities:
- Improved performance
- Better integration with the nftables firewall
- Support for additional browse-domain entries
The commands are the same:
set service mdns repeater interface <interface>
set service mdns repeater ip-version <ipv4|ipv6|both>Home Automation integration
Home Assistant
VyOS configuration:
# Main network where Home Assistant runs
set service mdns repeater interface eth0
# IoT VLAN
set service mdns repeater interface eth1.30
# Services for Home Assistant
set service mdns repeater allow-service '_homekit._tcp'
set service mdns repeater allow-service '_hap._tcp'
set service mdns repeater allow-service '_http._tcp'
commit
saveHome Assistant configuration.yaml:
# mDNS discovery is already built into Home Assistant
# No additional settings are required
# Integrations will automatically discover devices:
discovery:
enable:
- homekit
- zeroconf
homekit:
auto_start: trueHomebridge
VyOS configuration:
# Homebridge VLAN
set service mdns repeater interface eth1.20
# Main network
set service mdns repeater interface eth0
# HomeKit services
set service mdns repeater allow-service '_homekit._tcp'
set service mdns repeater allow-service '_hap._tcp'
commit
saveApple Home App
After configuring the mDNS repeater, devices will automatically appear in the Apple Home App on your iPhone/iPad.
Verification:
- Open the Home App
- Tap (+) → Add Accessory
- Devices in other VLANs should appear
Performance
Impact on the system
The mDNS repeater is a lightweight service:
- CPU overhead: < 1% in typical scenarios
- Memory: ~5-10 MB RAM
- Network: Minimal traffic (multicast retransmission only)
Scaling recommendations
- Up to 10 devices: Any configuration works great
- 10-50 devices: allow-service filtering is recommended
- 50-100 devices: Filtering is mandatory, monitor the packet rate
- 100+ devices: Consider a centralized mDNS proxy (not a repeater)
Optimization
# Use allow-service to reduce traffic
set service mdns repeater allow-service '_airplay._tcp'
set service mdns repeater allow-service '_homekit._tcp'
# Do not specify unnecessary interfaces
# Only the required VLANsAlternative solutions
When NOT to use mDNS Repeater
- VRRP setup: Multiple active routers will lead to a packet storm
- Very large networks: 100+ mDNS devices
- Strict security requirements: mDNS can disclose information about devices
- WAN usage: mDNS is for local networks only
Alternatives
Centralized Avahi Reflector:
# Install on a separate server (not VyOS)
sudo apt install avahi-daemon
# /etc/avahi/avahi-daemon.conf
[reflector]
enable-reflector=yesDNS-SD with centralized DNS:
- Wide-Area Bonjour (Apple)
- DNS-Based Service Discovery (RFC 6763)
Application-specific solutions:
- Homebridge for Apple HomeKit
- ChromecastDiscovery for Google Cast
- Dedicated IoT hub (Home Assistant, OpenHAB)
Next steps
- LLDP - network device discovery
- UDP Broadcast Relay - relaying other broadcast protocols
- DHCP Relay - centralized DHCP
- Firewall - network protection
- VLAN Configuration - configuring VLAN interfaces
Conclusion
The mDNS Repeater in VyOS is a powerful tool for enabling service discovery across VLAN boundaries. It is indispensable for:
- The Apple ecosystem (AirPlay, HomeKit)
- Google Chromecast
- Network printers
- Home automation systems
- IoT devices
Key points:
- A minimum of 2 interfaces to operate
- Use allow-service for filtering
- Configure firewall rules
- Do NOT use in VRRP setups
- Test after every change
With the right configuration, the mDNS Repeater will provide seamless device discovery in segmented networks without compromising security.