07-Bonjour網關配置
本章節下載: 07-Bonjour網關配置 (362.63 KB)
目 錄
Bonjour協議是蘋果公司開發的基於mDNS(Multicast DNS,組播域名)服務的零配置網絡協議。Bonjour協議致力於讓網絡配置更簡單,支持Bonjour協議的服務端設備能夠以組播方式發送服務信息,使局域網內的客戶端在無需獲取服務端設備信息的情況下,自動發現可提供服務的設備。
Bonjour協議僅定義了如何在VLAN內使用mDNS協議報文傳播服務信息,Bonjour網關是對Bonjour協議的擴展,用來實現跨VLAN轉發mDNS報文,實現Bonjour協議在大規模網絡中的應用。
除轉發mDNS報文外,Bonjour網關還能夠通過管理員設定的規則來管理客戶端和服務端設備,實現Bonjour協議在大規模網絡中的應用。
在網絡中部署Bonjour網關的優勢如下:
· 控製網絡中mDNS協議報文數量。
· 提供跨VLAN轉發mDNS協議報文的功能。
Bonjour網關的作用是查詢代理和響應代答。
在Bonjour網關已經獲取到客戶端需要查詢的服務時,Bonjour網關的任務是響應代答。當Bonjour網關發現客戶端查詢的服務資源表項中有關於此服務的信息時,將直接向客戶端發送響應報文,稱為響應代答。
如下圖所示,Bonjour網關進行響應代答的過程如下:
(1) Apple TV和Printer發送Bonjour響應報文,在網絡中通告其支持的服務。
(2) Bonjour網關收到Apple TV和Printer發送的Bonjour響應報文後,就會建立Apple TV、Printer的Bonjour服務資源表項。
(3) Bonjour網關收到客戶端關於Apple TV或打印機服務的查詢報文。
(4) Bonjour網關直接回複響應報文給客戶端,客戶端收到響應後即可獲取提供Apple TV或打印機服務的設備信息。
圖1-1 Bonjour網關代答過程圖
在某些情況下,Bonjour網關上收到客戶端的組播查詢報文,在檢查Bonjour服務資源表項後發現Bonjour網關沒有獲取到客戶端請求的指定服務,此時,Bonjour網關需要對指定服務進行查詢代理和響應轉發。Bonjour網關會向服務VLAN列表轉發查詢報文,如果收到關於此服務的響應報文,就會將此服務的信息添加到Bonjour服務資源表項,然後回複響應報文給客戶端。
如下圖所示,Bonjour網關進行查詢代理的過程如下:
(1) iPad客戶端發出一個對Printer的查詢報文,AP收到該報文後,經由CAPWAP隧道發送到Bonjour網關。
(2) Bonjour網關查找Bonjour服務資源表項,發現表項內沒有關於Printer的內容。Bonjour網關就會向配置的VLAN列表(在下圖中為VLAN 3和VLAN 4)轉發查詢請求。
(3) Printer收到Bonjour網關轉發的查詢報文後,回複響應報文。
(4) Bonjour網關將響應報文中的服務記錄到Bonjour服務資源表項。
(5) 記錄Bonjour服務資源表項之後,Bonjour網關會轉發響應報文給客戶端。
圖1-2 Bonjour網關查詢代理過程圖
Bonjour網關不支持本地轉發模式和分層AC。
在對AP進行配置時,可以采用如下方式:
· 針對單台AP,在AP視圖下進行配置。
· 針對同一個AP組內的AP,在AP組視圖下針對AP組進行配置。
對於一台AP,這些配置的生效優先級從高到低為:針對AP的配置、AP組中的配置。
Bonjour網關配置任務如下:
(1) 開啟Bonjour網關功能
(2) (可選)創建Bonjour服務類型
(3) (可選)激活Bonjour服務類型
(4) (可選)切換Bonjour網關模式
(5) 配置Bonjour策略
(6) 應用Bonjour策略
(7) (可選)配置發送Bonjour響應報文的方式
(8) (可選)開啟Bonjour網關主動查詢功能
(9) (可選)開啟過濾Bonjour IPv6報文功能
如果在AP視圖、AP組視圖或接口視圖開啟了Bonjour網關功能,且全局Bonjour網關功能處於開啟狀態時,Bonjour網關功能才會生效。
(1) 進入係統視圖。
system-view
(2) 開啟全局Bonjour網關功能。
bonjour global enable
缺省情況下,全局Bonjour網關功能處於關閉狀態。
(3) 進入AP視圖、AP組視圖或接口視圖。
¡ 進入AP視圖。
wlan ap ap-name
¡ 進入AP組視圖。
wlan ap-group group-name
¡ 進入接口視圖。
interface interface-type interface-number
(4) 開啟Bonjour網關功能。
bonjour enable
缺省情況下:
¡ AP視圖:繼承AP組配置。
¡ AP組視圖:Bonjour網關功能處於開啟狀態。
¡ 接口視圖:Bonjour網關功能處於開啟狀態。
創建新的Bonjour服務類型,需指定該服務類型所用的協議類型及描述信息。設備上存在一組默認的服務類型,可用於配置在Bonjour策略下實現對Bonjour服務的控製,默認服務類型不允許修改和刪除。
表1-1 已知服務類型表
服務類型 |
描述 |
afpovertcp |
AppleTalkFiling Protocol |
airplay |
Airplay |
airport |
Airport Base Station |
apple-sasl |
Apple Password Server |
daap |
Digital Audio Access Protocol |
dacp |
Digital Audio Control Protocol |
distcc |
Distributed Compiler |
dpap |
Digital Photo Access Protocol |
eppc |
Remote AppleEvents |
ftp |
File Transfer Protocol |
http |
Hypertext Transfer Protocol |
ica-networking |
Image Capture Sharing |
ichat |
iChat Instant Messaging Protocol |
ipp |
Internet Printing Protocol over HTTP |
ipps |
Internet Printing Protocol over HTTPS |
nfs |
Network File System |
pdl-stream |
PDL Data Stream |
printer |
Line Printer Daemon |
raop |
Remote Audio Output Protocol |
riousbprint |
Remote I/O USB Printer Protocol |
servermgr |
Server Admin |
ssh |
Secure Shell |
telnet |
Remote Login |
webdav |
WebDav File System |
workstation |
Workgroup Manager |
xserveraid |
Xerver RAID |
(1) 進入係統視圖。
system-view
(2) 創建Bonjour服務類型。
bonjour service type user-defined-service-type { tcp | udp } description text
激活指定的Bonjour服務類型,在Bonjour網關全局使能並且主動查詢開關打開的情況下會執行一次該服務類型的主動查詢操作。激活Bonjour服務類型時可以指定該服務類型最大允許的SRV類型資源條目數,不指定則不限製該服務類型允許學習的SRV類型資源條目數。服務類型去激活時將會刪除該類型已學習到的所有服務資源。
(1) 進入係統視圖。
system-view
(2) 激活Bonjour服務類型。
bonjour activate service type { pre-defined-service-type | user-define user-defined-service-type } [ max-entry-count count-value ]
缺省情況下,在自定義模式設備上的所有服務類型均處於未激活狀態,在典型模式設備上的airplay、ipp、ipps、printer、raop服務處於激活狀態。
缺省不限製每種服務類型允許學習的SRV類型資源條目數。
Bonjour網關可以工作在典型模式或者自定義模式。
· Bonjour網關工作在典型模式時,設備上的airplay、ipp、ipps、printer、raop服務處於激活狀態,其它服務類型處於未激活狀態,不限製最大允許的資源條目數。用戶不可激活/去激活任何服務類型。
· Bonjour網關工作在自定義模式時,設備上的所有服務類型均處於未激活狀態,用戶可以通過命令手動激活。
(1) 進入係統視圖。
system-view
(2) 切換Bonjour網關模式。
bonjour service-mode { custom | typical }
缺省情況下,Bonjour網關服務模式為典型模式。
Bonjour策略用於配置服務類型和服務VLAN,並可以應用到User Profile視圖、AP視圖、AP組視圖與無線服務模板視圖下,來實現對Bonjour服務和VLAN訪問權限的控製。
· 服務類型用來實現對Bonjour服務的控製。Bonjour網關會根據配置的服務類型與Bonjour策略配置的服務類型是否匹配,不匹配就直接丟棄查詢報文。對於收到的響應報文,Bonjour網關會檢查服務類型、IP地址和實例名,Bonjour網關隻會轉發符合全部配置要求的響應報文。
· 服務VLAN用來限製Bonjour服務所覆蓋的範圍,Bonjour網關會根據配置的服務VLAN檢查是否轉發查詢報文及是否為客戶端提供響應代答。若請求的Bonjour服務的VLAN在服務VLAN列表,則轉發查詢和響應報文,否則不轉發查詢和響應報文。其中可選參數access-vlan表示客戶端接入的VLAN,配置此參數表示Bonjour網關可以在客戶端接入的VLAN內轉發查詢和響應報文。
如果某一種服務可能使用多種協議,為確保Bonjour網關可以轉發針對這種服務的查詢報文,在Bonjour網關上需要配置多條服務類型。例如,對於airprint打印機服務,在Bonjour網關上需要同時配置ipp和ipps兩種服務類型。
(1) 進入係統視圖。
system-view
(2) 創建Bonjour策略並進入Bonjour策略視圖。
bonjour policy policy-name
(3) 配置服務類型。
service type { pre-defined-service-type | user-defined user-defined-service-type } [ ip ipv4-address | ipv6 ipv6-address | instance instance-name ]
缺省情況下,沒有配置服務類型,即不限製客戶端能夠查找的Bonjour服務。
(4) 配置服務VLAN。
service vlan vlan-id-list [ access-vlan ]
缺省情況下,未配置任何服務VLAN。
Bonjour策略可以分別應用到AP視圖、AP組視圖、無線服務模板視圖、接口視圖和User Profile視圖下,作用範圍如下:
· 在AP視圖下應用的Bonjour策略,對在該AP上線的所有客戶端生效。
· 在AP組視圖下應用的Bonjour策略,對在該AP組上線的所有客戶端生效。
· 在無線服務模板視圖下應用的Bonjour策略,對在該無線服務模板上線的所有客戶端生效。
· 在接口視圖下應用的Bonjour策略,對在該接口上線的所有客戶端生效。
· 在User Profile視圖下應用的Bonjour策略,對該User Profile所作用的所有客戶端生效。
在上述五種視圖下配置的Bonjour策略會產生疊加效果。例如在名為ap1的AP視圖下應用Bonjour策略A,配置在VLAN A內可以轉發查詢和響應報文。在配置SSID為service的服務模板下應用Bonjour策略B,配置在VLAN B內可以轉發查詢和響應報文。如果客戶端通過接入點service接入到ap1,那麼Bonjour網關收到查詢報文和響應報文後,會同時檢查Bonjour策略A和Bonjour策略B下的配置,在VLAN A和VLAN B內均可以轉發查詢和響應報文。
當客戶端匹配有權限訪問服務資源的Bonjour策略時,可以正常訪問服務資源,當客戶端斷開連接,然後快速重新連接到網絡中(比如,通過不同的無線服務模板或者不同的AP上線),如果匹配沒有權限訪問服務資源的Bonjour策略,由於客戶端自身的實現機製,在短時間內相關表項還沒有老化,客戶端仍然可以繼續訪問服務資源。要使新的Bonjour策略生效,需要重啟客戶端,或者避免此類快速切換上線的操作。
(1) 進入係統視圖。
system-view
(2) 進入AP視圖、AP組視圖、無線服務模板視圖、User Profile視圖或接口視圖。
¡ 進入AP視圖。
wlan ap ap-name
¡ 進入AP組視圖。
wlan ap-group group-name
¡ 進入無線服務模板視圖。
wlan service-template service-template-name
¡ 進入User Profile視圖。
user-profile profile-name
¡ 進入接口視圖。
interface interface-type interface-number
(3) 應用Bonjour策略。
bonjour apply policy policy-name
缺省情況下:
¡ AP視圖:繼承AP組配置。
¡ AP組視圖:未應用Bonjour策略。
¡ 無線服務模板視圖:未應用Bonjour策略。
¡ User Profile視圖:未應用Bonjour策略。
¡ 接口視圖:未應用Bonjour策略。
mDNS協議使用組播來發送響應報文。當客戶端數量較少時,采用組播報文進行應答會浪費較多帶寬,所以Bonjour網關選擇將組播應答報文轉為單播應答報文來減少組播報文造成的帶寬浪費。
當請求Bonjour服務的客戶端的數量較多時,發送過多的單播應答報文反而浪費更多帶寬,並且沒有發送組播應答報文效率高。可以通過配置停止組播轉單播的門限值來解決響應報文過多導致占用帶寬資源的問題並提高應答效率。當接入一個BSS的客戶端對同一個Bonjour服務的查詢報文個數增加到配置的門限值時,Bonjour網關在回複響應報文給客戶端時,會使用一個組播響應報文替代單播響應報文。
在使用視頻音頻等媒體流服務時,建議在Bonjour網關上將停止組播轉單播的報文數量的門限值設置為較小的值,防止Bonjour網關發送過多的單播響應報文給客戶端,避免響應報文過多導致占用帶寬資源的問題。
(1) 進入係統視圖。
system-view
(2) 配置發送Bonjour響應報文的方式。
bonjour stop-m2u threshold threshold-number
缺省情況下,當對同一個Bonjour服務的查詢報文個數少於門限值10個時,Bonjour網關使用單播響應報文回複客戶端;當對同一個Bonjour服務的查詢報文個數大於等於門限值10個時,若客戶端要求接收組播報文,則Bonjour網關使用組播響應報文回複客戶端,若客戶端要求接收單播報文,則Bonjour網關使用單播響應報文回複客戶端。
為了實現響應代答,Bonjour網關需要維護Bonjour服務資源表項,Bonjour網關可以使用兩種方法來維護Bonjour服務資源表項:
· 被動查詢方式:Bonjour網關使用老化機製維護服務資源表項,使用display bonjour-service命令可以查看Bonjour服務的生存時間,即TTL值。當某個服務達到該TTL時間的80%到82%之間時,Bonjour網關會隨機選擇一個時間發送對此服務的查詢報文,如果收到響應報文,則重置該表項的生存時間;如果未收到響應報文,Bonjour網關會依次在TTL時間的85%到87%、90%到92%、95%到97%之間發送對此服務的查詢報文。若在生存時間內,Bonjour網關沒有收到響應報文,會刪除對應的服務資源記錄。被動查詢方式在Bonjour網關上默認開啟,不需要配置。
· 主動查詢方式:開啟該功能後,Bonjour網關會針對激活狀態的Bonjour服務類型周期性發送查詢報文,如果收到服務響應,則更新對應的服務資源表項;若在某條服務資源表項的生存時間內沒有收到響應報文,Bonjour網關會刪除該表項。
(1) 進入係統視圖。
system-view
(2) 開啟Bonjour網關主動查詢功能。
bonjour query
缺省情況下,Bonjour網關主動查詢功能處於關閉狀態。
(3) (可選)配置Bonjour網關主動查詢的時間間隔。
bonjour query interval interval-number
缺省情況下,Bonjour網關主動查詢的時間間隔為15分鍾。
IPv6網絡中,部分Bonjour客戶端在Bonjour服務端(如投屏設備、打印機)不支持IPv6的情況下,也會發送IPv6 mDNS報文,導致設備開銷增大和mDNS報文泛洪。開啟本功能,AP會丟棄收到的IPv6 mDNS報文,以減少設備的開銷和網絡中mDNS報文的數量。
· 配置rrop anti-bmc protocol ipv6 bonjour deny命令後,AP會丟棄收到的IPv6 mDNS報文,以減少設備的開銷和網絡中mDNS報文的數量,此時無法使用IPv6 Bonjour服務,IPv4 Bonjour服務不受影響。建議在IPv6網絡中,Bonjour服務端不支持IPv6時開啟本功能。
· 配置rrop anti-bmc protocol ipv6 bonjour continue功能後,AP不再丟棄收到的IPv6 mDNS報文,但如果同時配置了rrop anti-bmc default-action deny或rrop anti-bmc protocol ipv6 deny命令,則依舊對IPv6 mDNS報文進行丟棄處理。
(1) 進入係統視圖、AP視圖或AP組視圖。
¡ 進入係統視圖。
system-view
¡ 進入AP視圖。
wlan ap ap-name
¡ 進入AP組視圖。
wlan ap-group group-name
(2) 開啟過濾Bonjour IPv6報文功能。
rrop anti-bmc protocol ipv6 bonjour { continue | deny }
缺省情況下:
¡ AP視圖:AP組有配置的情況下,繼承AP組配置;AP組無配置的情況下,繼承係統視圖的配置。
¡ AP組視圖:繼承係統視圖的配置。
¡ 係統視圖:過濾Bonjour IPv6報文功能處於關閉狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示Bonjour網關的運行情況,通過查看顯示信息驗證配置的效果。
用戶可以通過執行reset命令清除設備上已經學習到的Bonjour服務資源信息。
表1-2 Bonjour網關顯示和維護
操作 |
命令 |
顯示激活狀態的Bonjour服務類型 |
display bonjour active-service-type |
顯示Bonjour策略信息 |
display bonjour policy [ policy-name ] |
顯示Bonjour網關發現的Bonjour服務信息 |
display bonjour service |
清除Bonjour服務資源信息 |
reset bonjour service { type { pre-defined-service-type | user-defined user-defined-service-type } [ instance instance-name ] | all } |
在圖1-3所示組網中,Apple TV和打印機分別通過名為apple_tv和printer的SSID接入無線網絡,在不同VLAN中的教師和學生需要使用iPad客戶端通過名為teacher和student的SSID接入無線網絡,要求教師使用的iPad客戶端可以查找到Apple TV和Print服務,學生使用的iPad客戶端隻可以查找到Print服務。
圖1-3 Bonjour網關配置組網圖
(1) 為DHCP客戶端分配IP地址並指定網關地址
配置DHCP服務器,使其為客戶端分配IP地址並指定網關地址為AC的IP地址,具體配置步驟略。
由於IOS係統的限製,在DHCP服務器上必須配置任意一個DNSlist。
(2) 在AC上完成無線服務的相關配置
# 配置學生使用的iPad客戶端接入名為student的SSID,接入VLAN為VLAN 10。
<AC> system-view
[AC] wlan service-template student
[AC-wlan-st-student] ssid student
[AC-wlan-st-student] vlan 10
[AC-wlan-st-student] service-template enable
[AC-wlan-st-student] quit
# 配置教師使用的iPad客戶端接入名為teacher的SSID,接入VLAN為VLAN 20
[AC] wlan service-template teacher
[AC-wlan-st-teacher] ssid teacher
[AC-wlan-st-teacher] vlan 20
[AC-wlan-st-teacher] service-template enable
[AC-wlan-st-teacher] quit
# 配置Apple TV使用接入名為apple_tv的SSID,接入VLAN為VLAN 3。
[AC] wlan service-template apple_tv
[AC-wlan-st-apple_tv] ssid apple_tv
[AC-wlan-st-apple_tv] vlan 3
[AC-wlan-st-apple_tv] service-template enable
[AC-wlan-st-apple_tv] quit
# 配置打印機使用接入名為printer的SSID,接入VLAN為VLAN 4。
[AC] wlan service-template printer
[AC-wlan-st-printer] ssid printer
[AC-wlan-st-printer] vlan 4
[AC-wlan-st-printer] service-template enable
[AC-wlan-st-printer] quit
# 配置AP並將無線服務模板綁定到射頻。
[AC] wlan ap ap1 model WA6320
[AC-wlan-ap-ap1] serial-id 219801A28N819CE0002T
[AC-wlan-ap-ap1] radio 1
[AC-wlan-ap-ap1-radio-1] service-template student
[AC-wlan-ap-ap1-radio-1] service-template teacher
[AC-wlan-ap-ap1-radio-1] service-template apple_tv
[AC-wlan-ap-ap1-radio-1] service-template printer
[AC-wlan-ap-ap1-radio-1] quit
[AC-wlan-ap-ap1] radio 2
[AC-wlan-ap-ap1-radio-2] service-template student
[AC-wlan-ap-ap1-radio-2] service-template teacher
[AC-wlan-ap-ap1-radio-2] service-template apple_tv
[AC-wlan-ap-ap1-radio-2] service-template printer
[AC-wlan-ap-ap1-radio-2] quit
[AC-wlan-ap-ap1] quit
(3) 配置Bonjour網關
# 配置Bonjour網關模式為自定義模式。
[AC] bonjour service-mode custom
# 激活apple TV和printer服務。
[AC] bonjour activate service type airplay
[AC] bonjour activate service type raop
[AC] bonjour activate service type printer
由於IOS係統的限製,要使用apple TV提供的服務,至少需要激活airplay和raop兩種服務。
# 開啟全局Bonjour網關功能。
[AC] bonjour global enable
# 在AP視圖下開啟Bonjour網關功能。
[AC] wlan ap ap1
[AC-wlan-ap-ap1] bonjour enable
[AC-wlan-ap-ap1] quit
# 創建名稱為teacher的Bonjour策略,通過名為teacher的SSID接入的客戶端可以查找VLAN 3和VLAN 4中的服務。
[AC] bonjour policy teacher
[AC-bp-teacher] service vlan 3 4
[AC-bp-teacher] quit
# 創建名稱為student的Bonjour策略,通過名為student的SSID接入的客戶端可以查找VLAN 4 中的服務。
[AC] bonjour policy student
[AC-bp-student] service vlan 4
[AC-bp-student] quit
# 在為學生接入配置的服務模板上應用Bonjour策略。
[AC] wlan service-template student
[AC-wlan-st-student] ssid student
[AC-wlan-st-student] bonjour apply policy student
[AC-wlan-st-student] quit
# 在為教師接入配置的服務模板上應用Bonjour策略。
[AC] wlan service-template teacher
[AC-wlan-st-teacher] ssid teacher
[AC-wlan-st-teacher] bonjour apply policy teacher
[AC-wlan-st-teacher] quit
使用display bonjour service命令可以查看到AC發現的Apple TV和Print服務。
[AC] display bonjour service
Instance name Service type Protocol VLAN TTL IP
Apple TV airplay TCP 3 120 192.168.0.15
Apple TV raop TCP 3 120 192.168.0.15
Printer printer TCP 4 6000 192.168.0.65
Total number of discarded query packets:0
Total number of discarded response packets:0
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!