With WLC 7.4 code Cisco supports Apple Bonjour Gateway functionality ( know as multicast DNS or mDNS) on the WLC itself. This helps you to deploy AppleTV, Apple Printers on different subnets to where wireless client sits. Without this feature all devices should be in same subnet (perfectly work with home environment as of single layer 3 subnet) as Bonjour protocol use link local multicast with group address 22.214.171.124. (IPv6 ff02::fb)
This is the basic steps of Bonjour service delivery over wireless.
1. WLC listen to Bonjour service (126.96.36.199) like AppleTV, AirPrint.
2. WLC caches the Bonjour Services
3. WLC listen to client queries for services
4. WLC send unicast response to client queries for Bonjour Services.
There was consistent demand to implement this service in my University environment. Until WLC 7.4 code release, I was reluctant to deploy this feature as it make network more complex. But with WLC 7.4 code it makes a real easy deployment.
This is the typical deployment in my office environment. Apple TV on the wired network & clients in the wireless network in multiple subnets.
So here how you configure this. First of all you need to have trunk the wired subnet where you put your AppleTV in to WLC. To do this you need to simply a define an interface on controller on the same wired subnet.
If you require to keep AppleTV on wirless, then you need to configure a WLAN that maps to above interface. Keep in mind AppleTV 5.x.x does not support WAP2 enterprise (ie AES encryption) & you have to configure WPA2-PSK for that if you require WPA2 in this network. So if your normal wireless network configure for WPA2 enterprise then you may need to have separate WLAN for AppleTV. That’s why we preferred put them Apple TV into this wired medium which will avoid that additional SSID configuration.
You can configure mDNS under “Controller -> mDNS” section. Below screenshot shows the default settings.
You have to enable “mDNS snooping” in order to controll Bonjour discovery packets go beyond WLC to infrastructure & over the air. Also you need to add AirTunes service into this list in order to AppleTV to work with recent IOS 6.0.x devices. This is due to Apple has change how Bonjour service work in their latest software releases. Without this your new iPadmini or iPhone5 cannot see the AppleTV mirroing icon. Here is the final setting on this page.
Then you need to configure user WLAN & enable mDNS on WLAN. By default this is enabled & you can disable it per WLAN level. It is on the Advance tab of configuration.
Once you configure the AppleTV with basic IP, Mask, Gateway settings you can see it under “Controller -> mDNS -> Domain Names” section. Here is my AppleTV on the network. Note that “Wired” keyword indication it is connected to wired network.
Now it is ready for service. Once you open up your Apple device & double-click on the home button & swipe from left to right you would see the AirPlay icon. Once you click that it will show the available AppleTV on my network. It is advisable to set up a password to the AppleTV in order to control who can mirror/share on to the screen.
You can use following CLI commands to verify your configuration. You can use the clear command to clear the mDNS cache.
(BUN-PS03-WC01) >show mdns profile summary Number of Profiles............................... 1 ProfileName No. Of Services -------------------------------- --------------- default-mdns-profile 6 (BUN-PS03-WC01) >show mdns service summary Number of Services............................... 6 Service-Name Service-string -------------------------------- --------------- AirPrint _ipp._tcp.local. AirTunes _raop._tcp.local. AppleTV _airplay._tcp.local. HP_Photosmart_Printer_1 _universal._sub._ipp._tcp.local. HP_Photosmart_Printer_2 _cups._sub._ipp._tcp.local. Printer _printer._tcp.local. (BUN-PS03-WC01) >show mdns service detailed AppleTV Service Name..................................... AppleTV Service Id....................................... 3 Service query status............................. Enabled Number of Profiles............................... 1 Profile.......................................... default-mdns-profile Number of Service Providers ..................... 1 ServiceProvider MAC Address Vlan Id Type TTL Time left (in seconds) (in seconds) -------------------- ---------------- ------- ------ ----- --------- LIMS 112._airplay._tcp.local. b8:78:2e:0c:74:9a 1108 Wired 4500 4212 (BUN-PS03-WC01) >clear mdns service-database all
This is basic deployment scenario & you can refer following Cisco Deployment guide for other more complex scenarios (Guest Anchoring, Layer3 Roaming, Bonjour in Flex Connect, etc). Also this document list all CLI commands you required to do the above.
Bonjour Gateway Deployment Guide- Release 7.4
Also following support forum link is really useful to understand this feature. Please go through this.
Bonjour Gateway Configuration Example
1. Day 0 with WLC 7.4 code
2. Who Really Support WLC Netflow ?
3. Configuring Netflow on WLC 7.4
4. Configuring AVC on WLC 7.4
Ben Dahlin said:
My vwlc is seeing all of my apple devices, but the ipad doesn’t see it. apple tv and ipad are on the same vlan/subnet. Running 7.4 code.
Did you check AirTune Service is added to mDNS service list as shown above. Not sure vWLC having some limitations. In my case WLC is 5508.
Great post Rasika,
I wasn’t aware about WLC 7.4 update supporting mDNS. I knew about Aerohive’s bonjour gateway but was holding back for something better for our network. Great to see the post. I have updated WLC and running bonjour services successfully here in our network for AirPlay and AirPrinting.
Glad to hear your mDNS deployment was successful.
We have now 3 months experience of 7.4 code and had couple of issues( 1142 AP disassociation) & few crashes still cause unknown. Keep close look at your network as code is too new & therefore some unresolved bugs
Ben Dahlin said:
Yes all apple services have been added to the profile. And the profile has been applied to the wlans.
I two vlans. Vlan 16 (wired devices), and Vlan 17 (wireless). Will this setup work if clients and services providers are on either vlan?
Yes, it should work eitherway. If Apple TV is on wireless then you need to have a WLAN with correct security settings wchich Aapple TV supports. When I tested this apple TV did not support WPA enterprise (WPA2/AES) & that’s why I preferred Apple TV on wired network.
Ben Dahlin said:
The ipads are connected to wlan that is secured with wpa2 enterprise. I created a seperate wlan for just the apple tvs. Its hidden and secured with wpa2 psk.
I’m having no luck at all with apple remote desktop or air print printers.
Currently I use a third party device (plugged to wired) on same VLAN as wireless user. On third party device I add necessary wired printers in the building. So when user is connected it will list a pool of printers. The same setup is repeated in different buildings so wherever user roams he gets list of printers.
How do we do this in 7.4? Wireless users in each building needs to see building wired or wireless printers. In WLC I do not see how we can list printers in like AP WLAN groups. Let me know if I need to clarify on my setup.
In your set up does each building is having different vlan for wireless users ? Does this 3rd party system use mDNS or any other technology to push list of printers to clients ?
With 7.4 mDNS you cannot select certain AP (eg APs in a building) to advertise these services. I think it will come in a future release (7.5 or else).
Yes each building has different staff wireless network. Using AP VLAN group they get different networks.
I use LANTRONIX. Plug this device to A user VLAN in data center. Login to this device and add printers (wired or wireless). So when wireless connects in this building he gets ip from A vlan. When he tries to print the lantronix displays the programmed printers.
We have to repeat this setup in each building.
Lantrnix listens to Bonjour the VLAN and acts a bridge between wired and wireless.
I do not think new code 7.4 has this capability.
My printers dissapear from ipad after a while.
is there a way to keep multicast broadcast the mdns without timeout?
Having exact same issue. What setting could be causing this? Please help.
I haven’t test mDNS for iPrint services.
Does printer connects via wireless ?
If so you can try this.(Not sure this will help, but you can try & see). There is a feature called “Passive clients” under Advanced tab for a WLAN where Printers connected. Enable this & see whether it make any difference.
Also which WLC software version you are running ?
All printers connect directly via ip address.
I am using WLC 7.4, I track Mdns traffic using Mdns watch(ipad iphone apps)
when the printers disappeared there are no traffic on MDNS watch.
I will try to enable “passive clients” and let you know.
I tried to enable “pasive client” but it doesnt work because I enable DHCP
it come with warning ” Cannot enable pasive client and DHCP required simultaneously”
Im running 7.4 – Airprint printers randomly disconnect from the network, and on other occasions the printers show multiple versions of the same printer.
Will passive clients mode have an effect on this?
has anyone fix the issue yet?
There is a question that I was asking myself..
Is it possible to use mdns on a infrastructure which use three WLC ? Does each WLC synchronize their cache or not ?
Thanks in advance for your answer
Are these 3 WLC in same layer 2 domain ?
I am not too sure about this, If I find any useful information, I will post it here
Michael Ruetz said:
While preparing for the lab in march this year, I visit your website daily. Thx for the huge amount of input!!!!! 🙂
@mDNS: I’m surprised, that you didn’t enable a mDNS-profile on the wired interface, where the AppleTV sits, in your example. Or did you just not mention that configuration step? Or did I overread it?
Thank you in advance!
I have tested without enable mdns-profile on the wired interface and it works.
Great…Thanks for keep us updated
Michael Ruetz said:
Thx. to both of you!
Nice ! Thanks you very much !
Thanks for the big help! I search until death and was not aware about adding the AirTunes-Service for new Apple OS-Versions! 😀
Good to see post helped you.
I’ve the same problem with printers disappear after 45 min on IOS Airprint Device. I’ve WLC 5508 188.8.131.52 Cisco and lantronix Office Xprint Server 3.3.0-4. I see all my printers for approximately 45 min and they works very well, they are all wired. After all disappear and I need to restart my xprint server to see again printers. I’ve followed your configurations and all seems to be good on my WLC. Could you give me some informations ? Thanks so much
hi – do you have a scenario using flex connect?
No, In our campus network, no real FlexConnect use case.
All seems to be configured correctly, but bonjour protocol 184.108.40.206 not appear on L3 MGID Mapping ?
Thanks Rasika for this useful post. You have mentioned that there is a need to trunk wired VLAN (where Apple TV is residing) to WLC. What if these Apple TV’s are spread across multiple VLANs? Do you have to trunk all those VLANs to WLC?
Yes, if they are on different wired vlans.
Ashok Weerasinghe said:
We have a requirement to enable mDNS with location specific services. We have Anchor controller where the clients connecting and foreign controller where APs are connected. How do you enable LSS and assign AP or AP groups for under mdns profile when you dont have APs on the Anchor? What is the way forward mate?
I haven’t done that kind of mDNS deployment (over anchor solution). Typically LSS is working with a WLC where AP get registered.