はじめに
このドキュメントでは、Catalyst 9800ワイヤレスコントローラでマルチキャストドメインネームサービス(mDNS)ゲートウェイ機能を設定する方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- 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プロトコル)ブリッジングは、同じL2ブロードキャストドメインであるBonjour TTL=1プロトコルパケット転送を指します。 データプレーンでは、次の方法で、各WLANの有線ポートおよびワイヤレスインターフェイスで受信されたパケットのmDNSブリッジング機能が有効になります デフォルトで常に有効になっています。これは、mDNSブリッジングを機能させるためにグローバルmDNSも有効にする必要があるため、特定の設定を必要としないデフォルトの動作です。ただし、必要に応じて、WLAN設定でmDNSモードを変更することにより、WLANごとに無効にすることができます。Access Point(AP)Control and Provisioning of Wireless Access Points(CAPWAP)Multicast-Multicastモードがイネーブルの場合、C9800は各mDNSパケットをコントローラに設定されたAPマルチキャストグループにブリッジして、ワイヤレスクライアントが受信できるようにします。そうでない場合は、受信した各mDNSパケットのコピーを作成し、CAPWAPユニキャストトンネルを介して各APに個別ブリッジします。どちらのシナリオでも、C9800はmDNSパケットを、mDNSパケットを発信したクライアントのVLANで有線にブリッジします。
したがって、mDNSハンドシェイクに関与するデバイス(クライアントやChromecastなど)が同じサブネット上にある限り、mDNSは特別な設定なしでC9800で動作できます。理想的には、次のセクションで説明するように、mDNSゲートウェイを使用してmDNSトラフィックをフィルタリングすることをお勧めします。
mDNSゲートウェイ
AireOSワイヤレスコントローラで導入されたmDNSゲートウェイ機能は、16.11.1以降のCatalyst 9800ワイヤレスコントローラでもサポートされています。この機能はデフォルトでは無効になっており、グローバルに有効にした後は、WLANごとに有効/無効にできます。
mDNSゲートウェイ機能は、以前のAireOSワイヤレスコントローラと同じように動作し、C9800は有線およびワイヤレスインターフェイスでBonjourサービス(mDNSアドバタイズメントおよびクエリー)をリッスンし、内部データベース内の各ソース/ホストからアドバタイズされたこれらのBonjourサービス(AirPlay、AirPrint、Googlecastなど)をキャッシュし、不要なサービスををフィルタリングして、ネットワーク内内のマルチキャストフローをを回避できます。このようにして、異なるサブネットにそのようなサービスの送信元とクライアントを持つことができ、ネットワーク内のmDNSトラフィックを制御することもできます。
mDNSゲートウェイとして機能するC9800は、サービスを要求するクライアントに割り当てられたVLANのIPアドレスを使用して、これらのmDNS応答を送信する(キャッシュされたサービスの)クライアントからのmDNSクエリーに応答します。このため、mDNS/Bonjourサービスを必要とするクライアントが存在するC9800コントローラ上のすべてのVLANは、スイッチ仮想インターフェイス(SVI)で有効なIPアドレスが設定されている必要があります。
Bonjour/mDNSゲートウェイ機能の詳細については、『AireOSワイヤレスLANコントローラBonjourフェーズIII導入ガイド』を参照してください。
設定
ネットワーク図
次に、設定例の図を示します。目的は、図に示すように、mDNSゲートウェイを必要とする別のサブネットからのmDNSサービスをワイヤレスクライアントが使用できるようにすることです。
グラフィカルユーザインターフェイスによるmDNSゲートウェイの設定
ステップ 1:mDNSゲートウェイをグローバルに有効にするには、Configuration > Services > mDNSの順に選択します。Globalの下で、Enable mDNS Gatewayに切り替え、図に示すようにApplyを選択します。
ステップ 2(オプション):カスタムサービスポリシーのカスタムmDNSサービスリストを設定します。デフォルトのmDNSサービスリストとサービスポリシーを使用する場合は、ステップ5に進みます。
Configuration > Services > mDNSの順に選択し、Service Policyタブで必要に応じて新しいサービスリストを設定します。C9800には、ほとんどのワイヤレスデバイスで使用される共通サービスが事前定義されています。特別な(利用できない)サービスが不要な場合は、事前に定義された利用可能なサービスを使用してリストを作成できますが、必要に応じて、新しいサービス(サービス定義を使用)を追加することもできます。
両方とも、着信(IN)方向のサービスリストと発信(OUT)方向のサービスリストが必要です(そのため、C9800に着信したときと発信したときに、必要なサービスがフィルタリングされます。したがって、両方のリストに同じサービスが存在することになります)。
1. INサービスのサービスリスト名を定義します。
2. IN方向を選択します。
3. Add Servicesを選択します。
4. 「使用可能なサービス」ドロップダウン・リストが表示されます。目的のサービスとメッセージタイプanyを選択します。
5.必要に応じて、手順を繰り返してサービスを追加します。
6.図に示すように、Apply to Deviceを選択します。
1. OUTサービスのサービスリスト名を定義します。
2. OUT方向を選択します。
3. 使用可能なサービスを割り当て済みサービスリストに移動します。
5.必要に応じて、手順を繰り返してサービスを追加します。
6.図に示すように、Apply to Deviceを選択します。
ヒント:以前のAireOS WLCからの移行タスク時に、AireOSのデフォルトのmDNSリストに基づいて新しいリストを作成できます。
ステップ 3(オプション):カスタムサービスリスト(ステップ2)を使用する場合、これらのカスタムサービスリストで使用するカスタムmDNSサービスポリシーを定義する必要があります。Configuration > Services > mDNS > Service Policyの順に移動します。 Service Policyを選択し、次の手順を実行します。
1. サービスポリシー名を定義します。
2.カスタムサービスリストINをサービスリスト入力に追加します。
3.顧客サービス・リストOUTをサービス・リスト出力に追加します。
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:Configuration > Tags & Profiles > WLANs > WLAN > Advancedの順に移動し、mDNS modeドロップダウンリストでGatewayを選択し、UpdateとApply to Deviceを選択します。デフォルトモードはブリッジングです(図に示すように、ドロップを使用して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
アンカーと外部のシナリオ
mDNSゲートウェイ機能をモビリティアンカーWLANに実装する場合、外部WLCとアンカーWLCの両方がC9800で、ワイヤレスクライアントがアンカーコントローラのVLANからIPアドレスを取得するには、次のような動作と必要な設定を行います。
- アンカーコントローラは、mDNSゲートウェイとして機能するコントローラで、アンカーWLANに接続されたすべてのデバイスと対応するVLANからサービスをキャッシュし、キャッシュされたサービスに対してクエリーに応答します。
- C9800アンカーコントローラは、クエリに応答すると応答を送信し、サービスを要求するクライアントに割り当てられたVLANのSVI IPアドレスを使用できます。したがって、mDNSサービスを必要とするすべてのクライアントVLANは、アンカーのSVIにIPアドレスを持つ必要があります。
- mDNSゲートウェイは、外部WLCとアンカーWLCの両方でグローバルに有効にする必要があります。
- 外部コントローラとアンカーコントローラの両方で、同じmDNSサービスポリシーを同じサービス(デフォルトまたはカスタム)で使用できます。これらのサービスは、このアンカーWLANにリンクされているポリシープロファイルに割り当てることができます。これらの設定はすべて、このドキュメントですでに説明した手順と同じです。
- モビリティアンカーWLAN設定の唯一の設定上の違いは、次のとおりです。WLAN > Advanced設定に移動し、mDNS Modeの外部C9800でBridgingであり、アンカーC9800でGatewayである必要があります。
確認
ここでは、設定が正常に機能しているかどうかを確認します。
次のコマンドを使用します。
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
関連情報