소개
이 문서에서는 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당 mDNS 브리징을 비활성화할 수 있습니다. AP(Access Point) CAPWAP(Control and Provisioning of Wireless Access Points) 멀티캐스트-멀티캐스트 모드가 활성화되면 C9800은 각 mDNS 패킷을 컨트롤러에 구성된 AP 멀티캐스트 그룹에 연결합니다. 이렇게 하면 무선 클라이언트가 패킷을 수신할 수 있습니다.
CAPWAP Multicast-Multicast 모드가 활성화되지 않은 경우, C9800은 수신된 각 mDNS 패킷의 사본을 생성하고 CAPWAP 유니캐스트 터널을 통해 각 단일 AP에 개별적으로 연결합니다. 두 시나리오 모두에서 C9800은 mDNS 패킷을 시작한 클라이언트의 VLAN에 있는 유선 네트워크에 mDNS 패킷을 연결합니다.
구성
C9800 컨트롤러에서 멀티캐스트 모드 구성
1단계. Configuration(컨피그레이션) -> Services(서비스) -> multicast(멀티캐스트)로 이동합니다.
2단계. "전역 무선 멀티캐스트 모드" 사용
3단계. AP CAPWAP Multicast를 "Multicast"로 설정
4단계. "AP CAPWAP IPv4 멀티캐스트 그룹 주소"에서 멀티캐스트 IP 할당(범위 224.0.0.0~239.255.255.255)
5단계. "AP CAPWAP IPv6 멀티캐스트 그룹 주소"는 선택 사항입니다.
6단계. "무선 mDNS 브리징" 사용
7단계. "IGMP 스누핑" 사용
레이어 3 스위치에서 PIM sparse-dense 모드를 사용하여 멀티캐스트 라우팅 구성
1단계. 멀티캐스트 라우팅 및 igmp 스누핑을 활성화합니다.
Switch# config t
Switch(config)# ip multicast-routing
Switch(config)# interface vlan <vlan-id>
Switch(config-if)# ip igmp snooping
Switch(config)# end
2단계. 멀티캐스트 트래픽을 라우팅하려는 VLAN 인터페이스에서 PIM을 활성화합니다.
Switch> enable
Switch# config t
Switch(config)# interface vlan <vlan-id>
Switch(config-if)# ip pim sparse-dense-mode
Switch(config-if)# end
다음을 확인합니다.
구성이 올바르게 작동하는지 확인하려면 이 섹션을 활용하십시오.
C9800 명령:
C9800# show wireless multicast
C9800# show ap multicast mom
Layer3 Switch 명령:
Switch# show ip pim interface
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에서 이러한 추적을 수집합니다(서비스를 제공하는 디바이스와 클라이언트가 서비스를 요청하는 디바이스를 연결하면 필요한 서비스를 검색하도록 허용).
- C9800에서 이 명령 실행: 플랫폼 소프트웨어 추적 wwncd <0-7> 섀시 활성 R0 mdns 디버그 설정
- 문제를 재현합니다.
- 마지막으로, 이 명령을 실행하여 활성화된 추적을 수집합니다. show platform software trace message wncd <0-7> chassis active R0
관련 정보