Introdução
Este documento descreve como configurar o recurso de Gateway de Serviços de Nome de Domínio (mDNS - Domain Name Services) multicast em Controladores sem Fio Catalyst 9800.
Pré-requisitos
Requisitos
A Cisco recomenda que você tenha conhecimento destes tópicos:
- Protocolo Bonjour mDNS
- Controlador sem fio Catalyst 9800
Componentes Utilizados
As informações neste documento são baseadas nestas versões de software e hardware:
- C9800-CL-K9 versão 16.12.1s
- WS-C3560CX-12PC-S
- C917 AXI-A
- Chromecast NC2-6A5-D
- MacbookPro 10.14.5
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Informações de Apoio
Este documento também explica como esse tráfego multicast especial conhecido como mDNS (ou Bonjour) é tratado pelos controladores C9800.
Ponte mDNS
Na arquitetura C9800, o mDNS (Bonjour Protocol) Bridging refere-se ao encaminhamento de pacotes de protocolo Bonjour TTL=1 dentro do mesmo domínio de broadcast L2. Por padrão, o plano de dados ativa a funcionalidade de ponte mDNS para pacotes recebidos em portas com fio e interfaces sem fio para cada WLAN. Isso significa que o mDNS Bridging funciona sem qualquer configuração específica e até mesmo o mDNS Global não precisa ser ativado.
No entanto, se necessário, você pode desabilitar o mDNS Bridging por WLAN alterando o modo mDNS nas configurações de WLAN. Quando o modo Multicast-Multicast do Controle e Provisionamento de Pontos de Acesso Sem Fio (CAPWAP) do Ponto de Acesso (AP) está ativado, o C9800 liga cada pacote mDNS ao grupo multicast do AP configurado no controlador. Isso garante que os clientes sem fio possam receber os pacotes.
Se o modo Multicast-Multicast do CAPWAP não estiver ativado, o C9800 criará uma cópia de cada pacote mDNS recebido e fará a ponte individualmente para cada AP através de um túnel unicast do CAPWAP. Em ambos os cenários, o C9800 também faz a ponte dos pacotes mDNS na rede com fio na VLAN do cliente que originou o pacote mDNS.
Configurar
Configure o modo multicast em seu controlador C9800
Etapa 1. Navegue até Configuration > Services > multicast.
Etapa 2. Ativar o modo Global Wireless Multicast.
Etapa 3. Defina AP CAPWAP Multicast como Multicast.
Etapa 4. Atribuir o IP multicast no endereço do grupo multicast IPv4 do CAPWAP (intervalo de 224.0.0.0 a 239.255.255.255).
Etapa 5. AP CAPWAP IPv6 Multicast group Address é opcional.
Etapa 6. Ativar o Wireless mDNS Bridging.
Etapa 7. Habilitar IGMP Snooping.
Configurar o roteamento multicast com o modo PIM escasso-denso em um switch de camada 3
Etapa 1. Ative o Multicast routing e o igmp snooping.
Switch# config t
Switch(config)# ip multicast-routing
Switch(config)# interface vlan <vlan-id>
Switch(config-if)# ip igmp snooping
Switch(config)# end
Etapa 2. Habilite o PIM nas interfaces VLAN para onde você deseja rotear o tráfego multicast.
Switch> enable
Switch# config t
Switch(config)# interface vlan <vlan-id>
Switch(config-if)# ip pim sparse-dense-mode
Switch(config-if)# end
Verificar
Use esta seção para confirmar se a sua configuração funciona corretamente.
Comandos do C9800
C9800# show wireless multicast
C9800# show ap multicast mom
Comandos do Switch de Camada 3
Switch# show ip pim interface
O mDNS pode funcionar no C9800 sem exigir nenhuma configuração especial, desde que os dispositivos envolvidos no handshake do mDNS (como um cliente e o Chromecast) estejam na mesma sub-rede. Entretanto, é recomendável filtrar o tráfego mDNS usando um gateway mDNS, conforme explicado na próxima seção.
Gateway mDNS
O recurso de gateway mDNS introduzido nos controladores sem fio AireOS também é suportado nos controladores sem fio Catalyst 9800 de 16.11.1. Esse recurso é desabilitado por padrão e você pode habilitá-lo/desabilitá-lo por WLAN depois de habilitá-lo globalmente.
O recurso Gateway mDNS funciona da mesma forma que no AireOS Wireless Controller anterior, o C9800 escuta os serviços Bonjour (anúncios e consultas mDNS) em interfaces com e sem fio, armazena em cache esses serviços Bonjour (AirPlay, AirPrint, Googlecast e assim por diante) anunciados de cada origem/host em um banco de dados interno e é capaz de ligar esses pacotes mDNS entre diferentes domínios de broadcast enquanto filtra serviços desnecessários e evita seu fluxo multicast na rede. Dessa forma, você pode ter as origens e os clientes desses serviços em sub-redes diferentes e também controlar o tráfego mDNS na rede.
O C9800 que atua como Gateway mDNS responde às consultas mDNS dos clientes (para serviços em cache) que fornecem essas respostas mDNS com o uso de seu endereço IP para a VLAN atribuída ao cliente que solicita o serviço. É por isso que todas as VLANs no controlador C9800, onde há clientes que exigem serviços mDNS/Bonjour, devem ter um endereço IP válido configurado na Interface Virtual Comutada (SVI).
Para obter mais informações sobre o recurso Gateway Bonjour/mDNS, consulte o Guia de implantação Bonjour da controladora Wireless LAN AireOS.
Configurar
Diagrama de Rede
Este é o diagrama da configuração de exemplo. A finalidade é permitir que clientes sem fio usem serviços mDNS de uma sub-rede diferente, o que requer o Gateway mDNS, como mostrado na imagem.

