跳过导航链接 | |
退出打印视图 | |
![]() |
在 Oracle Solaris 11.1 中管理服务位置协议服务 Oracle Solaris 11.1 Information Library (简体中文) |
借助范围可对依赖于用户的逻辑、物理和管理分组的服务进行调配。使用范围可对服务通告的访问进行管理。
使用 net.slp.useScopes 属性创建范围。例如,在主机上的 /etc/inet/slp.conf 文件中,添加一个名为 newscope 的新范围,如下所示:
net.slp.useScopes=newscope
例如,您的公司可能在 6 号楼的 2 层的南厅一端有一个联网设备室,联网设备包括打印机和传真机等。2 层的所有人都可以使用这些设备,也可以将这些设备的使用权限定给某个部门的成员。通过范围可对这些计算机的服务通告的访问进行调配。
如果设备专供一个部门使用,则可用该部门的名称创建一个范围,例如 mktg。属于其他部门的设备可用不同的范围名称来配置。
在另一种情况下,部门可能是分散的。例如,机械工程部门和 CAD/CAM 部门可能分散在 1 层和 2 层。但是,可将 2 层的计算机提供给这两层的主机,方法是为其指定相同的范围。可以通过适用于网络和用户的其他任何方式来部署范围。
注 - 实际上,并不禁止具有特定范围的 UA 使用在其他范围内通告的服务。配置范围只控制 UA 检测哪些服务通告。该服务负责强制实施所有访问控制限制。
无需进行任何范围配置,SLP 便可正常工作。在 Oracle Solaris 操作环境中,SLP 的缺省范围是 default。如果没有配置任何范围,则 default 是所有 SLP 消息的范围。
可在以下任何情况下配置范围。
您支持的组织要将服务通告访问限制为自己的成员。
您所支持的组织的物理布局表明,某一区域中的服务只能由特定用户访问。
适合特定用户查看的服务通告必须进行分区。
为拨号网络配置 DA 搜索中列举了第一种情况的示例。第二种情况的示例是,组织分布于两个大楼内,您希望大楼内的用户访问本大楼内的本地服务。可为 1 号楼内的用户配置 B1 范围,而为 2 号楼的用户配置 B2 范围。
当您在 slpd.conf 文件中修改 net.slp.useScopes 属性时,便会为主机上的所有代理配置范围。当主机正在运行任何 SA 或用作 DA 时,如果要将 SA 或 DA 配置到 default 之外的范围中,则必须配置此属性。如果只有 UA 在计算机中运行,并且 UA 应搜索 default 之外的 SA 和 DA 支持范围,则除非要限制 UA 使用的范围,否则无需配置此属性。如果未配置该属性,UA 可以通过 slpd 自动搜索可用的 DA 和范围。SLP 守护进程使用主动和被动 DA 搜索来查找 DA,如果没有 DA 在运行,则使用 SA 搜索。另外,如果已配置上述属性,UA 将只使用已配置的范围,而不会将其废弃。
如果您决定要配置范围,则应考虑将 default 范围保留在已配置范围的列表中,除非您确信网络中的所有 SA 都配置了范围。如果有任何 SA 未配置,则已配置范围的 UA 将无法找到这些 SA。出现这种情况的原因是,未配置的 SA 会自动以 default 为范围,而 UA 会使用已配置的范围。
如果您还决定通过设置 net.slp.DAAddresses 属性来配置 DA,请确保已配置的 DA 所支持的范围与您使用 net.slp.useScopes 属性配置的范围相同。如果这两个范围不同,slpd 将在重新启动时输出错误消息。
使用以下过程在 slp.conf 文件中为 net.slp.useScopes 属性添加范围名称。
# svcadm disable network/slp
net.slp.useScopes=<scope names>
字符串列表,表示 DA 或 SA 发出请求时可使用的范围或表示 DA 必须支持的范围
缺省值 = 缺省值(SA 和 DA)/未指定 (UA)
注 -
使用以下各项来构造范围名称:
任何字母数字字符(大写或小写)
任何标点符号(''、\、!、<、=、> 和 ~ 除外)
被视为名称一部分的空格
非 ASCII 字符
使用反斜杠可对非 ASCII 字符进行转义。例如,UTF-8 编码使用 0xc3a9 十六进制代码来表示具有法语 aigue 重音的字母 e。如果平台不支持 UTF-8,则可使用 UTF-8 十六进制代码作为转义序列 \c3\a9。
例如,要为 bldg6 中的 eng 组和 mktg 组指定范围,请对 net.slp.useScopes 行进行如下更改。
net.slp.useScopes=eng,mktg,bldg6
# svcadm enable network/slp