목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

배경 정보

mDNS 브리징

mDNS 게이트웨이

구성

네트워크 다이어그램

GUI를 통해 mDNS 게이트웨이 구성

명령줄 인터페이스를 통해 mDNS 게이트웨이 구성

앵커-외부 시나리오

다음을 확인합니다.

문제 해결

관련 정보

소개

이 문서에서는 Catalyst 9800 Wireless Controller에서 mDNS(Multicast Domain Name Services) 게이트웨이 기능을 구성하는 방법에 대해 설명합니다.

사전 요구 사항

요구 사항

다음 주제에 대한 지식을 보유하고 있으면 유용합니다.

- mDNS Bonjour 프로토콜

- Catalyst 9800 무선 컨트롤러

사용되는 구성 요소

이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.

- C9800-CL-K9 버전 16.12.1s

- WS-C3560CX-12PC-S

- C9117AXI-A

- 크롬캐스트 NC2-6A5-D

- MacbookPro 10.14.5

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.

배경 정보

이 문서에서는 mDNS(또는 Bonjour)라고 하는 이 특수 멀티캐스트 트래픽이 C9800 컨트롤러에서 처리되는 방법도 설명합니다.

mDNS 브리징

C9800 아키텍처에서 mDNS(Bonjour Protocol) 브리징은 동일한 L2 브로드캐스트 도메인 Bonjour TTL=1 프로토콜 패킷 포워딩을 나타냅니다. 데이터 플레인은 다음을 통해 유선 포트에서 수신된 패킷 및 각 WLAN에 대한 무선 인터페이스에 대해 mDNS 브리징 기능을 활성화합니다 기본값. 이는 특정 컨피그레이션이 필요하지 않은 기본 동작입니다. mDNS 브리징이 작동하려면 전역 mDNS도 활성화해야 하지만, 필요한 경우 WLAN 설정에서 mDNS 모드를 변경하여 WLAN별로 비활성화할 수 있습니다. AP(Access Point) CAPWAP(Control and Provisioning of Wireless Access Points) 멀티캐스트-멀티캐스트 모드가 활성화된 경우 C9800은 각 mDNS 패킷을 컨트롤러에 구성된 AP 멀티캐스트 그룹에 브리징하여 무선 클라이언트가 수신할 수 있도록 합니다. 그렇지 않으면 수신된 각 mDNS 패킷의 복사본을 생성할 수 있습니다. 이 복사본은 CAPWAP 유니캐스트 터널을 통해 각 단일 AP에 개별적으로 브리징됩니다. 두 시나리오 모두, C9800은 mDNS 패킷을 시작한 클라이언트의 VLAN에 있는 유선으로 mDNS 패킷을 연결합니다.

따라서 mDNS 핸드셰이크와 관련된 장치(예: 클라이언트 및 Chromecast)가 동일한 서브넷에 있는 경우 mDNS는 특별한 컨피그레이션 없이 C9800에서 작동할 수 있습니다. 이상적으로 mDNS 트래픽은 다음 섹션에 설명된 대로 mDNS 게이트웨이를 사용하여 필터링하는 것이 좋습니다.

mDNS 게이트웨이

AireOS 무선 컨트롤러에 도입된 mDNS 게이트웨이 기능은 16.11.1의 Catalyst 9800 무선 컨트롤러에서도 지원됩니다. 이 기능은 기본적으로 비활성화되어 있으며, 전역적으로 활성화한 후 WLAN별로 활성화/비활성화할 수 있습니다.

mDNS 게이트웨이 기능은 이전 AireOS Wireless Controller와 동일하게 작동하며, C9800은 유선 및 무선 인터페이스에서 Bonjour 서비스(mDNS 광고 및 쿼리)를 수신하고, 내부 데이터베이스의 각 소스/호스트에서 광고된 Bonjour 서비스(AirPlay, AirPrint, Googlecast 등)를 캐시하며, 불필요한 서비스를 필터링하고 네트워크에서 멀티캐스트 플로우를 방지하는 동시에 서로 다른 브로드캐스트 도메인 간에 이러한 mDNS 패킷을 브리징할 수 있습니다. 이렇게 하면 이러한 서비스의 소스와 클라이언트를 서로 다른 서브넷에 두고 네트워크의 mDNS 트래픽도 제어할 수 있습니다.

mDNS 게이트웨이 역할을 하는 C9800은 (캐시된 서비스의 경우) 서비스를 요청하는 클라이언트에 할당된 VLAN에 대해 해당 IP 주소를 사용하여 이러한 mDNS 응답을 소싱하는 클라이언트의 mDNS 쿼리에 응답합니다. 따라서 mDNS/Bonjour 서비스가 필요한 클라이언트가 있는 C9800 컨트롤러의 모든 VLAN에 SVI(Switched Virtual Interface)에 구성된 유효한 IP 주소가 있어야 합니다.