Configurar o gateway mDNS via interface gráfica do usuário
Etapa 1. Para habilitar o Gateway mDNS globalmente, navegue até Configuration > Services > mDNS. Em Global, alterne para Enable mDNS Gateway e selecione Apply conforme mostrado na imagem.

Etapa 2 (opcional). Configure uma lista de serviços mDNS personalizada para uma política de serviço personalizada. Se quiser usar a Lista de serviços e a Política de serviços padrão do mDNS, vá para a Etapa 5.
Em Configuration > Services > mDNS, na guia Service Policy, configure novas listas de serviços conforme necessário. O C9800 tem serviços comuns predefinidos usados pela maioria dos dispositivos sem fio. Se você não precisar de um serviço especial (não disponível), poderá criar uma Lista com Serviços disponíveis predefinidos, mas, se necessário, também poderá adicionar novos serviços (com Definição de serviço).
Você precisa de ambos, uma lista de serviços para direção de entrada (IN) e uma lista de serviços para direção de saída (OUT) (para que os serviços necessários sejam filtrados ao entrar no C9800 e ao sair dele; portanto, ambas as listas devem ter os mesmos serviços).
1. Defina um Nome da Lista de Serviços para serviços IN.
2. Escolha a direção IN.
3. Escolha Adicionar Serviços.
4. A lista suspensa Serviços Disponíveis é exibida. Escolha Service e Message Type any desejados.
5. Repita as etapas para adicionar mais serviços conforme necessário.
6. Escolha Apply to Device conforme mostrado na imagem.

1. Defina um Nome da Lista de Serviços para os serviços OUT.
2. Escolha a direção OUT.
3. Mova Serviços Disponíveis para a lista Serviços Atribuídos.
5. Repita as etapas para adicionar mais serviços conforme necessário.
6. Escolha Apply to Device conforme mostrado na imagem.

Tip: Mediante a tarefa de migração do AireOS WLC anterior, você pode criar sua nova lista com base na lista mDNS padrão do AireOS.
Etapa 3 (opcional). Se você usar uma Lista de serviços personalizada (Etapa 2), precisará definir uma Política de serviços mDNS personalizada a ser usada com essas Listas de serviços personalizadas. Navegue até Configuration > Services > mDNS > Service Policy. Escolha Service Policy e execute as próximas etapas:
1. Defina um Nome de Política de Serviço.
2. Adicione sua Lista de Serviços personalizada IN à Entrada de Lista de Serviços.
3. Adicione a Lista de Serviços do cliente OUT para a Saída da Lista de Serviços.
4. Em Local, escolha site-tag, Serviços Específicos de Local (LSS) ou sua opção disponível preferida. Neste exemplo, site-tag é usado como mostrado na imagem.

Etapa 4. (Opcional). Passando a Política de Serviço mDNS para um Perfil de Política.
Navegue para Configuration > Tags & Profiles > Policy > Policy Profile Name > Advanced e escolha na lista suspensa mDNS Service Policy, o Service Policy personalizado do mDNS criado anteriormente (neste exemplo, mdns-policy1) e escolha Update e Apply to Device como mostrado na imagem.

Etapa 5. Navegue até Configuration > Tags & Profiles > WLANs > WLAN > Advanced e escolha Gateway na lista suspensa do modo mDNS e então Update e Apply to Device. O modo padrão é Bridging (você pode usar Drop para desabilitar/descartar serviços mDNS na WLAN), conforme mostrado na imagem.

