簡介
本檔案介紹如何在Catalyst 9800無線控制器上設定多點傳送網域名稱服務(mDNS)閘道功能。
必要條件
需求
思科建議您瞭解以下主題:
- mDNS Bonjour協定
- Catalyst 9800無線控制器
採用元件
本文中的資訊係根據以下軟體和硬體版本:
- C9800-CL-K9版本16.12.1s
- WS-C3560CX-12PC-S
- C9117AXI-A
- Chromecast NC2-6A5-D
- MacbookPro 10.14.5
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
本文檔還解釋這種稱為mDNS(或Bonjour)的特殊組播流量如何由C9800控制器處理。
mDNS橋
在C9800架構中,mDNS (Bonjour通訊協定)橋接是指在同一L2廣播網域內轉送Bonjour TTL=1通訊協定封包。預設情況下,資料平面為每個WLAN的有線埠和無線介面上接收的資料包啟用mDNS橋接功能。這意味著mDNS橋接無需任何特定配置即可工作,甚至無需啟用全局mDNS。
但是,如有必要,您可以透過更改WLAN設定中的mDNS模式停用每個WLAN的mDNS橋接。當無線存取點(AP)控制和配置無線存取點(CAPWAP)組播-組播模式啟用時,C9800會將每個mDNS資料包橋接到控制器上配置的AP組播組。這可確保無線客戶端可以接收資料包。
如果未啟用CAPWAP組播-組播模式,C9800會為收到的每個mDNS資料包建立一個副本,並透過CAPWAP單播隧道將其分別橋接到每個單一AP。在這兩種情況下,C9800也會將mDNS封包橋接至產生mDNS封包之使用者端的VLAN上的有線網路。
設定
在C9800控制器中配置組播模式
步驟 1.轉到配置->服務->組播
步驟 2.啟用「全局無線組播模式」
步驟 3.將AP CAPWAP組播設定為「組播」
步驟 4.在「AP CAPWAP IPv4組播組地址」中分配組播IP(範圍從224.0.0.0到239.255.255.255)
第5步:「AP CAPWAP IPv6組播組地址」是可選的
步驟 6.啟用「無線mDNS橋接」
步驟 7.啟用「IGMP監聽」
在第3層交換機上使用PIM稀疏-密集模式配置組播路由
步驟 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
第3層交換機命令:
Switch# show ip pim interface
mDNS可以在C9800中運行,無需任何特殊配置,只要mDNS握手涉及的裝置(例如客戶端和Chromecast)位於同一子網上。但是,建議使用mDNS網關過濾mDNS流量,如下一部分所述。
mDNS網關
AireOS無線控制器上引入的mDNS網關功能在來自16.11.1的Catalyst 9800無線控制器上也受支援。此功能預設為停用,您可以在全域啟用後針對每個WLAN啟用/停用。
mDNS網關功能的工作方式與以前的AireOS無線控制器相同,C9800在有線和無線介面上偵聽Bonjour服務(mDNS通告和查詢),快取從內部資料庫中每個源/主機通告的這些Bonjour服務(AirPlay、AirPrint、Googlecast等),能夠在過濾不需要的服務並避免其在網路中的組播流的同時,在不同廣播域之間橋接這些mDNS資料包。這樣,您就可以將此類服務的源和客戶端放在不同的子網中,還可以控制網路中的mDNS流量。
充當mDNS網關的C9800對來自客戶端(用於快取服務)的mDNS查詢做出應答,並使用其IP地址為請求該服務的客戶端分配的VLAN獲取這些mDNS響應。這就是為什麼C9800控制器上所有需要mDNS/Bonjour服務的客戶端的VLAN必須在交換虛擬介面(SVI)上配置有效的IP地址。
有關Bonjour/mDNS網關功能的詳細資訊,請參閱AireOS無線LAN控制器Bonjour階段III部署指南。
設定
網路圖表
這是範例設定的圖表。其目的是允許無線客戶端使用不同子網中的mDNS服務,這需要使用mDNS網關,如圖所示。
透過圖形使用者介面配置mDNS網關
步驟 1.要全局啟用mDNS網關,請導航到Configuration > Services > mDNS。在全域下,交換到Enable mDNS Gateway並選擇Apply,如下圖所示。
步驟2 (可選)。為自定義服務策略配置自定義mDNS服務清單。如果要使用預設的mDNS服務清單和服務策略,請轉到步驟5。
在Configuration > Services > mDNS下,在Service Policy頁籤中,根據需要配置新的服務清單。C9800具有大多數無線裝置使用的預定義公共服務。如果您不需要特殊(不可用)服務,可以使用預定義的可用服務建立清單,但是如果需要,您還可以增加新服務(使用服務定義)。
您同時需要兩者,一個是傳入(IN)方向的服務清單,一個是傳出(OUT)方向的服務清單(因此,進入C9800和離開時都會過濾所需的服務;因此,這兩個清單應該具有相同的服務)。
1. 定義IN服務的服務清單名稱。
2. 選擇IN方向。
3. 選擇增加服務。
4.顯示可用的服務下拉式清單。選擇所需的服務和消息型別any。
5. 重複步驟,根據需要增加更多服務。
6. 選擇應用於裝置,如下圖所示。
1. 定義OUT服務的服務清單名稱。
2. 選擇OUT方向。
3. 將可用的服務移至指定的服務清單。
5. 重複步驟,根據需要增加更多服務。
6. 選擇應用於裝置,如下圖所示。
提示:完成上一個AireOS WLC的遷移任務後,您可以根據AireOS預設mDNS清單構建新清單。
步驟3 (可選)。如果使用自定義服務清單(步驟2.),則需要定義與這些自定義服務清單一起使用的自定義mDNS服務策略。導航到配置>服務> mDNS >服務策略。 選擇Service Policy,並執行以下步驟:
1. 定義服務策略名稱。
2. 將您的自定義服務清單增加到Service List Input。
3. 將您的客戶服務清單增加到服務清單輸出。
4. 在「位置」下,選擇site-tag、Location Specific Services (LSS)或首選可用選項。本示例中使用site-tag,如圖所示。
步驟4. (選擇性)。將mDNS服務策略傳遞到策略配置檔案。
導覽至Configuration > Tags & Profiles > Policy > Policy Profile Name > Advanced,然後從mDNS Service Policy下拉式清單中選擇先前建立的自訂mDNS服務原則(在此範例中為mdns-policy1),然後選擇Update和Apply to Device(如圖所示)。
步驟 5.導航到配置>標籤和配置檔案> WLAN > WLAN >高級,選擇網關 on mDNS mode下拉選單,然後選擇更新和應用於裝置。預設模式為橋接(您可以使用Drop在WLAN上停用/丟棄mDNS服務),如下圖所示。
如果未使用自定義服務策略,則WLAN會使用分配給策略配置檔案的預設mdns服務策略,該策略使用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
錨點外部案例
在移動錨點WLAN中實施mDNS網關功能時,其中外部WLC和錨點WLC均為C9800,無線客戶端從錨點控制器中的VLAN獲取其IP地址,這是行為和所需的設定:
- 錨點控制器是充當mDNS網關的控制器,用於快取連線到該錨點WLAN的所有裝置和相應VLAN的服務,並響應對這些快取服務的查詢。
- 當它響應查詢時,C9800錨點控制器可以獲取響應,並使用分配給請求服務的客戶端的VLAN的SVI IP地址。因此,所有需要mDNS服務的客戶端VLAN必須在錨點中的SVI處具有IP地址。
- 必須在外部和錨點WLC上全局啟用mDNS網關。
- 外部和錨點控制器都可以使用相同的mDNS服務策略搭配相同的服務(預設或自定義),這些服務可以分配給連結到此錨點WLAN的策略配置檔案。所有這些配置設定與本文檔中介紹的步驟相同。
- 移動錨點WLAN設定的唯一配置不同之處在於;導航到WLAN > Advanced設定,即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上運行此命令:set platform software trace wncd <0-7> chassis active R0 mdns debug
- 重現問題。
- 最後,運行此命令來收集已啟用的跟蹤資訊:show platform software trace message wncd <0-7> chassis active R0
相關資訊