Introducción

Este documento describe cómo configurar la función de gateway de servicios de nombres de dominio (mDNS) multicast en los controladores de red inalámbrica de Catalyst 9800.

Prerequisites

Requirements

Cisco recomienda que tenga conocimiento sobre estos temas:

Componentes Utilizados

La información que contiene este documento se basa en las siguientes versiones de software y hardware.

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.

Antecedentes

Este documento también explica cómo este tráfico multicast especial conocido como mDNS (o Bonjour) es manejado por los controladores C9800.

Puente mDNS

En la arquitectura C9800, mDNS (protocolo Bonjour) Bridging hace referencia al mismo dominio de broadcast de L2 Bonjour TTL=1 reenvío de paquetes de protocolo. El plano de datos habilita la funcionalidad de conexión en puente mDNS para los paquetes recibidos en los puertos por cable y las interfaces inalámbricas para cada WLAN por predeterminado. Este es el comportamiento predeterminado sin necesidad de configuración específica, ya que ni siquiera es necesario habilitar mDNS global para permitir que funcione el puente mDNS; sin embargo, puede deshabilitarlo por WLAN si es necesario cambiando el modo mDNS en la configuración WLAN. Si se habilita el modo multidifusión-multidifusión de punto de acceso (AP), control y aprovisionamiento de puntos de acceso inalámbricos (CAPWAP), C9800 conecta cada paquete mDNS con el grupo de multidifusión de AP configurado en el controlador para que los clientes inalámbricos puedan recibirlo; de lo contrario, puede crear una copia de cada paquete mDNS recibido, que se conecta a cada AP individualmente a través del túnel de unidifusión CAPWAP. En ambos casos, C9800 también une los paquetes mDNS en la red con cables de la VLAN del cliente que originó el paquete mDNS.

Por lo tanto, mDNS puede funcionar en C9800 sin configuración especial siempre y cuando los dispositivos involucrados en el intercambio de señales mDNS (como el cliente y Chromecast, por ejemplo) estén en la misma subred. Idealmente, es mejor filtrar el tráfico mDNS con el uso de la puerta de enlace mDNS como se explica en la siguiente sección.

Gateway mDNS

La función mDNS Gateway introducida en los controladores inalámbricos AireOS también es compatible con los controladores inalámbricos Catalyst 9800 de 16.11.1. Esta función está desactivada de forma predeterminada y puede activarla/desactivarla por WLAN después de activarla globalmente.

La función mDNS Gateway funciona de la misma manera que en el anterior controlador inalámbrico de AireOS, el C9800 escucha los servicios Bonjour (anuncios y consultas de mDNS) en interfaces por cable e inalámbricas, almacena en caché estos servicios Bonjour (AirPlay, AirPrint, Googlecast, etc.) anunciados desde cada origen/host en una base de datos interna y puede unir esos paquetes mDNS entre diferentes dominios de difusión mientras filtra los servicios innecesarios y evita su flujo de multidifusión en la red. De esta manera puede tener los orígenes y clientes de dichos servicios en diferentes subredes, y también controlar el tráfico mDNS en su red.

El C9800 que actúa como gateway mDNS responde a las consultas mDNS de los clientes (para servicios en caché) que obtienen estas respuestas mDNS mediante el uso de su dirección IP para la VLAN asignada al cliente que solicita el servicio. Esta es la razón por la que todas las VLAN en el controlador C9800 donde hay clientes que requieren servicios mDNS/Bonjour deben tener una dirección IP válida configurada en la Interfaz Virtual Conmutada (SVI).

Para obtener más información sobre la función de gateway Bonjour/mDNS, consulte la Guía de implementación de Bonjour Phase III del controlador LAN inalámbrico AireOS.

Configurar

Diagrama de la red

Este es el diagrama de la configuración de ejemplo. El objetivo es permitir que los clientes inalámbricos utilicen servicios mDNS de una subred diferente, lo que requiere una puerta de enlace mDNS, como se muestra en la imagen.

MDNS Network Diagram

Configuración de la puerta de enlace mDNS a través de la interfaz gráfica de usuario

Paso 1. Para habilitar mDNS Gateway globalmente, navegue hasta Configuration > Services > mDNS. En Global, cambie a Enable mDNS Gateway y seleccione Apply como se muestra en la imagen.

GUI Configuration One

Paso 2 (opcional). Configurar una lista de servicios mDNS personalizada para una directiva de servicio personalizada. Si desea utilizar la lista de servicios y la política de servicio mDNS predeterminadas, vaya al paso 5.

En Configuration > Services > mDNS, en la pestaña Service Policy, configure nuevas listas de servicios según sea necesario. C9800 cuenta con servicios comunes predefinidos que utilizan la mayoría de los dispositivos inalámbricos. Si no necesita un servicio especial (no disponible), puede crear una lista con los servicios disponibles predefinidos, pero si es necesario, también puede agregar nuevos servicios (con la definición del servicio).

Necesita ambas direcciones: una lista de servicios para la dirección entrante (IN) y una lista de servicios para la dirección saliente (OUT) (de modo que los servicios necesarios se filtran al entrar en el C9800 y al salir de él; por lo tanto, se supone que ambas listas tienen los mismos servicios).