Bonjour/mDNS Gateway 기능에 대한 자세한 내용은 AireOS Wireless LAN Controller Bonjour Phase III Deployment Guide를 참조하십시오.

구성

네트워크 다이어그램

다음은 설치 예제의 다이어그램입니다. 이 기능은 무선 클라이언트가 다른 서브넷의 mDNS 서비스를 사용할 수 있도록 하기 위한 것입니다. 이 경우 이미지에 표시된 대로 mDNS 게이트웨이가 필요합니다.

GUI를 통해 mDNS 게이트웨이 구성

1단계. mDNS 게이트웨이를 전역적으로 활성화하려면 Configuration(컨피그레이션) > Services(서비스) > mDNS로 이동합니다. Global(전역)에서 Enable mDNS Gateway(mDNS 게이트웨이 활성화)로 전환하고 이미지에 표시된 대로 Apply(적용)를 선택합니다.

2단계(선택 사항) 사용자 지정 서비스 정책에 대한 사용자 지정 mDNS 서비스 목록을 구성합니다. 기본 mDNS 서비스 목록 및 서비스 정책을 사용하려면 5단계로 이동하십시오.

Configuration(컨피그레이션) > Services(서비스) > mDNS의 Service Policy(서비스 정책) 탭에서 필요에 따라 새 서비스 목록을 구성합니다. C9800에는 대부분의 무선 장치에서 사용되는 사전 정의된 공통 서비스가 있습니다. 특별(사용할 수 없음) 서비스가 필요하지 않은 경우 미리 정의된 사용 가능한 서비스로 목록을 생성할 수 있지만, 필요한 경우 서비스 정의를 사용하여 새 서비스를 추가할 수도 있습니다.

Incoming(수신) 방향에 대한 서비스 목록과 Outgoing(발신) 방향에 대한 서비스 목록이 모두 필요합니다. 따라서 C9800으로 들어오고 나갈 때 필요한 서비스가 필터링됩니다. 따라서 두 목록 모두 동일한 서비스를 포함해야 합니다.

1. IN 서비스에 대한 서비스 목록명을 정의합니다.

2. IN 방향을 선택합니다.

3. 서비스 추가를 선택합니다.

4. Available Services(사용 가능한 서비스) 드롭다운 목록이 표시됩니다. 원하는 서비스 및 메시지 유형을 선택합니다.

5. 필요에 따라 단계를 반복하여 서비스를 추가합니다.

6. 이미지에 표시된 대로 장치에 적용을 선택합니다.

1. OUT 서비스에 대한 서비스 목록명을 정의합니다.

2. 외부 방향을 선택합니다.

3. 사용 가능한 서비스를 배정된 서비스 목록으로 이동합니다.

5. 필요에 따라 단계를 반복하여 서비스를 추가합니다.

6. 이미지에 표시된 대로 장치에 적용을 선택합니다.

팁: 이전 AireOS WLC에서 마이그레이션 작업을 수행하면 AireOS 기본 mDNS 목록을 기반으로 새 목록을 작성할 수 있습니다.

3단계(선택 사항) 사용자 지정 서비스 목록을 사용하는 경우(2단계), 해당 사용자 지정 서비스 목록과 함께 사용할 사용자 지정 mDNS 서비스 정책을 정의해야 합니다. Configuration(컨피그레이션) > Services(서비스) > mDNS > Service Policy(서비스 정책)로 이동합니다. Service Policy(서비스 정책)를 선택하고 다음 단계를 수행합니다.

1. 서비스 정책 이름을 정의합니다.

2. 사용자 지정 서비스 목록 IN을 서비스 목록 입력에 추가합니다.

3. 서비스 목록 출력에 고객 서비스 목록 출력을 추가합니다.

4. "위치"에서 사이트 태그, LSS(위치별 서비스) 또는 원하는 사용 가능 옵션을 선택합니다. 이 예에서는 이미지에 표시된 대로 site-tag가 사용됩니다.

4단계. (선택 사항) 정책 프로필에 mDNS 서비스 정책 전달

Configuration(컨피그레이션) > Tags & Profiles(태그 및 프로필) > Policy(정책) > Policy Profile Name(정책 프로필 이름) > Advanced(고급)로 이동하고 mDNS Service Policy(mDNS 서비스 정책) 드롭다운 목록에서 이전에 생성한 사용자 지정 mDNS 서비스 정책(이 예에서는 mdns-policy1)을 선택한 다음, Update and Apply to Device(디바이스에 업데이트 및 적용)를 이미지에 표시된 대로 선택합니다.

5단계. Configuration(컨피그레이션) > Tags & Profiles(태그 및 프로필) > WLANs(WLAN) > WLAN > Advanced(고급)로 이동하고 mDNS 모드 드롭다운 목록에서 Gateway(게이트웨이)를 선택한 다음 Update and Apply to Device(디바이스에 업데이트 및 적용)를 선택합니다. 기본 모드는 Bridging(Drop(삭제)을 사용하여 이미지에 표시된 대로 WLAN에서 mDNS 서비스를 비활성화/삭제할 수 있음)입니다.

