如果设置了 net.slp.interfaces 属性,slpd 将侦听该属性所列接口而非缺省接口上的单点传送和多点传送/广播 SLP 请求。
通常,设置 net.slp.interfaces 属性时同时会通过设置 net.slp.isBroadcastOnly 属性来启用广播,原因是网络中尚未部署多点传送。但是,如果已经部署多点传送,而多点传送未在此特定多宿主主机上路由,则多点传送请求可从多个接口到达 slpd。当包的路由由与子网(接口为这些子网提供服务)连接的另一台多宿主主机或路由器处理时,会出现此情况。
出现此类情况时,发送请求的 SA 服务器或 UA 将收到来自多宿主主机上的 slpd 的两个响应。然后,客户机库对响应进行过滤,客户机将看不到这些响应。但这些响应在 snoop 跟踪中可见。
如果关闭单点传送路由,则所有子网都无法访问多宿主主机上的 SA 客户机通知的服务。如果这些服务无法访问,SA 客户机可以执行以下操作:
对每个子网通知一个服务 URL。
确保用可访问的 URL 应答来自特定子网的请求。
SA 客户机库不执行任何操作来确保已对可访问的 URL 进行通知。服务计划(它可能处理也可能不处理多宿主主机)将负责确保已对可访问的 URL 进行通知。
在禁用单点传送路由的多宿主主机上部署服务时,请使用 snoop 来确定服务是否可以正确处理来自多个子网的请求。此外,如果计划在多宿主主机上部署 DA,请参见 DA 放置和范围名称指定。
使用以下过程在 slp.conf 文件中更改 net.slp.interfaces 属性。
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
停止 slpd 和主机上的所有 SLP 活动。
# svcadm disable network/slp |
在 slpd.conf 文件中更改 net.slp.interfaces 属性:
net.slp.interfaces=value |
网络接口卡的 IPv4 地址或主机名的列表,DA 或 SA 应在该网络接口卡上侦听端口 427 上的多点传送、单点传送 UDP 和 TCP 消息
例如,具有三个网络接口卡和已关闭的多点传送路由的服务器将连接至三个子网。这三个网络接口的 IP 地址为 192.147.142.42、192.147.143.42 和 192.147.144.42。子网掩码为 255.255.255.0。以下属性设置将使 slpd 侦听所有三个接口上的单点传送和多点传送/广播消息:
net.slp.interfaces=192.147.142.42,192.147.143.42,192.147.144.42 |
可为 net.slp.interfaces 属性指定 IP 地址或可解析的主机名。
保存更改并关闭文件。
重新启动 slpd 以激活更改。
# svcadm enable network/slp |