内容

はじめに

前提条件

要件

使用するコンポーネント

背景説明

ネットワーク図

コンフィギュレーション

WLCでのmDNSのグローバルな有効化

サービスリスト内のmDNSサービスの選択

サービスリストとサービスポリシーのマージ

mDNS Flex Profileの設定

mDNSゲートウェイモードを使用したWLANの設定

mDNSサービスポリシーのWLANポリシーへの適用

FlexConnectポリシーでのmDNS Flex Profileの設定

確認

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 Cuppertino 17.9.5

- サービス統合型ルータ(ISR)、Cisco IOS® XE Gibraltar 17.6.5

- Catalyst 3560シリーズスイッチ、Cisco IOS® 15.2.4E10

- アクセスポイント9117AXI-B、アクセスポイント9130AXI-B

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな（デフォルト）設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

背景説明

Multicast Domain Name System(mDNS)は、サービスプロバイダー(SP)とサービスユーザ（ワイヤレスクライアント）間でサービスを検出して共有するための柔軟性を提供するプロトコルです。 サービスプロバイダーは、プリンタ、スマートTV、ファイル共有サービスなどのサービスを提供するデバイスで、サービスユーザはこれを利用できます。

mDNSプロトコルはUDPに基づいており、IPv4の場合はポート5353、MACアドレス01:00:5E:00:00:FB、IPアドレス224.0.0.251、IPv6の場合はFF02::FBを使用します。

WLCでmDNSが動作するには、ブリッジングとゲートウェイの2つのモードがあります。ブリッジモードは、サービスプロバイダーとサービスユーザが同じサブネットに存在する必要がある同じVLAN（レイヤ2）でのみ動作します。ゲートウェイモードは、同じVLANまたは異なるVLAN内のサービスプロバイダーおよびサービスユーザと連携し、WLCまたはAPがBonjour Gatewayを実行してサービスプロバイダーからのサービスをキャッシュし、サービスプロバイダーと共有します。

このドキュメントは、mDNS FlexConnectローカルスイッチングのみに基づいています。この場合、APはmDNSゲートウェイとして機能し、サービスプロバイダーによってアドバタイズされたサービスをキャッシュし、これらのサービスをサービスユーザと共有します。

注：中央スイッチングmDNS設定については、『Catalyst 9800ワイヤレスコントローラでのmDNSについて』を参照してください。

ネットワーク図

ワイヤレスおよび有線のサービスプロバイダーは、mDNSサービスを利用するワイヤレスクライアント（サービスユーザ）とともに、FlexConnectローカルスイッチング環境でmDNSサービスをアドバタイズします。

ネットワーク図

コンフィギュレーション

WLCでの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サービスの選択

優先mDNSサービスを許可するようにサービスリストを設定します。リストは、INとOUTの2方向で設定する必要があります。これにより、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#

サービスリストとサービスポリシーのマージ

サービスリストのINとOUTが必要なサービスで設定されると、それらをマージするためにサービスポリシーが使用されます。統合すると、このサービスポリシーをWLANポリシー、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 Flex Profileでは、mDNSが使用されるFlexConnectローカルスイッチングVLANをFlex Profileに追加する必要があります。また、サービスプロバイダーとサービスユーザのVLANをmDNS Flex Profileに追加する必要があります。mDNS Service Policyにより、有線でサービスをフィルタリングできます。

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#

mDNSゲートウェイモードを使用したWLANの設定

各WLANには、デフォルトでmDNSモードとしてブリッジングが設定されています。ワイヤレスで接続されたサービスプロバイダーとサービスユーザに対して、APが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ポリシーへの適用

ワイヤレスサービスプロバイダーおよびワイヤレスユーザプロバイダーの場合、mDNSサービスは、WLANのWLANポリシーに適用されると、事前に設定された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ポリシーの設定の変更により、接続されているワイヤレスクライアントがWLANからドロップされました。実稼働時のWLAN-Policyの設定には注意してください。

注：一般的なFlexConnect設定については、『Catalyst 9800ワイヤレスコントローラでのFlexConnectについて』を参照してください。

FlexConnectポリシーでのmDNS Flex Profileの設定

Vlan、ACLなどの設定が適用されるFlexConnectポリシーでは、mDNS Flex Profileを選択して、FlexConnectポリシーに属するAPに適用する必要があります。

WLC GUI

図に示すように、Configuration > Tags & Profiles > Flexの順に移動します。

mDNS Flex Profileの割り当て

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-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 showコマンド

mDNSに関連する設定は、次のコマンドを使用してAP側から確認できます。

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を含む）です。また、サービスプロバイダーがサポートするサービスの回答も含まれています。

次の図のanswersセクションには、airplayとspotifyという対象のサービスが示されています。これらのサービスは、後でAPによってキャッシュされ、データベースに保存されます。

mDNSサービスプロバイダーサービス

AP自体からmDNS情報を確認するには、次のデバッグを有効にする必要があります。これは、APのCLIから、有線サービスプロバイダー(WSP)のアナウンスも確認できます。

- AP#debug mdns events

- 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データベースに保存されているサービスは、次のコマンドで確認できます。

- アクセスポイント#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

前の手順で示したように、有線サービスプロバイダー(NAP)がサービスをアナウンスし、APがサービスをキャッシュしてデータベースに保存すると、サービスユーザ（無線クライアント）は、デバイス（ラップトップ）の内容をミラー表示用にスマートTVにミラーリングします。ミラー表示を実現するために、サービスユーザはこの例でairplayサービスを使用します。

サービスユーザはワイヤレスとOver the Airを介して接続されるため、サービスユーザ側からの接続mDNSフローを確認するにはパケットキャプチャが必要でした。

