目錄

簡介

必要條件

需求

採用元件

背景資訊

網路圖表

組態

在WLC中全局啟用mDNS

選取服務清單中的mDNS服務

將服務清單與服務策略合併

配置mDNS Flex配置檔案

使用mDNS網關模式配置WLAN

將mDNS服務策略應用於WLAN策略

在FlexConnect策略中配置mDNS Flex配置檔案

驗證

WLC Show命令

AP Show命令

疑難排解

有線服務提供商

無線服務提供商

主mDNS AP

每個mDNS服務清單不允許的服務

服務定義中的自定義mDNS服務配置

FlexConnect mDNS橋接模式

Flexconnect mDNS捨棄模式

簡介

本檔案介紹如何在9800無線LAN控制器中設定FlexConnect多點傳送網域名稱系統(mDNS)閘道。

必要條件

需求

思科建議您瞭解以下主題：

- 9800無線LAN控制器mDNS概念

- FlexConnect本地交換概念

採用元件

本文中的資訊係根據以下軟體和硬體版本：

- Catalyst 9800無線控制器系列(Catalyst 9800-L)、Cisco IOS® XE Cupertino 17.9.5

- 整合多業務路由器(ISR)，Cisco IOS® XE直布羅陀版17.6.5

- Catalyst 3560系列交換機，Cisco IOS® 15.2.4E10

- 存取點9117AXI-B、存取點9130AXI-B

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

背景資訊