사용자 지정 서비스 정책을 사용하지 않는 경우 WLAN은 정책 프로파일에 할당된 default-mdns-service-policy를 사용하며, 이는 mDNS default-service-list를 사용합니다. 다음 명령을 사용하여 기본 서비스 목록을 확인할 수 있습니다.

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

명령줄 인터페이스를 통해 mDNS 게이트웨이 구성

1단계. 다음 명령을 사용하여 전역적으로 mDNS를 활성화합니다.

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)#

2단계(선택 사항) IN 서비스에 대한 사용자 지정 서비스 목록을 구성하고 사용 가능한 목록에 필요한 다른 서비스를 추가합니다.

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

OUT 서비스에 대한 사용자 지정 서비스 목록을 구성하고 사용 가능한 목록에 필요한 다른 서비스를 추가합니다.

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

3단계(선택 사항) 다음 명령을 사용하여 mDNS 서비스 정책을 생성합니다.

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)#

4단계(선택 사항) 다음 명령을 사용하여 정책 프로필에 mDNS 서비스 정책을 추가합니다.

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

5단계. 다음 명령을 사용하여 WLAN에서 mDNS 게이트웨이를 활성화합니다.

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

앵커-외부 시나리오

외부 및 앵커 WLC가 모두 C9800이고 무선 클라이언트가 Anchor 컨트롤러의 VLAN에서 IP 주소를 가져오는 모빌리티 앵커 WLAN에서 mDNS 게이트웨이 기능을 구현하는 경우, 이는 동작 및 필수 설정입니다.

- 앵커 컨트롤러는 mDNS 게이트웨이 역할을 하며, 해당 앵커 WLAN 및 해당 VLAN에 연결된 모든 디바이스에서 서비스를 캐시하고 캐시된 서비스에 대한 쿼리에 응답합니다.

- C9800 Anchor 컨트롤러는 쿼리에 응답할 때 응답을 소싱하고 서비스를 요청하는 클라이언트에 할당된 VLAN의 SVI IP 주소를 사용할 수 있습니다. 따라서 mDNS 서비스가 필요한 모든 클라이언트 VLAN은 앵커의 SVI에 IP 주소가 있어야 합니다.

- mDNS 게이트웨이는 외부 WLC 및 앵커 WLC 모두에서 전역적으로 활성화되어야 합니다.

- 외부 컨트롤러와 앵커 컨트롤러 모두 동일한 서비스(기본값 또는 사용자 지정)에 동일한 mDNS 서비스 정책을 사용할 수 있습니다. 이는 이 앵커 WLAN에 연결된 정책 프로파일에 할당될 수 있습니다. 이러한 모든 컨피그레이션 설정은 이 문서에서 이미 다룬 단계와 동일합니다.

- 모빌리티 앵커 WLAN 설정의 유일한 컨피그레이션 차이점은 다음과 같습니다. WLAN > 고급 설정, mDNS 모드로 이동합니다. 외부 C9800은 브리징이어야 하고 앵커 C9800은 게이트웨이여야 합니다.

다음을 확인합니다.

구성이 올바르게 작동하는지 확인하려면 이 섹션을 활용하십시오.

명령 사용:

C9800#show mdns-sd summary

mDNS Gateway: Enabled

Active Query: Enabled

Periodicity (in minutes): 30

Transport Type: Both IPv4 and IPv6

WLC가 mDNS 서비스를 실제로 캐시하고 있는지, 그리고 어떤 서비스(모빌리티 앵커 WLAN의 경우 앵커 컨트롤러에서 이 캐시를 확인할 수 있음)를 검토하십시오. 여기서 mDNS 캐시된 서비스를 나열하면 서비스를 제공하는 장치의 소스 MAC 주소와 해당 IP 주소 및 기타 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#

문제 해결

이 섹션에서는 컨피그레이션 문제를 해결하는 데 사용할 수 있는 정보를 제공합니다.

C9800에서 발생하는 모든 교환, 쿼리, 캐싱 동작, 응답, 삭제, 오류 등에 대한 자세한 내용을 확인해야 하는 경우, 문제를 다시 생성하는 동안 C9800에서 이러한 추적을 수집합니다(서비스를 제공하는 디바이스와 클라이언트가 서비스를 요청하는 디바이스를 연결하면 필요한 서비스를 검색하도록 허용).

1. C9800에서 이 명령 실행: 플랫폼 소프트웨어 추적 wwncd <0-7> 섀시 활성 R0 mdns 디버그 설정

2. 문제를 재현합니다.

3. 마지막으로, 이 명령을 실행하여 활성화된 추적을 수집합니다. show platform software trace message wncd <0-7> chassis active R0

관련 정보

- WLC(Wireless LAN Controller)에서 mDNS 게이트웨이 트러블슈팅 및 이해

- 기술 지원 및 문서 − Cisco Systems