Se uma Política de serviço personalizada não for usada, a WLAN usará a política de serviço padrão mdns atribuída ao Perfil de política, que usa a lista de serviços padrão mDNS. Você pode verificar a lista de serviços padrão com o uso deste comando:
C9800#show running-config mdns-sd default-service-list
=======================================================================
mDNS Default Service List
=======================================================================
Service Name PTR Name
=======================================================================
airtunes : _raop._tcp.local
airplay : _airplay._tcp.local
homesharing : _home-sharing._tcp.local
google-chromecast : _googlecast._tcp.local
printer-ipp : _ipp._tcp.local
printer-ipps : _ipps._tcp.local
printer-lpd : _printer._tcp.local
printer-socket : _pdl-datastream._tcp.local
itune-wireless-devicesharing2 : _apple-mobdev2._tcp.local
Configurar o gateway mDNS através da interface de linha de comando
Etapa 1. Ative mDNS globalmente com o uso destes comandos:
C9800#conf t
Enter configuration commands, one per line. End with CNTL/Z.
C9800(config)#mdns-sd gateway
C9800(config-mdns-sd)#transport both
C9800(config-mdns-sd)#active-query timer 30
C9800(config-mdns-sd)#exit
C9800(config)#
Etapa 2 (opcional). Configure uma Lista de serviços personalizada para EM serviços e adicione os diferentes serviços necessários na lista disponível:
C9800(config)#mdns-sd service-list my-mdns-list IN
C9800(config-mdns-sl-in)#match ?
airplay airplay
airserver airserver
airtunes airtunes
amazon-fire-tv amazon-fire-tv
apple-airprint apple-airprint
apple-continuity apple-continuity
apple-file-share apple-file-share
apple-homekit apple-homekit
apple-itunes-library apple-itunes-library
apple-itunes-music apple-itunes-music
apple-itunes-photo apple-itunes-photo
apple-keynote apple-keynote
apple-rdp apple-rdp
apple-remote-events apple-remote-events
apple-remote-login apple-remote-login
apple-screen-share apple-screen-share
apple-timecapsule apple-timecapsule
apple-timecapsule-mgmt apple-timecapsule-mgmt
apple-windows-fileshare apple-windows-fileshare
fax fax
google-chromecast google-chromecast
homesharing homesharing
itune-wireless-devicesharing2 itune-wireless-devicesharing2
multifunction-printer multifunction-printer
phillips-hue-lights phillips-hue-lights
printer-ipp printer-ipp
printer-ipps printer-ipps
printer-lpd printer-lpd
printer-socket printer-socket
roku roku
scanner scanner
spotify spotify
web-server web-server
workstation workstation
C9800(config-mdns-sl-in)#match airtunes message-type any
C9800(config-mdns-sl-in)#exit
Configure uma lista de serviços personalizada para OUT services e adicione os diferentes serviços necessários na lista disponível:
C9800(config)#mdns-sd service-list my-mdns-list-out OUT
C9800(config-mdns-sl-out)#match ?
airplay airplay
airserver airserver
airtunes airtunes
amazon-fire-tv amazon-fire-tv
apple-airprint apple-airprint
apple-continuity apple-continuity
apple-file-share apple-file-share
apple-homekit apple-homekit
apple-itunes-library apple-itunes-library
apple-itunes-music apple-itunes-music
apple-itunes-photo apple-itunes-photo
apple-keynote apple-keynote
apple-rdp apple-rdp
apple-remote-events apple-remote-events
apple-remote-login apple-remote-login
apple-screen-share apple-screen-share
apple-timecapsule apple-timecapsule
apple-timecapsule-mgmt apple-timecapsule-mgmt
apple-windows-fileshare apple-windows-fileshare
fax fax
google-chromecast google-chromecast
homesharing homesharing
itune-wireless-devicesharing2 itune-wireless-devicesharing2
multifunction-printer multifunction-printer
phillips-hue-lights phillips-hue-lights
printer-ipp printer-ipp
printer-ipps printer-ipps
printer-lpd printer-lpd
printer-socket printer-socket
roku roku
scanner scanner
spotify spotify
web-server web-server
workstation workstation
C9800(config-mdns-sl-out)#match airplay
C9800(config-mdns-sl-out)#exit
Etapa 3 (opcional). Crie uma mDNS Service Policy com o uso destes comandos:
C9800(config)#mdns-sd service-policy mdns-policy1
C9800(config-mdns-ser-pol)#location site-tag
C9800(config-mdns-ser-pol)#service-list my-mdns-list IN
C9800(config-mdns-ser-pol)#service-list my-mdns-list-out OUT
C9800(config-mdns-ser-pol)#exit
C9800(config)#
Etapa 4 (opcional). Adicione o mDNS Service Policy ao Policy Profile com o uso destes comandos:
C9800(config)#wireless profile policy my-policy-profile
C9800(config-wireless-policy)#mdns-sd service-policy mdns-policy1
Warning! Ensure mDNS service policy is configured globally.
C9800(config-wireless-policy)#exit
Etapa 5. Habilite o mDNS Gateway na WLAN com o uso destes comandos:
C9800(config)#wlan 9800-mdns
C9800(config-wlan)#shut
C9800(config-wlan)#mdns-sd gateway
Warning! Ensure global mDNS gateway is configured.
C9800(config-wlan)#no shut
C9800(config-wlan)#exit
Cenário Âncora-Externo
Quando você implementa o recurso Gateway mDNS em uma WLAN Âncora de mobilidade, onde as WLCs Externa e Âncora são C9800 e os clientes sem fio obtêm seus endereços IP de VLANs na controladora Âncora, este é o comportamento e a configuração necessária:
- O controlador Anchor é aquele que atua como o Gateway mDNS, armazenando em cache os serviços de todos os dispositivos conectados a essa WLAN Anchor e à respectiva VLAN, e responde pelas consultas a esses serviços armazenados em cache.
- Quando responde a consultas, o controlador C9800 Anchor pode fornecer respostas e usar seu endereço IP SVI da VLAN atribuída ao cliente que solicita o serviço. Portanto, todas as VLANs clientes que requerem serviços mDNS devem ter um endereço IP no SVI na âncora.
- O Gateway mDNS deve ser habilitado globalmente nas WLCs Foreign e Anchor.
- Os controladores Foreign e Anchor podem usar a mesma Política de serviço mDNS com os mesmos serviços (padrão ou personalizado), que podem ser atribuídos ao Perfil de política vinculado a essa WLAN Anchor. Todas essas configurações são as mesmas etapas já abordadas neste documento.
- A única diferença de configuração para uma configuração de WLAN Âncora de mobilidade é esta. Navegue para WLAN > Advanced settings, the mDNS Mode, no C9800 externo deve ser Bridging e no C9800 âncora deve ser Gateway.
Verificar
Use esta seção para confirmar se a sua configuração funciona corretamente.
Usar comandos:
C9800#show mdns-sd summary
mDNS Gateway: Enabled
Active Query: Enabled
Periodicity (in minutes): 30
Transport Type: Both IPv4 and IPv6
Revise se a WLC está realmente armazenando em cache os serviços mDNS e quais (em uma WLAN de âncora de mobilidade, esse cache pode ser verificado no controlador de âncora), listando os serviços mDNS em cache com esse comando, onde você pode ver o endereço MAC de origem do dispositivo que oferece o serviço e até mesmo seu endereço IP, juntamente com outros detalhes mDNS:
C9800#show mdns-sd cache
------------------------------------------------------------- PTR Records -------------------------------------------------------------
RECORD-NAME TTL TYPE ID CLIENT-MAC RR-RECORD-DATA
---------------------------------------------------------------------------------------------------------------------------------------
_googlecast._tcp.local 4500 WLAN 2 48d6.d50c.a620 Chromecast-Ultra-687f65f66d478b2c787eac8bc7c9efad.
------------------------------------------------------------- SRV Records -------------------------------------------------------------
RECORD-NAME TTL TYPE ID CLIENT-MAC RR-RECORD-DATA
---------------------------------------------------------------------------------------------------------------------------------------
Chromecast-Ultra-687f65f66d478b2c787eac8bc7c9 4500 WLAN 2 48d6.d50c.a620 0 0 8009 687f65f6-6d47-8b2c-787e-ac8bc7c9efad.loca
------------------------------------------------------------ A/AAAA Records -----------------------------------------------------------
RECORD-NAME TTL TYPE ID CLIENT-MAC RR-RECORD-DATA
---------------------------------------------------------------------------------------------------------------------------------------
687f65f6-6d47-8b2c-787e-ac8bc7c9efad.local 4500 WLAN 2 48d6.d50c.a620 172.16.9.11
------------------------------------------------------------- TXT Records -------------------------------------------------------------
RECORD-NAME TTL TYPE ID CLIENT-MAC RR-RECORD-DATA
---------------------------------------------------------------------------------------------------------------------------------------
Chromecast-Ultra-687f65f66d478b2c787eac8bc7c9 4500 WLAN 2 48d6.d50c.a620 [172]'id=687f65f66d478b2c787eac8bc7c9efad''cd=9A10
C9800#
Troubleshooting
Esta seção disponibiliza informações para a solução de problemas de configuração.
Se você precisar verificar mais detalhes sobre todas as trocas que ocorrem no C9800, consultas, comportamento de cache, respostas, quedas, erros e muito mais, reúna esses rastreamentos no C9800 enquanto recria o problema (conecte o dispositivo que oferece o serviço e o cliente solicita o serviço, deixe-o tentar descobrir os serviços necessários):
- Execute este comando no C9800: set platform software trace wncd <0-7> chassis ative R0 mdns debug
- Reproduza o problema.
- Por fim, execute este comando para reunir os rastreamentos ativados: show platform software trace message wncd <0-7> chassis ative R0
Informações Relacionadas