03-Bonjour网关配置
本章节下载: 03-Bonjour网关配置 (318.28 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网关配置任务如下:
(1) 开启Bonjour网关功能
(2) (可选)创建Bonjour服务类型
(3) (可选)激活Bonjour服务类型
(4) (可选)切换Bonjour网关模式
(5) 配置Bonjour策略
(6) 应用Bonjour策略
(7) (可选)配置发送Bonjour响应报文的方式
(8) (可选)开启Bonjour网关主动查询功能
(9) (可选)开启Bonjour网关响应报文精准控制功能
只有同时开启全局和全局和接口的Bonjour网关功能后,Bonjour网关功能才能生效。
(1) 进入系统视图。
system-view
(2) 开启全局Bonjour网关功能。
bonjour global enable
缺省情况下,全局Bonjour网关功能处于关闭状态。
(3) 进入接口视图。
interface interface-type interface-number
(4) 开启Bonjour网关功能。
bonjour enable
缺省情况下,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地址、MAC地址和实例名,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| mac mac-address ]
缺省情况下,没有配置服务类型,即不限制客户端能够查找的Bonjour服务。
(4) 配置服务VLAN。
service vlan vlan-id-list [ access-vlan ]
缺省情况下,未配置任何服务VLAN。
Bonjour策略可以分别应用到无线服务模板视图、接口视图和User Profile视图下,作用范围如下:
· 在无线服务模板视图下应用的Bonjour策略,对在该无线服务模板上线的所有客户端生效。
· 在接口视图下应用的Bonjour策略,对在该接口上线的所有客户端生效。
· 在User Profile视图下应用的Bonjour策略,对该User Profile所作用的所有客户端生效。
在上述三种视图下配置的Bonjour策略会产生叠加效果。
当客户端匹配有权限访问服务资源的Bonjour策略时,可以正常访问服务资源,当客户端断开连接,然后快速重新连接到网络中(比如,通过不同的无线服务模板上线),如果匹配没有权限访问服务资源的Bonjour策略,由于客户端自身的实现机制,在短时间内相关表项还没有老化,客户端仍然可以继续访问服务资源。要使新的Bonjour策略生效,需要重启客户端,或者避免此类快速切换上线的操作。
(1) 进入系统视图。
system-view
(2) 进入无线服务模板视图、User Profile视图或接口视图。
¡ 进入无线服务模板视图。
wlan service-template service-template-name
¡ 进入User Profile视图。
user-profile profile-name
¡ 进入接口视图。
interface interface-type interface-number
(3) 应用Bonjour策略。
bonjour apply policy policy-name
缺省情况下:
¡ 无线服务模板视图:未应用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分钟。
在某些情况下,Bonjour网关收到客户端的服务查询请求报文后,可能会组播回复响应报文,导致无关客户端发现可提供服务的设备,存在一定的信息安全隐患。
开启Bonjour网关精准控制功能后,Bonjour网关会将组播响应报文转化为单播响应报文,发送给请求服务的客户端,避免无关客户端发现可提供服务的设备。
本功能仅对使用Bonjour协议的Bonjour网关生效。
(1) 进入系统视图。
system-view
(2) 开启Bonjour网关响应报文精准控制功能。
bonjour exact-control enable
缺省情况下,Bonjour网关响应报文精准控制功能处于关闭状态。
在完成上述配置后,在任意视图下执行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地址并指定网关地址为AP的IP地址,具体配置步骤略。
由于IOS系统的限制,在DHCP服务器上必须配置任意一个DNSlist。
(2) 在AP上完成无线服务的相关配置
# 配置学生使用的iPad客户端接入名为student的SSID,接入VLAN为VLAN 10。
<AP> system-view
[AP] wlan service-template student
[AP-wlan-st-student] ssid student
[AP-wlan-st-student] vlan 10
[AP-wlan-st-student] service-template enable
[AP-wlan-st-student] quit
# 配置教师使用的iPad客户端接入名为teacher的SSID,接入VLAN为VLAN 20
[AP] wlan service-template teacher
[AP-wlan-st-teacher] ssid teacher
[AP-wlan-st-teacher] vlan 20
[AP-wlan-st-teacher] service-template enable
[AP-wlan-st-teacher] quit
# 配置Apple TV使用接入名为apple_tv的SSID,接入VLAN为VLAN 3。
[AP] wlan service-template apple_tv
[AP-wlan-st-apple_tv] ssid apple_tv
[AP-wlan-st-apple_tv] vlan 3
[AP-wlan-st-apple_tv] service-template enable
[AP-wlan-st-apple_tv] quit
# 配置打印机使用接入名为printer的SSID,接入VLAN为VLAN 4。
[AP] wlan service-template printer
[AP-wlan-st-printer] ssid printer
[AP-wlan-st-printer] vlan 4
[AP-wlan-st-printer] service-template enable
[AP-wlan-st-printer] quit
# 配置无线服务模板绑定到射频。
[AP] interface wlan-radio 1/0/1
[AP-WLAN-Radio1/0/1] service-template student
[AP-WLAN-Radio1/0/1] service-template teacher
[AP-WLAN-Radio1/0/1] service-template apple_tv
[AP-WLAN-Radio1/0/1] service-template printer
[AP-WLAN-Radio1/0/1] quit
[AP] interface wlan-radio 1/0/2
[AP-WLAN-Radio1/0/2] service-template student
[AP-WLAN-Radio1/0/2] service-template teacher
[AP-WLAN-Radio1/0/2] service-template apple_tv
[AP-WLAN-Radio1/0/2] service-template printer
[AP-WLAN-Radio1/0/2] quit
(3) 配置Bonjour网关
# 配置Bonjour网关模式为自定义模式。
[AP] bonjour service-mode custom
# 激活apple TV和printer服务。
[AP] bonjour activate service type airplay
[AP] bonjour activate service type raop
[AP] bonjour activate service type printer
由于IOS系统的限制,要使用apple TV提供的服务,至少需要激活airplay和raop两种服务。
# 开启全局Bonjour网关功能。
[AP] bonjour global enable
# 在接口开启Bonjour网关功能。
[AP] interface GigabitEthernet 1/0/1
[AP-GigabitEthernet1/0/1] bonjour enable
# 创建名称为teacher的Bonjour策略,通过名为teacher的SSID接入的客户端可以查找VLAN 3和VLAN 4中的服务。
[AP] bonjour policy teacher
[AP-bp-teacher] service vlan 3 4
[AP-bp-teacher] quit
# 创建名称为student的Bonjour策略,通过名为student的SSID接入的客户端可以查找VLAN 4 中的服务。
[AP] bonjour policy student
[AP-bp-student] service vlan 4
[AP-bp-student] quit
# 在为学生接入配置的服务模板上应用Bonjour策略。
[AP] wlan service-template student
[AP-wlan-st-student] ssid student
[AP-wlan-st-student] bonjour apply policy student
[AP-wlan-st-student] quit
# 在为教师接入配置的服务模板上应用Bonjour策略。
[AP] wlan service-template teacher
[AP-wlan-st-teacher] ssid teacher
[AP-wlan-st-teacher] bonjour apply policy teacher
[AP-wlan-st-teacher] quit
使用display bonjour service命令可以查看到AP发现的Apple TV和Print服务。
[AP] display bonjour service
Global status: Enabled
Bonjour service-mode: typical
Total number of discarded query packets:0
Total number of discarded response packets:0
Total number of bonjour services: 3
-------------------------------------------------------------------
Instance name : Apple TV
Service type : airplay
Protocol : TCP
VLAN : 3
TTL : 120
IP : 192.168.0.15
MAC : 24f6-770c-f6d4
-------------------------------------------------------------------
Instance name : Apple TV
Service type : raop
Protocol : TCP
VLAN : 3
TTL : 120
IP : 192.168.0.15
MAC : 24f6-770c-f6d4
-------------------------------------------------------------------
Instance name : Printer
Service type : printer
Protocol : TCP
VLAN : 4
TTL : 6000
IP : 192.168.0.65
MAC : 24f6-770c-f6d4
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!