多點傳送網域名稱系統(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服務的無線客戶端（服務使用者）。

組態

在WLC中全局啟用mDNS

要使AP作為mDNS網關工作，需要全局啟用mDNS網關來打開該功能。

WLC GUI

mDNS全局配置

WLC CLI

WLC#

WLC#conf t

WLC(config)#mdns-sd gateway

WLC(config-mdns-sd)#end

WLC#

選取服務清單中的mDNS服務

配置服務清單以允許首選的mDNS服務。清單必須按兩個方向進行配置，即IN和OUT，用於過濾作為mDNS網關的存取點允許哪些入口和出口服務。

WLC GUI

在「服務清單」中選擇所需的服務

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#

將服務清單與服務策略合併

使用所需的服務配置了IN和OUT服務清單後，將使用服務策略將其合併。合併後，此服務策略可用於WLAN策略、FlexConnect配置檔案和mDNS Flex策略。

WLC GUI

合併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配置檔案

在mDNS Flex Profile中，需要將使用mDNS的FlexConnect本地交換Vlan增加到Flex Profile中，服務提供商和服務使用者的Vlan必須增加到mDNS Flex Profile中，以及允許透過有線過濾服務的mDNS服務策略。

WLC GUI

建立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#

使用mDNS網關模式配置WLAN

預設情況下，每個WLAN都將mDNS模式用作橋接。為了讓AP知道何時充當透過無線連線的服務提供商的mDNS網關，以及服務使用者的mDNS網關，WLAN必須配置為mDNS作為網關模式。

WLC GUI

在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策略

對於無線服務提供商和無線使用者提供商，在將mDNS服務應用到WLAN的WLAN策略後，將使用之前配置的mDNS策略對其進行過濾。

WLC GUI

分配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策略中的任何配置。

注意：有關常規FlexConnect配置，請參閱瞭解Catalyst 9800無線控制器上的FlexConnect

在FlexConnect策略中配置mDNS Flex配置檔案

在應用Vlan、ACL等配置的FlexConnect策略中，需要選擇mDNS Flex配置檔案以將其應用於屬於FlexConnect策略的AP。

WLC GUI

分配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，可以使用以下命令檢查配置。

WLC Show命令

可以使用以下命令檢查常規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策略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 Show命令

從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中。

根據網路圖部分：

- 服務提供商位於Vlan 11中

- 服務使用者位於Vlan 21中

- 存取點位於Vlan 10中

有線服務提供商

服務提供商一旦檢測到存在與網路的連線，就會使用稱為探測的機制，然後傳送mDNS查詢以確定是否有其他網路裝置提供相同的mDNS服務。在探測之後，有線服務提供商使用通告機制，它傳送mDNS型別響應以通告其支援的服務。

接下來，從mDNS網關AP交換機埠捕獲資料包，顯示服務提供商宣佈其支援的服務。資料包源自Vlan 11中服務提供商的MAC地址和IP地址，並且它具有mDNS的MAC地址和IP地址目的地，包括透過UDP的mDNS埠5353，它還包含服務提供商支援的服務的答案。

下圖中的答案部分顯示了我們感興趣的服務，即airplay和spotify，後來AP快取這些服務並將其儲存在資料庫中。

mDNS服務提供者服務

從AP CLI中，也可以看到有線服務提供商通告，要檢視AP本身提供的任何mDNS資訊，必須啟用以下調試：

- AP#debug mdns事件

- AP#debug mdns packets

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資料庫中儲存的服務：

- AP#show mdns cache

就本文檔而言，下一個輸出顯示相關資訊以證明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調試包括：

- AP#debug mdns事件

- AP#debug mdns packets

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響應並透過無線傳送。響應的來源還包括存取點MAC Add和IP地址，目標是服務使用者（無線客戶端）MAC地址，但mDNS IP地址與所需服務一起用作答案，這意味著此資料包將傳送給服務使用者，並且是mDNS資料包。

從資料包中也可以看到，由於AP充當mDNS網關，因此AP如何在IP部分中使用自己的IP地址來向mDNS IP地址和mDNS埠UDP 5353傳送資料包。

來自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傳送一個mDNS資料包，該資料包的源地址為自己的MAC地址和IP地址，目的地址為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

每個站點標籤只有一個主mDNS AP，它負責兩項工作：

1. 只要所有AP mDNS資料庫屬於相同的站點標籤，則保持這些資料庫處於更新狀態，因此每個AP的mDNS資料庫都相同，並且沒有缺少mDNS服務。

2. 通知WLC有關在遠端位置獲取的mDNS服務（這只是資訊性服務，僅用於管理，WLC無法使用這些服務）。

主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在站點標籤中所獲知的服務以及主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

對WLC的主mDNS AP資料庫更新：

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（在此示例中為有線服務提供商）透過有線或無線方式獲取的，則主AP向WLC通知的服務會提供包含所獲取服務的資訊、所獲取服務的站點TAG和Vlan以及服務提供商名稱。對於無線服務提供商，WLAN ID反映了服務提供商所連線的WLAN。

從WLC GUI進行mDNS服務監控

每個mDNS服務清單不允許的服務

mDNS服務清單和策略允許控制網路中允許的mDNS服務，以下示例說明如何過濾服務清單IN和OUT中不允許的mDNS服務。

要檢視正在通告或查詢但不允許的服務，請在AP中啟用此調試：

- AP#debug mdns錯誤

這些mDNS服務

- _airplay-bds._tcp.local

- _wake._tcp.local

不允許使用，因為未在Select mDNS Services中配置的Service List中配置和選擇它們。

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.

服務定義中的自定義mDNS服務配置

如果需要特殊服務清單，則需要將相同內容增加到WLC中的mDNS配置的「服務定義」部分。

在WLC中將服務增加為服務並在服務清單IN和OUT中進行選擇後，這些服務將透過mDNS服務策略推送到FlexConnect AP。

為此，我們需要瞭解所需的確切服務，並從「服務定義」部分為服務和服務字串增加自定義名稱。

在本示例中，我在每個mDNS服務清單不允許的服務部分中增加了由mDNS網關AP過濾的兩個服務。

mDNS自定義服務定義

FlexConnect mDNS橋接模式

本文檔不包括mDNS橋接模式，因為在FlexConnect本地交換中，此mDNS模式從AP角度被視為常規資料流量。在FlexConnect本地交換中為mDNS啟用橋接模式時，AP僅轉發從有線或無線接收的mDNS資料包。這些資料包僅在同一個Vlan中轉發，這意味著服務提供商和服務使用者必須在同一個Vlan中才能運行mDNS。mDNS橋接在Vlan中不起作用。

Flexconnect mDNS捨棄模式

如果某些WLAN不需要mDNS，但其他WLAN確實需要mDNS，則可以針對每個WLAN配置mDNS模式丟棄。啟用mDNS丟棄後，mDNS不會透過連線到WLAN的裝置。

mDNS丟棄模式