1. Defina un nombre de lista de servicios para los servicios IN.

2. Seleccione EN dirección.

3. Seleccione Agregar Servicios.

4. Se muestra la lista desplegable Servicios disponibles. Seleccione el servicio deseado y el tipo de mensaje any.

5. Repita los pasos para agregar más servicios según sea necesario.

6. Seleccione Aplicar al Dispositivo como se muestra en la imagen.

GUI Configuration Three

1. Defina un nombre de lista de servicios para los servicios OUT.

2. Seleccione la dirección OUT.

3. Mueva Servicios Disponibles a la lista Servicios Asignados.

5. Repita los pasos para agregar más servicios según sea necesario.

6. Seleccione Aplicar al Dispositivo como se muestra en la imagen.

C9800 mDNS Service-List-Out


Sugerencia: tras la tarea de migración del WLC anterior de AireOS, puede crear su nueva lista basada en la lista mDNS predeterminada de AireOS.

Paso 3 (opcional). Si utiliza una lista de servicios personalizada (paso 2.0), debe definir una política de servicio mDNS personalizada para utilizarla con dichas listas de servicios personalizadas. Vaya a Configuration > Services > mDNS > Service Policy. Elija Service Policy y realice los siguientes pasos:

1. Defina un nombre de política de servicio.

2. Agregue su lista de servicios IN personalizada a la entrada de la lista de servicios.

3. Agregue la lista de servicios al cliente a la salida de la lista de servicios.

4. En Ubicación, seleccione etiqueta de sitio, Servicios específicos de ubicación (LSS) o la opción disponible que prefiera. En este ejemplo, site-tag se utiliza como se muestra en la imagen.

C9800 mDNS Service Policy One

Paso 4. (Opcional). Pasar la política de servicio mDNS a un perfil de política.

Navegue hasta Configuration > Tags & Profiles > Policy > Policy Profile Name > Advanced y elija de la lista desplegable mDNS Service Policy, la política de servicio mDNS personalizada creada anteriormente (en este ejemplo mdns-policy1), y luego elija Update y Apply to Device como se muestra en la imagen.

C9800 mDNS Policy Profile One

Paso 5. Navegue hasta Configuration > Tags & Profiles > WLAN > WLAN > Advanced y elija Gateway en la lista desplegable del modo mDNS y luego Update and Apply to Device. El modo predeterminado es Bridging (puede utilizar Drop para inhabilitar/descartar los servicios mDNS en la WLAN), como se muestra en la imagen.

GUI Configuration Two

Si no se utiliza una política de servicio personalizada, la WLAN utiliza la política de servicio predeterminada-mdns asignada al perfil de política, que utiliza la lista de servicio predeterminada mDNS. Puede verificar la lista de servicios predeterminados con el uso de este 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

Configuración de la puerta de enlace mDNS a través de la interfaz de línea de comandos

Paso 1. Habilite mDNS globalmente con el uso de estos 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)#

Paso 2 (opcional). Configure una lista de servicios personalizada para los servicios IN y agregue los diferentes servicios requeridos de la lista disponible:

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 una lista de servicios personalizada para los servicios OUT y agregue los diferentes servicios requeridos de la lista disponible:

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

Paso 3 (opcional). Cree una política de servicio mDNS con el uso de estos 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)#

Paso 4 (opcional). Agregue la política de servicio mDNS al perfil de política con el uso de estos 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

Paso 5. Active la puerta de enlace mDNS en la WLAN con el uso de estos 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

Escenario externo de anclaje

Al implementar la función mDNS Gateway en una WLAN de anclaje de movilidad, donde tanto el WLC externo como el de anclaje son C9800 y los clientes inalámbricos obtienen su dirección IP de VLAN en el controlador de anclaje, este es el comportamiento y la configuración requerida:

Verificación

Utilize esta sección para confirmar que su configuración funcione correctamente.

Usar comandos: 

C9800#show mdns-sd summary
mDNS Gateway: Enabled
Active Query: Enabled
  Periodicity (in minutes): 30
Transport Type: Both IPv4 and IPv6

Revise si el WLC está realmente almacenando en caché los servicios mDNS y cuáles (en una WLAN de anclaje de movilidad, esta caché se puede verificar en el controlador de anclaje), enumerando los servicios en caché mDNS con este comando, donde puede ver la dirección MAC de origen del dispositivo que ofrece el servicio e incluso su dirección IP, junto con otros detalles 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#

Troubleshoot

En esta sección se brinda información que puede utilizar para resolver problemas en su configuración.

Si necesita comprobar más detalles sobre todos los intercambios que se producen en el C9800, consultas, comportamiento de almacenamiento en caché, respuestas, caídas, errores, etc., recopile estos seguimientos en el C9800 mientras vuelve a crear el problema (conecte el dispositivo que ofrece el servicio y el cliente solicita el servicio, déjeles que intenten descubrir los servicios requeridos):

  1. Ejecute este comando en C9800: set platform software trace wncd <0-7> chassis active R0 mdns debug
  2. Reproduzca el problema.
  3. Finalmente, ejecute este comando para recopilar los seguimientos habilitados: show platform software trace message wncd <0-7> chassis active R0

Información Relacionada