Over the Airキャプチャでは、VLAN 21のワイヤレスクライアントであるサービスユーザがmDNSの802.11宛先MACアドレスを使用してmDNSクエリーを送信し、IPアドレスセクションからmDNSのIPアドレスが宛先と同様に使用され、ポートがUDP 5353であり、mDNSクエリーairplay内で要求される様子を確認できます。送信元として、サービスユーザのMACアドレスが、そのIPアドレスとともに使用されました。

mDNSサービスユーザサービス要求

APのデバッグから、APがワイヤレスmDNSパケットを受信する方法を確認できます。デバッグでは、要求されたサービスのうち、前のステップでパケットキャプチャに表示されたサービスと同じものが表示されます。使用されているmDNSデバッグは次のとおりです。

- AP#debug mdns events

- 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応答が作成され、ワイヤレスで送信されます。応答は、アクセスポイント(AP)のMACアドレスとIPアドレスを使用して送信されますが、宛先はサービスユーザ（無線クライアント）のMACアドレスですが、mDNSのIPアドレスは、応答として必要なサービスとともに使用されます。つまり、このパケットはサービスユーザに送信され、mDNSパケットです。

パケットからは、APがmDNSゲートウェイとして動作するため、mDNSポートUDP 5353とともに、APがIPセクションの独自のIPアドレスを使用してmDNS IPアドレスにパケットを送信する方法も確認できます。

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

前の手順では、サービスプロバイダーがVlan 11で有線で接続され、APがVlan 10で、サービスユーザがVlan 21で接続されているFlexConnectローカルスイッチングのmDNSパケットフローの成功を完了します。

無線サービスプロバイダー

無線サービスプロバイダーは、有線サービスプロバイダーのメカニズムとまったく同じように動作します。APはプローブを送信し、サービスのアナウンスも送信します。APはサービスをキャッシュし、データベースに保存します。 このセクションでは、mDNSゲートウェイを実行するAPが、サービスプロバイダーがワイヤレスで接続する際にサービスを学習する方法について説明します。

有線サービスプロバイダーとワイヤレスサービスプロバイダーの違いは、802.11が行われてからパケットがどのように空中を見るかです。次のパケットでは、Vlan 11のワイヤレスサービスプロバイダー(WSP)が、送信元が自身のMACアドレスとIPアドレスで、宛先がmDNS MACアドレスとIP ADDsのmDNSパケットを、応答としてリストされているサービスを使用して、ポートUDP 5353経由で送信する方法を示します。

ワイヤレスサービスプロバイダー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名、サイト名（サイトのタグ）、次に示すその他の詳細情報が表示されるためです。

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 User Service(UDS)のクエリーとAP mDNSゲートウェイの応答については、「有線サービスプロバイダー」セクションで説明されているものとまったく同じです。サービスユーザがmDNSクエリーを送信し、AP mDNSがゲートウェイとして機能し、必要なサービスの詳細を含む応答がサービスユーザに送信されます。

プライマリmDNS AP

サイトタグごとに1つのプライマリmDNS APがあり、次の2つのジョブを実行します。

1. すべてのAPのmDNSデータベースは、それらが同じサイトタグに属している限り更新されたままにするため、各APのmDNSデータベースは同じであり、mDNSサービスが欠落することはありません。

2. リモートロケーションで学習したmDNSサービスについてWLCに通知します（これは単なる情報であり、管理目的の場合にのみ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が属するネットワークについて通知します。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からWLCに通知されたサービスは、学習されたサービスを含む情報を提供します。サービスがAPによって有線または無線で学習される場合（この例では有線サービスプロバイダー）、サイトタグとVLANはから学習され、サービスプロバイダー名が使用されます。ワイヤレスサービスプロバイダーの場合、WLAN IDはサービスプロバイダーが接続しているWLANを反映します。

図に示すように、Monitoring > Services > mDNSの順に選択します。

WLC GUIからのmDNSサービスモニタリング

mDNSサービスリストごとに許可されないサービス

mDNSサービスリストとポリシーを使用すると、ネットワークで許可されるmDNSサービスを制御できます。次の例は、Service List INおよびOUTで許可されないmDNSサービスをフィルタリングする方法を示しています。

アドバタイズまたは照会されているが許可されていないサービスを表示するには、APで次のデバッグを有効にします。

- AP#debug mdns errors

次のmDNSサービス

- _airplay-bds._tcp.ローカル

- _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によってフィルタリングされた2つのサービスが追加されています。

図に示すように、Configuration > Services > mDNS > Service Policy > Service Definitionの順に移動します。

mDNSカスタムサービス定義

FlexConnect mDNSブリッジモード

このドキュメントでは、mDNSブリッジングモードについては説明しません。これは、FlexConnectローカルスイッチングのAPの観点からは、このmDNSモードが通常のデータトラフィックとして扱われるためです。FlexConnectローカルスイッチングでmDNSに対してブリッジングモードを有効にすると、APは有線または無線から受信したmDNSパケットを転送するだけです。これらのパケットは同じVLAN内でのみ転送されます。つまり、mDNSを機能させるには、サービスプロバイダーとサービスユーザが同じVLAN内に存在する必要があります。mDNSブリッジングは、VLAN間では機能しません。

FlexConnect mDNSドロップモード

mDNSが必要ないWLANもありますが、実際に必要とされる場合は、WLANごとにmDNSモードのドロップを設定できます。mDNSドロップを有効にすると、mDNSはWLANに接続されたデバイスを通過しなくなります。

図に示すように、Configuration > Tags & Profiles > WLANsの順に移動します。

mDNSドロップモード