本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本檔案介紹如何在9800無線LAN控制器中設定FlexConnect多點傳送網域名稱系統(mDNS)閘道。
思科建議您瞭解以下主題:
本文中的資訊係根據以下軟體和硬體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
多點傳送網域名稱系統(mDNS)是一種通訊協定,可為服務提供者(SP)和服務使用者(無線使用者端)之間的服務發現和共用提供靈活性。 服務提供商是提供印表機、智慧電視、檔案共用服務等服務的裝置,使用者可以使用這些服務。
mDNS協定基於UDP,對IPv4使用埠5353、Mac地址01:00:5E:00:00:FB和IP地址224.0.0.251,對IPv6使用FF02::FB。
mDNS在WLC中有兩種工作模式:橋接和網關。橋接模式僅在服務提供商和服務使用者必須位於同一子網的同一個VLAN(第2層)中起作用。網關模式與相同或不同Vlan中的服務提供商和服務使用者協同工作,WLC或AP執行Bonjour網關,以快取來自服務提供商的服務並與服務使用者共用。
本文檔僅基於mDNS FlexConnect本地交換,在這種情況下,AP將充當mDNS網關,以快取服務提供商通告的服務,並與服務使用者共用這些服務。
附註:如需中央交換mDNS組態,請參閱瞭解Catalyst 9800無線控制器上的mDNS
無線和有線服務提供商在FlexConnect本地交換環境中通告mDNS服務,以及利用mDNS服務的無線客戶端(服務使用者)。
網路圖表
要使AP作為mDNS網關工作,需要通過全域性啟用mDNS網關來開啟該功能。
WLC GUI
導覽至Configuration > Services > mDNS > Global > mDNS Gateway,如下圖所示。
mDNS全域性配置
WLC CLI
WLC#
WLC#conf t
WLC(config)#mdns-sd gateway
WLC(config-mdns-sd)#end
WLC#
配置服務清單以允許首選的mDNS服務。該清單必須按兩個方向進行配置,即IN和OUT,用於過濾充當mDNS網關的接入點允許哪些入口和出口服務。
WLC GUI
導覽至Configuration > Services > mDNS > Service Policy > Service List,如下圖所示。
在服務清單中選擇所需的服務
WLC CLI
WLC#
WLC#conf t
WLC(config)#mdns-sd service-list FlexIN IN
WLC(config-mdns-sl-in)#match airplay
WLC(config-mdns-sl-in)#match spotify
WLC(config-mdns-sl-in)#exit
WLC(config)#mdns-sd service-list FlexOUT OUT
WLC(config-mdns-sl-out)#match airplay
WLC(config-mdns-sl-out)#match spotify
WLC(config-mdns-sl-out)#end
WLC#
使用所需的服務配置「服務清單輸入」和「服務輸出」後,會使用服務策略來合併它們。合併後,此服務策略可用於WLAN-Policy、FlexConnect配置檔案和mDNS Flex Policy。
WLC GUI
導覽至Configuration > Services > mDNS > Service Policy > Service Policy,如下圖所示。
合併mDNS策略中的mDNS服務清單
WLC CLI
WLC#
WLC#conf t
WLC(config)#mdns-sd service-policy mDNSFlexSSIDPolicy
WLC(config-mdns-ser-pol)#service-list FlexIN IN
WLC(config-mdns-ser-pol)#service-list FlexOUT OUT
WLC(config-mdns-ser-pol)#end
WLC#
在mDNS Flex Profile中,需要將使用mDNS的FlexConnect本地交換Vlan新增到Flex Profile中,運營商和服務使用者的Vlan必須新增到mDNS Flex Profile中,同時新增mDNS服務策略,該策略允許通過有線過濾服務。
WLC GUI
導覽至Configuration > Services > mDNS > mDNS Flex Profile,如下圖所示。
建立mDNS FlexConnect配置檔案
WLC CLI
WLC#
WLC#conf t
WLC(config)#mdns-sd flex-profile mDNSFlexPolicy
WLC(config-mdns-flex-prof)#wired-vlan-range 11,21
WLC(config-mdns-flex-prof)#wired-service-policy mDNSFlexSSIDPolicy
WLC(config-mdns-flex-prof)#end
WLC#
預設情況下,每個WLAN都將mDNS模式設定為橋接。為了讓AP知道何時充當通過無線連線的服務提供商的mDNS網關以及服務使用者的mDNS網關,WLAN必須配置為mDNS作為網關模式。
WLC GUI
導覽至Configuration > Tags & Profiles > WLANs,如下圖所示。
在mDNS網關模式下配置SSID
WLC CLI
WLC#
WLC#conf t
WLC(config)#wlan ServiceUser
WLC(config-wlan)#mdns-sd-interface gateway
WLC(config-wlan)#end
WLC#
警告:WLAN中的配置更改會導致連線的無線客戶端從SSID中斷開。在生產期間,請謹慎處理WLAN中的任何配置更改。
對於無線服務提供商和無線使用者提供商,一旦將mDNS服務應用於WLAN的WLAN策略,就會使用先前配置的mDNS策略過濾mDNS服務。
WLC GUI
導覽至Configuration > Tags & Profiles > Policy,如下圖所示。
分配mDNS策略
WLC CLI
WLC#
WLC#conf t
WLC(config)#wireless profile policy ServiceUser-Policy
WLC(config-wireless-policy)#mdns-sd service-policy mDNSFlexSSIDPolicy
WLC(config-wireless-policy)#end
WLC#
警告:WLAN-Policy中的配置更改會導致連線的無線客戶端從WLAN中斷開。在生產期間,請謹慎使用WLAN-Policy中的任何配置。
附註:如需一般FlexConnect組態,請參閱瞭解Catalyst 9800無線控制器上的FlexConnect
在應用Vlan、ACL等配置的FlexConnect策略中,需要選擇mDNS靈活配置檔案,以將其應用於屬於FlexConnect策略的AP。
WLC GUI
導覽至Configuration > Tags & Profiles > Flex,如下圖所示。
分配mDNS Flex配置檔案
WLC CLI
WLC#
WLC#conf t
WLC(config)#wireless profile flex mDNSFlexPolicy
WLC(config-wireless-flex-profile)#mdns-sd profile mDNSFlexPolicy
WLC(config-wireless-flex-profile)#end
WLC#
在WLC和AP中,可以使用這些命令檢查設定。
可以使用以下命令檢查常規FlexConnect mDNS配置的示例:
WLC#show run | sec mdns-sd
mdns-sd gateway
mdns-sd service-list FlexIN IN
match airplay
match spotify
match airtunes
match apple-tv
match airserver
match web-server
match homesharing
mdns-sd service-list FlexOUT OUT
match airplay
match spotify
match airtunes
match apple-tv
match airserver
match web-server
match homesharing
mdns-sd service-policy mDNSFlexSSIDPolicy
service-list FlexIN IN
service-list FlexOUT OUT
mdns-sd flex-profile mDNSFlexPolicy
wired-vlan-range 11,21
wired-service-policy mDNSFlexSSIDPolicy
mdns-sd profile mDNSFlexPolicy
可以使用以下命令檢查WLAN mDNS模式:
WLC#show wlan name ServiceUser | in mDNS
mDNS Gateway Status : Gateway
WLC#show wlan name ServiceProvider | in mDNS
mDNS Gateway Status : Gateway
可以使用以下命令檢查WLAN-Policy mDNS配置:
WLC#show wireless profile policy detailed ServiceUser-Policy | in mDNS
mDNS Service Policy name : mDNSFlexSSIDPolicy
WLC#show wireless profile policy detailed ServiceProvider-Policy | in mDNS
mDNS Service Policy name : mDNSFlexSSIDPolicy
可以使用以下命令從AP端檢查與mDNS相關的配置:
9130mDNSAP#show mdns profile detail
FlexIN_IN _home-sharing._tcp.local ANY
FlexIN_IN _airplay._tcp.local ANY
FlexIN_IN _airserver._tcp.local ANY
FlexIN_IN _raop._tcp.local ANY
FlexIN_IN _spotify-connect._tcp.local ANY
FlexIN_IN _http._tcp.local ANY
FlexOUT_OUT _home-sharing._tcp.local ANY
FlexOUT_OUT _airplay._tcp.local ANY
FlexOUT_OUT _airserver._tcp.local ANY
FlexOUT_OUT _raop._tcp.local ANY
FlexOUT_OUT _spotify-connect._tcp.local ANY
FlexOUT_OUT _http._tcp.local ANY
9130mDNSAP#show mdns status
Global mDNS gateway:Enabled
vap_id ssid mdns_mode
0 ServiceUser Gateway
1 ServiceProvider Gateway
Active query interval:30
vap service_list_in service_list_out location
0 FlexIN_IN FlexOUT_OUT 0
1 FlexIN_IN FlexOUT_OUT 0
Wired vlan configuration: 11 21
mdns stats timer: 1
mdns cache timer: 1
AP Sync VLAN: 10
Wired service list IN: FlexIN_IN
Wired service list OUT: FlexOUT_OUT
9130mDNSAP#show mdns ap-table
AP_ETH_MAC Last_message_time Msg_seq Is_primary_ap
3C:57:31:55:E4:28 1721178339 133 YES
0C:D0:F8:98:1B:F0 1721178339 133 NO
為了進行疑難排解,本檔案介紹mDNS在FlexConnect本地交換中執行的工作流程。請務必留意,由於FlexConnect本地交換的部署模式,WLC在mDNS管理方式方面沒有任何角色。
AP本身是mDNS網關裝置。AP從服務提供商那裡獲取服務,並與服務使用者共用服務。當AP、服務提供商和服務使用者位於不同的VLAN中時,會出現這種情況。
每個網路圖部分:
服務供應商檢測到存在到網路的連線後,會使用一種稱為探測的機制。它會傳送mDNS查詢,以確定是否有任何其他網路裝置提供相同的mDNS服務。在探測之後,有線服務提供商使用通告機制,它傳送mDNS型別響應來通告其支援的服務。
接下來,從mDNS網關AP交換機埠捕獲的資料包會通告服務提供商支援的服務。封包來源為Vlan 11中服務提供方的MAC位址和IP位址,且具有mDNS的MAC位址和IP位址目的地(包括使用UDP的mDNS連線埠5353),其中亦包含服務提供者支援的服務的答案。
下一張圖中的答案部分顯示了我們感興趣的服務,即airplay和spotify,後面的AP會快取這些服務並將其儲存在資料庫中。
mDNS服務提供者服務
在AP CLI中,也可以看到有線服務提供商宣佈的,若要從AP本身檢視任何mDNS資訊,必須啟用以下調試:
Jul 17 23:51:32 kernel: [*07/17/2024 23:51:32.0403] chatter: MDNSGW-EVENT: flex mdns gw: Recieved wired mdns packet on vlan 11
Jul 17 23:51:32 kernel: [*07/17/2024 23:51:32.0403] chatter: MDNSGW-EVENT: push: adding ptr record to cache: srv_name: _spotify-connect._tcp.local
Jul 17 23:51:32 kernel: [*07/17/2024 23:51:32.0404] chatter: MDNSGW-EVENT: mdns_ptr_db:updated TXT record TTL for ed9583d2b239afa30d7b0e7106c3710ddcfe5769._spotify-connect._tcp.local to 4500
Jul 17 23:51:32 kernel: [*07/17/2024 23:51:32.0404] chatter: MDNSGW-EVENT: mdns_ptr_db:added/updated PTR record for _spotify-connect._tcp.local
Jul 17 23:51:32 kernel: [*07/17/2024 23:51:32.0404] chatter: MDNSGW-EVENT: push: added ptr record to cache: srv_name: _spotify-connect._tcp.local
Jul 17 23:51:32 kernel: [*07/17/2024 23:51:32.0404] chatter: MDNSGW-EVENT: push: adding ptr record to cache: srv_name: _airplay._tcp.local
Jul 17 23:51:32 kernel: [*07/17/2024 23:51:32.0404] chatter: MDNSGW-EVENT: mdns_ptr_db:updated TXT record TTL for Samsung CU7000 55 TV._airplay._tcp.local to 4500
Jul 17 23:51:32 kernel: [*07/17/2024 23:51:32.0405] chatter: MDNSGW-EVENT: mdns_ptr_db:added/updated PTR record for _airplay._tcp.local
Jul 17 23:51:32 kernel: [*07/17/2024 23:51:32.0405] chatter: MDNSGW-EVENT: push: added ptr record to cache: srv_name: _airplay._tcp.local
一旦AP瞭解這些服務,就會將其儲存到資料庫中。
可以使用以下命令檢查AP資料庫中儲存的服務:
對於本文檔而言,下一個輸出顯示相關資訊以證明mDNS網關AP在其快取中有服務,但輸出更長。
接下來,突出顯示服務、服務提供商的MAC地址以及獲取服務的VLAN。
AP#show mdns cache
--------------------------------------------------- Service Provider Records--------------------------------------------------------------
service_name service_providers
_airplay._tcp.local Samsung CU7000 55 TV._airplay._tcp.local
_spotify-connect._tcp.local ed9583d2b239afa30d7b0e7106c3710ddcfe5769._spotify-connect._tcp.local
Total Services: 2
Total Service Providers: 2
------------------------------------------------------------ PTR Records -----------------------------------------------------------------
service_name client_mac ap_mac ap_ether_mac wired is_rlan is_aaa_override vlan wlan_id ttl flags client_type record_type target site_name ap_location ssid type
Samsung CU7000 55 TV._airplay._tcp.local E0:03:6B:45:8E:26 00:00:00:00:00:00 00:00:00:00:00:00 true false false 11 16 3840 132 0 12 _airplay._tcp.local PTR
ed9583d2b239afa30d7b0e7106c3710ddcfe5769._spotify-connect._tcp.local E0:03:6B:45:8E:26 00:00:00:00:00:00 00:00:00:00:00:00 true false false 11 16 3840 132 0 12 _spotify-connect._tcp.local PTR
如前面的步驟所示,有線服務提供商宣佈服務後,AP已快取服務並儲存在其資料庫中,服務使用者(無線客戶端)將查詢將裝置(筆記型電腦)的內容映象到智慧電視進行映象顯示。為了完成映象顯示,服務使用者在本示例中使用了播放服務。
由於服務使用者通過無線和無線連線,因此需要捕獲資料包來檢視來自服務使用者端的連線mDNS流。
從Over the Air捕獲,可以看到作為Vlan 21中的無線客戶端的服務使用者如何傳送帶有mDNS的802.11目標MAC地址的mDNS查詢,並且從IP地址部分可以看到mDNS的IP地址以及目標,埠是UDP 5353,並且在mDNS查詢中請求播放。服務使用者的MAC地址與其IP地址一起用作源。
mDNS服務使用者服務請求
從AP調試中可以看到AP如何接收無線mDNS資料包。調試顯示請求的服務,這些服務與上一步驟中捕獲的資料包顯示的服務相同。使用的mDNS調試包括:
Jul 18 02:04:45 kernel: [*07/18/2024 02:04:45.1824] chatter: MDNSGW-EVENT: flex mdns gw: Recieved wireless mdns packet
Jul 18 02:04:45 kernel: [*07/18/2024 02:04:45.1824] chatter: MDNSGW-PAK: query: 0/3 '_companion-link._tcp.local'
Jul 18 02:04:45 kernel: [*07/18/2024 02:04:45.1824] chatter: MDNSGW-PAK: query: 1/3 '_rdlink._tcp.local'
Jul 18 02:04:45 kernel: [*07/18/2024 02:04:45.1824] chatter: MDNSGW-PAK: query: 2/3 '_sleep-proxy._udp.local'
Jul 18 02:04:45 kernel: [*07/18/2024 02:04:45.7442] chatter: MDNSGW-PAK: query: 0/1 '_airplay._tcp.local'
附註:要在監聽器模式下使用AP接管無線資料包捕獲,請參閱本文檔在Catalyst 9800無線控制器上配置處於監聽器模式的接入點。要使用MacBook接管無線資料包捕獲,請參閱本文檔在MacBook上收集無線資料包捕獲
收到AP後,服務使用者的mDNS查詢會建立mDNS響應並通過無線方式傳送。響應源自AP MAC Add和IP Address,目標為Service User(無線客戶端)MAC Address,但mDNS IP Address用於包含作為響應的所需服務,這意味著此資料包將發往Service User,它是mDNS資料包。
從資料包還可看到AP如何在IP部分使用自己的IP地址將資料包源至mDNS IP地址以及mDNS埠UDP 5353,因為AP充當mDNS網關。
來自AP的mDNS服務響應
從調試中可以看到mDNS響應已傳送到服務使用者。要瞭解mDNS響應,需要檢查特定服務使用者的MAC地址和響應中接入點的MAC地址。它們一起顯示,如下圖所示的調試的突出顯示部分所示,從資料包捕獲的上一步看,服務使用者的MAC地址是a6c515dcdd57,接入點的MAC地址是0c75bdb5e9d0。
Jul 18 02:04:45 kernel: [*07/18/2024 02:04:45.7450] chatter: mdns response packet 599 | a6c515dc dd570c75 bdb5e9d0 08004500 02490000 0000fa11 1ddec0a8 0a3fc0a8 153614e9 14e90235 6b330000 80000000 00030000 00000e5f 6d657461 5f726573 706f6e73 65055f6d 646e7308 5f676174 65776179 035f6170 065f6c6f 63616c00 00100001 00000000 0000085f 61697270 6c617904 5f746370 056c6f63 616c0000 0c000100 0010a400 17145361 6d73756e 67204355 37303030 20353520 5456c040 c05f0010 00010000 10a401ab 0561636c 3d301a64 65766963 6569643d 45303a30 333a3642 3a34353a 38453a32 361b6665 61747572 65733d30 78374638 4144302c 30783338 42434634 36126665 783d3049 702f4145 62506977 4e414341 07727366 3d307833 1a66763d 7032302e 542d4b53 55324543 414b5543 2d313430 322e3806 61743d30 78310b66 6c616773 3d307832 30340d6d 6f64656c 3d554355 37303030 12696e74 65677261 746f723d 53616d73 756e6714 6d616e75 66616374 75726572 3d53616d 73756e67 1c736572 69616c4e 756d6265 723d3046 47463343 47573630 32313834 4b0d7072 6f746f76 6572733d 312e3111 73726376 6572733d 3337
前面的步驟為FlexConnect本地交換成功完成了mDNS資料包流,其中,服務提供商在Vlan 11中通過有線連線,AP在Vlan 10中,服務使用者在Vlan 21中。
無線服務提供商的運作方式與有線服務提供商的運作方式完全相同。AP會傳送探測以及服務的通知,快取服務並將服務儲存到資料庫中。本節旨在說明在服務提供商通過無線連線時,執行mDNS網關的AP如何學習服務。
有線和無線服務提供商的區別在於802.11發生後資料包的空中外觀。在下一個資料包中,可以看到Vlan 11中的無線服務提供商如何通過埠UDP 5353(服務列為應答),傳送帶有源自己的MAC地址和IP地址的mDNS資料包,目的地是mDNS Mac地址和IP ADD。
無線服務提供商mDNS服務
從AP調試中可以看到AP如何獲取無線mDNS資料包並將獲知的服務新增到資料庫。
Jul 18 02:42:01 kernel: [*07/18/2024 02:42:01.7785] chatter: MDNSGW-EVENT: flex mdns gw: Recieved wireless mdns packet
Jul 18 02:42:01 kernel: [*07/18/2024 02:42:01.7786] chatter: MDNSGW-EVENT: push: added ptr record to cache: srv_name: _spotify-connect._tcp.local
Jul 18 02:42:01 kernel: [*07/18/2024 02:42:01.7786] chatter: MDNSGW-EVENT: push: adding ptr record to cache: srv_name: _services._dns-sd._udp.local
Jul 18 02:42:01 kernel: [*07/18/2024 02:42:01.7786] chatter: MDNSGW-EVENT: push: adding ptr record to cache: srv_name: _airplay._tcp.local
Jul 18 02:42:01 kernel: [*07/18/2024 02:42:01.7787] chatter: MDNSGW-EVENT: mdns_ptr_db:updated TXT record TTL for Samsung CU7000 55 TV._airplay._tcp.local to 4500
Jul 18 02:42:01 kernel: [*07/18/2024 02:42:01.7787] chatter: MDNSGW-EVENT: mdns_ptr_db:added/updated PTR record for _airplay._tcp.local
Jul 18 02:42:01 kernel: [*07/18/2024 02:42:01.7787] chatter: MDNSGW-EVENT: push: added ptr record to cache: srv_name: _airplay._tcp.local
一旦AP快取服務,就會構建資料庫,並且與有線服務提供商服務相比它顯示一些差異,因為AP中的無線服務提供商資料庫顯示SSID名稱、站點名稱(站點TAG)等詳細資訊,並且下面更突出顯示。
AP#show mdns cache
--------------------------------------------------- Service Provider Records--------------------------------------------------------------
service_name service_providers
_airplay._tcp.local Samsung CU7000 55 TV._airplay._tcp.local
_spotify-connect._tcp.local ed9583d2b239afa30d7b0e7106c3710ddcfe5769._spotify-connect._tcp.local
Total Services: 2
Total Service Providers: 2
------------------------------------------------------------ PTR Records -----------------------------------------------------------------
service_name client_mac ap_mac ap_ether_mac wired is_rlan is_aaa_override vlan wlan_id ttl flags client_type record_type target site_name ap_location ssid type
Samsung CU7000 55 TV._airplay._tcp.local 68:FC:CA:6E:EB:0C 0C:75:BD:B3:20:A0 0C:75:BD:B5:E9:D0 false false false 11 1 4320 132 0 12 _airplay._tcp.local mDNSFlex-Site-TAG RemoteLocation ServiceProvider PTR
ed9583d2b239afa30d7b0e7106c3710ddcfe5769._spotify-connect._tcp.local 68:FC:CA:6E:EB:0C 0C:75:BD:B3:20:A0 0C:75:BD:B5:E9:D0 false false false 11 1 4320 132 0 12 _spotify-connect._tcp.local mDNSFlex-Site-TAG RemoteLocation ServiceProvider PTR
mDNS使用者服務查詢和AP mDNS網關應答完全相同,如有線服務提供商一節所述,服務使用者傳送mDNS查詢,AP mDNS充當網關,並向服務使用者傳送包含所需服務詳細資訊的響應。
每個站點標籤只有一個主mDNS AP,它負責兩個作業:
主AP從非主AP的角度通知更新,請記住所有AP都位於此站點的VLAN 10中:
Jul 18 03:26:25 kernel: [*07/18/2024 03:26:25.4852] chatter: MDNSGW-EVENT: flex mdns gw: Recieved wired mdns packet on vlan 10
Jul 18 03:26:25 kernel: [*07/18/2024 03:26:25.4853] chatter: MDNSGW-EVENT: Received _heartbeat record. data: digest=f7adbb063c274f6e4219f3a36abf7f787075b7e1
Jul 18 03:26:25 kernel: [*07/18/2024 03:26:25.4853] chatter: seq=355
Jul 18 03:26:25 kernel: [*07/18/2024 03:26:25.4853] chatter: is_primary_ap=true
Jul 18 03:26:25 kernel: [*07/18/2024 03:26:25.4854] chatter: MDNSGW-EVENT: Calculated digest=f7adbb063c274f6e4219f3a36abf7f787075b7e1
Jul 18 03:26:25 kernel: [*07/18/2024 03:26:25.4854] chatter: MDNSGW-EVENT: Verified meta message
Jul 18 03:26:25 kernel: [*07/18/2024 03:26:25.4854] chatter: MDNSGW-EVENT: [0C:75:BD:B5:E9:D0] Verified message from 3C:57:31:55:E4:28
Jul 18 03:26:25 kernel: [*07/18/2024 03:26:25.4854] chatter: MDNSGW-EVENT: New pkt from 3C:57:31:55:E4:28. Hash added to list
Jul 18 03:26:25 kernel: [*07/18/2024 03:26:25.4854] chatter: MDNSGW-EVENT: mdns_gw_ap_mgr :: MdnsGwApMgr: [3C:57:31:55:E4:28] Received _meta_heartbeat with message: seq=355, is_primary=true
9130mDNSAP#show mdns ap-table
AP_ETH_MAC Last_message_time Msg_seq Is_primary_ap
3C:57:31:55:E4:28 1721273666 363 YES
9130mDNSAP#
主mDNS AP向其他AP通知在主AP所屬的站點標籤和網路中獲知的服務。一旦mDNS資訊資料包到達同一站點標籤中的其他AP,如果獲悉新服務,將在AP中更新mDNS快取資料庫:
Jul 18 03:41:26 kernel: [*07/18/2024 03:41:26.1021] chatter: MDNSGW-EVENT: forward_packet: sending packet on vlan 10
Jul 18 03:41:26 kernel: [*07/18/2024 03:41:26.1023] chatter: send meta packet 177 | 01005e00 00fb3c57 3155e428 08004500 00a30000 0000fa11 1469c0a8 0a3de000 00fb14e9 14e9008f 450e0000 80000000 00010000 00000a5f 68656172 74626561 74055f6d 646e7308 5f676174 65776179 035f6170 065f6c6f 63616c00 00100001 00000000 004b2f64 69676573 743d6233 36336564 65343334 39643531 64613039 66613765 61313739 35346633 64666235 39383763 35340773 65713d33 37301269 735f7072 696d6172 795f6170 3d747275 65
主mDNS AP資料庫更新到WLC:
Jul 18 03:35:26 kernel: [*07/18/2024 03:35:26.3127] chatter: MDNSGW-EVENT: mdns_gw_visibility :: MdnsGwVisibility: MDNS Stats Timer triggered
Jul 18 03:35:26 kernel: [*07/18/2024 03:35:26.3128] chatter: MDNSGW-PAK: mdns_gw_visibility :: MdnsGwVisibility: sending mdns stats payload to capwapd
Jul 18 03:35:26 kernel: [*07/18/2024 03:35:26.3130] chatter: MDNSGW-EVENT: mdns_gw_visibility :: MdnsGwVisibility: MDNS Cache Timer triggered
Jul 18 03:35:26 kernel: [*07/18/2024 03:35:26.3131] chatter: MDNSGW-EVENT: mdns_gw_visibility :: MdnsGwVisibility: sending mdns cache IAPP payload. Total payloads sent - 2
主AP向WLC通知的服務提供的資訊包含瞭解到的服務。如果服務是通過AP通過有線或無線方式獲取的(在本例中是有線服務提供商),則從獲知站點標籤和Vlan,以及服務提供商名稱。對於無線服務提供商,WLAN ID反映該服務提供商所連線的WLAN。
導覽至Monitoring > Services > mDNS,如下圖所示。
從WLC GUI進行mDNS服務監控
mDNS服務清單和策略允許其控制網路中允許的mDNS服務。以下範例顯示如何過濾服務清單IN和OUT中不允許的mDNS服務。
要檢視正在通告或查詢但不允許的服務,請在AP中啟用此調試:
這些mDNS服務
不允許使用,因為未在「選擇mDNS服務」中配置的服務清單中配置和選擇它們。
Jul 18 03:46:41 kernel: [*07/18/2024 03:46:41.6986] chatter: MDNSGW-ERROR: Handle query: service_string:_airplay-bds._tcp.local not allowed by policy. Skipping it.
Jul 18 03:46:53 kernel: [*07/18/2024 03:46:53.7270] chatter: MDNSGW-ERROR: Handle query: service_string:6A:FC:CA:6E:EB:0C@0.0.0.0._wake._tcp.local not allowed by policy. Skipping it.
如果需要特殊服務清單,需要在WLC的mDNS組態中,將相同服務新增到「服務定義」區段中。一旦服務在WLC中作為服務新增並在「服務清單輸入和輸出」中進行選擇,就會通過mDNS服務原則將其推送到FlexConnect AP。
為此,您需要瞭解所需的確切服務,並從「服務定義」部分為服務新增自定義名稱和服務字串。
在本示例中,新增了由mDNS網關AP在Services not allowed per mDNS Service List部分過濾的兩個服務。
導覽至Configuration > Services > mDNS > Service Policy > Service Definition,如下圖所示。
mDNS自定義服務定義
本檔案不涵蓋mDNS橋接模式,因為在FlexConnect本地交換中,此mDNS模式從AP的角度被視為常規資料流量。在FlexConnect本地交換中為mDNS啟用橋接模式時,AP只需轉發從有線或無線接收的mDNS資料包。這些資料包僅在同一個VLAN中轉發,這意味著服務提供商和服務使用者必須位於同一個VLAN中,mDNS才能正常工作。mDNS橋接在Vlan之間不起作用。
如果某些WLAN不需要mDNS,但其他WLAN確實需要該mDNS,則可以根據WLAN配置mDNS模式丟棄。啟用mDNS捨棄後,mDNS不會通過連線到WLAN的裝置。
導覽至Configuration > Tags & Profiles > WLANs,如下圖所示。
mDNS丟棄模式
修訂 | 發佈日期 | 意見 |
---|---|---|
2.0 |
29-Jan-2025
|
已更新Alt文本、影象字幕、機器翻譯和格式設定。 |
1.0 |
29-Jul-2024
|
初始版本 |