系统管理指南:网络服务

多宿主主机上的代理通知

如果具有多个接口的主机通过使用 slpd 和代理注册来通知服务,slpd 通知的服务 URL 必须包含可访问的主机名或地址。如果在接口之间启用单点传送路由,则所有子网上的主机都可以访问其他子网上的主机。还可以对任何子网上的服务进行代理注册。但是,如果已禁用单点传送路由,则一个子网上的服务客户机将无法通过多宿主主机来访问另一子网上的服务。但这些客户机可能可以通过另一路由器来访问服务。

例如,假设缺省主机名为 bigguy 的主机在三个不同的非路由子网中有三个接口卡。在这些子网中主机名分别为 bigguy(IP 地址为 192.147.142.42)、bigguy1(IP 地址为 192.147.143.42)和 bigguy2(IP 地址为 192.147.144.42)。现在,假设传统打印机 oldprinter 连接至 143 子网,并且用 net.slp.interfaces 将 URL service:printing:lpr://oldprinter/queue1 配置为侦听所有接口。oldprinter URL 在所有接口上都通知代理。142144 子网中的机器将接收 URL 以响应服务请求,但无法访问 oldprinter 服务。

对此问题的解决方案是用只与 143 子网连接的机器(而非多宿主主机)上运行的 slpd 来执行代理通知。只有 143 子网上的主机可以获得通知,以作为对服务请求的响应。