12.5 SLP

OES 2 包含在它的 Linux 和 NetWare 平台上独立但兼容的 SLP 解决方案:

本节讨论下列主题:

12.5.1 需要 SLP 的理由

OES 2 NetWare: 虽然许多其它的应用程序和服务器类型依赖 SLP 进行服务发现,但由于 NetWare 上的 OES 2 服务实际集成了 eDirectory,因此如果正确配置了 eDirectory,这些服务就可以在没有 SLP 的情况下发挥作用。但是,NetWare 会自动为可能要安装的其它服务提供 SLP。

OES 2 Linux: 另一方面,对用于 OES 2 Linux 的 OES 2 服务,服务器必须具备以下条件之一:

  • 已安装一个 eDirectory 复本。

    安装完树中的第三台服务器后,不会自动安装 eDirectory 复本,因此建议树中的服务器不要多于三到五个复本。

  • 已使用服务器上运行的 OpenSLP 服务注册了 eDirectory。

    这需要在 OES 2 Linux 安装期间或手工安装过程中配置 SLP。

12.5.2 比较每种平台的 SLP 解决方案

平台

NetWare

SLES 10 SP1

SLP 解决方案

Novell SLP

OpenSLP

关于解决方案

SLP 的 Novell 版本符合 SLP 的部分标准,可以提供更可靠的服务广告环境。

Novell SLP 保留 OES 2 NetWare 服务器的默认发现机制。但是,包括 Novell Client™ 软件在内的所有参与发现的 NetWare 服务部件均可以使用替换的机制,如 DNS、eDirectory 或本地主机配置文件。

OpenSLP 实施各种 IETF 规范,包括 RFC 2614(SLP 2.0 版)。它是 SLES 10 上默认安装的 SLP 服务。

在 OES 2 Linux 中,OpenSLP 可用于需要它的那些应用程序。实际上,默认的发现机制是 DNS,但是 SLP 必须存在于需要它的任何应用程序中,特别是 OES 2 Linux 服务器是第四个或之后添加到树中的服务器并且没有自动安装 eDirectory 复本时。

区别

Novell SLP 目录代理可以通过 eDirectory 在进程中跨越网络段边界与相同环境中的其它目录代理共享信息。但是这并不是自动的,它需要在目录模式而不是本地模式中运行 Novell SLP。

OpenSLP 目录代理互相完全独立,并且不同步。

兼容性

Novell SLP 目录代理将不与 OpenSLP 目录代理同步。

如果配置为这样,则基于 Novell SLP 的用户代理或服务代理可以访问基于 OpenSLP 的目录代理。但是,目录代理类型必须为两种类型中的一种。SLP NLM 不能在相同配置中同时访问 Novell SLP 和 OpenSLP DA。

DA 同步不是 OpenSLP 的一部分。

根据配置需要,基于 OpenSLP 的用户代理或服务代理可以访问基于 Novell SLP 的目录代理。但是,目录代理类型必须为两种类型中的一种。SLP 守护程序 (slpd) 不能在相同配置中同时访问 Novell SLP 和 OpenSLP DA。

文档

《Novell eDirectory 8.8 管理指南》中的实施服务定位协议

《Novell eDirectory 8.8 管理指南》中的配置 eDirectory 的 OpenSLP

12.5.3 在 OES 2 网络上设置 OpenSLP

SLP 服务始终作为 NetWare 和 SLES 10 SP1(基本 OES 2 Linux 平台)的一部分进行安装。在 NetWare 中,Novell SLP 服务配置为自动与 eDirectory 和其它服务一起工作。在 OES 2 Linux 中,必须手工配置 OpenSLP 服务与 eDirectory 和其它服务一起工作。

何时需要 OpenSLP?

如果属于以下两种情况,则必须在 OES 2 Linux 服务器上设置 OpenSLP:

  • 规划将三台以上的服务器安装到正在 OES 2 Linux 服务器上创建的新树中。

  • 没有现有的 Novell SLP 服务,或不想继续使用 Novell SLP。

重要说明:如果由于上述原因需要设置 OpenSLP,请在树中安装第四台 OES 2 Linux 或任一 NetWare 服务器之前执行此操作。建议在每台 OES 2 Linux 服务器上设置 SLP 服务。

设置 OpenSLP DA 服务器

如果需要 OpenSLP,并且还没有在网络上设置 OpenSLP 目录代理 (DA),为简便起见,我们建议将树中的第一台 OES 2 Linux 服务器设置为 OpenSLP DA。由于在没有目录代理的情况下不能管理 SLP 服务,因此这种方法很不可靠并且还需要多路广播。如果是 OES 2 Linux,还需要禁用防火墙。

创建 DA 后,可以将所有随后安装的服务器配置为指向该 DA 或之后创建的其它 DA。

执行下列操作:

  1. 在将要成为 DA 的 OES 2 Linux 服务器上,使用文本编辑器打开 /etc/slp.conf 文件。

  2. slp.conf 中,去除以下行开头的分号 [;]:

    ;net.slp.isDA = true

    结果为

    net.slp.isDA = true

  3. 查找以下行:

    ;net.slp.useScopes = myScope1, myScope2, myScope3

    重要说明:不能忽略每个逗号后的空格,可能有人认为它们是一个整体,所以配置文件中的示例可能会令人误解。

    因此,第一个逗号后通过该语句创建或配置的范围名称中实际具有前导空格。例如,第一个范围名称为myScope1,但该范围名称后的所有范围名称都具有前导空格,如 myScope2 myScope3等。这是个问题,尤其是在后面的一个名称成为后续 SLP 配置中的第一个名称且忽略前导空格的情况下。

    如果由于某个原因使用该示例中给定的范围,则需要去除各项之间的空格。

  4. 通过去除分号并键入该 DA 要用于提供网络上服务信息的范围名称对行进行修改。例如,可以按如下方式对行进行更改:

    net.slp.useScopes = Directory

    重要说明:虽然在没有指定范围的情况下,SLP 会提供一个默认的范围,但是最好通过在 slp.conf 中配置 net.slp.useScopes 参数来定义一个或多个范围。

    范围将对网络上的服务进行分组并组织成逻辑类别。例如,可以将会计组需要的服务分组到会计范围中。

    有关更多范围规划的信息,请参见《Novell eDirectory 8.8 管理指南》../../../edir88/edir88/data/a2iii88.html#a2iii88中的SLP 范围以及 OpenSLP 万维网站点

    没有指定范围时,所有的服务会注册到名为“Default”的范围中。

  5. 通过执行以下操作,配置 DA 服务器上的防火墙以允许 SLP 守护程序通讯:

    1. 在“YaST 控制中心”,单击“安全性和用户”“防火墙”

    2. 在左侧导航框中,单击“允许的服务”

    3. 单击“要允许的服务”下拉列表并选择“SLP 守护程序”

    4. 单击“添加”>“下一步”

    5. 单击“接受”

  6. 在命令提示符后,输入以下命令重启动 SLP 守护程序:

    rcslpd restart

  7. (视具体情况而定)如果在安装 OES 2 和 eDirectory 后执行此操作,还必须通过输入以下命令重启动 eDirectory:

    rcndsd restart

  8. 根据情况,继续阅读以下各节:

配置 OES 2 Linux 服务器以访问 OpenSLP DA

如果在树中安装的 OES 2 Linux 服务器上创建 OpenSLP DA,然后在该服务器上正确配置 SLP,将不用再使用这些说明。

对于 eDirectory 树中安装的所有其它 OES 2 Linux 服务器,应根据需要执行以下操作之一:

在 OES 2 Linux 安装期间配置 DA 访问

根据《OES 2:Linux 安装指南》(OES 2: Linux Installation Guide) 中的Novell eDirectory 服务一节的说明安装 OES 2 Linux 时,请执行以下操作:

  1. 安装到 SLP 部分时,请选择“配置 SLP 以使用现有目录代理”

    如果这是安装到树中的第四台或以后的服务器,则第一个选项“不要配置 SLP”会导致 eDirectory 和其它服务出现问题。第二个选项“使用多路广播”需要您禁用服务器上的防火墙。通常,不建议禁用防火墙。

  2. 在“服务定位协议范围”字段中,指定步骤 4 中定义的范围。也可以列出其它范围,使用分号(没有空格)进行分隔。

    例如,如果 Directory 是指定给创建的 DA 的范围名称,则可以在字段中键入 Directory

  3. 在“已配置的 SLP 目录代理”字段中,键入设置 OpenSLP DA 服务器中定义的 DA 服务器的 IP 地址。也可以列出更多的 DA 地址,用逗号分割。

  4. 返回至《OES 2:Linux 安装指南》中的Novell eDirectory 服务的说明。

在安装 OES 2 Linux 服务器之前或之后配置 DA 访问

无论是在 SLES 10 SP1 服务器上安装 OES 2 Linux 之前配置 DA 访问,还是在同时安装 SLES 10 SP1 和 OES 2 之后再进行配置,DA 的手工配置过程都是相同的。

  1. 在文本编辑器中打开 /etc/slp.conf

  2. 查找以下行:

    ;net.slp.useScopes = myScope1, myScope2, myScope3

    重要说明:不能忽略每个逗号后的空格,可能有人认为它们是一个整体,所以配置文件中的示例可能会令人误解。

    因此,第一个逗号后通过该语句创建或配置的范围名称中实际具有前导空格。例如,第一个范围名称为myScope1,但该范围名称后的所有范围名称都具有前导空格,如 myScope2 myScope3等。这是个问题,尤其是在后面的一个名称成为后续 SLP 配置中的第一个名称且忽略前导空格的情况下。

    如果由于某个原因使用该示例中给定的范围,则需要去除各项之间的空格。

  3. 通过去除分号并键入希望该服务器访问的一个或多个范围名称来对行进行修改。请确保包括步骤 4 中定义的范围。

    例如,可以按如下方式对行进行更改:

    net.slp.useScopes = Directory

  4. 查找以下行:

    ;net.slp.DAAddresses = myDa1,myDa2,myDa3

  5. 修改行的方法是去除分号并键入设置 OpenSLP DA 服务器中定义的 OpenSLP DA 的实际 IP 地址。

    net.slp.DAAddresses = IP_Address

  6. 保存该文件后关闭它。

  7. 在 Linux 命令提示符下,输入以下命令以重启动 SLP 守护程序并重设置其配置。

    rcslpd restart

配置 NetWare 服务器以使用 OpenSLP 服务

重要说明:默认情况下,NetWare 使用 Novell SLP,并尽可能为服务器配置该服务。如果要将 OpenSLP 而不是 Novell SLP 用于 NetWare 服务器,只能遵循这些章节中的说明。

根据情况,完成以下操作:

在 NetWare 服务器安装期间配置 DA 访问
  1. 在设置网络板 IP 地址的对话框中,单击“高级”

  2. 单击“SLP”选项卡。

  3. 指定 OES 2 Linux DA 服务器的 IP 地址(最多三个)。

  4. 键入希望 NetWare 服务器访问的已配置 DA 涵盖的范围列表。

    重要说明:我们建议不要将服务器配置为使用多路广播,因为此操作会禁用防火墙,是从不建议的。

  5. 单击“确定”。

安装 NetWare 服务器后配置 DA 访问
  1. 使用文本编辑器,在 NetWare 服务器上编辑 SYS:ETC/slp.cfg 文件,并为 NetWare 服务器要访问的每台 DA 服务器添加以下行:

    • DA IPV4, IP_Address1
    • DA IPV4, IP_Address2

    IP_Address X 表示 OES 2 Linux DA 服务器的 IP 地址。

  2. 去除安装过程中创建的所有指向 NetWare 服务器的行。

  3. 保存该文件后关闭它。

  4. 在 NetWare 控制台提示符后,指定希望 NetWare 服务器访问的范围、将 SLP 缓存写入注册表并重启动 SLP 服务:

    • set slp scope list = scope1,scope2,...
    • flush cdbe
    • set slp reset = on
  5. 通过输入以下命令校验 SLP 是否正常工作:

    display slp services

12.5.4 在 OES 2 网络上使用 Novell SLP

如果有一个 NetWare 树,网络上会自动产生 Novell SLP,并且可以在两个 OES 2 平台上继续将它用作 SLP 服务。

本节讨论以下内容:

默认情况下使用 Novell SLP 配置 NetWare

安装 NetWare 时,如果没有指定替换的 SLP 配置,安装程序会自动配置服务器以满足大多数网络需要的方式使用 Novell SLP。有关 Novell SLP 和自定义说明的信息,请参见《Novell eDirectory 8.8 管理指南》中的实施服务定位协议

配置 OES 2 Linux 服务器以访问 Novell SLP DA

对于 eDirectory 树中安装的每台 OES 2 Linux 服务器,应根据需要完成以下步骤之一:

在 OES 2 Linux 安装期间配置 DA 访问

安装 OES 2 Linux 时,根据《OES 2:Linux 安装指南》Novell eDirectory 服务一节内容,执行以下操作:

  1. 安装到 SLP 部分时,请选择“配置 SLP 以使用现有目录代理”

    如果这是安装到树中的第四台或以后的服务器,则第一个选项“不配置 SLP”会导致 eDirectory 和其它服务出现问题。第二个选项“使用多路广播”需要您禁用服务器上的防火墙。通常,不建议禁用防火墙。

  2. 在“服务定位协议范围”字段中,指定一个或多个在您的网络上定义的相应范围。

    如果不能确定精确的范围名称,则可以查看同一网络段上 NetWare 服务器的 SLP 配置。登录到该服务器上的 Novell 远程管理器,然后单击“管理应用程序”>“SLP”

    可以列出多个范围,用逗号分割(不加空格)。

    例如,可以在该字段中键入 Directory

  3. 在“配置的 SLP 目录代理”字段中,键入相应 DA 服务器的 IP 地址。

    如果不能确定要使用哪个地址,则可以再次使用 NetWare 服务器上的 NRM。

    也可以列出更多的 DA 地址,用逗号分割。

  4. 返回到《OES 2:Linux 安装指南》中的Novell eDirectory 服务

在安装 OES 2 Linux 服务器之前或之后配置 DA 访问

无论是在 SLES 10 SP1 服务器上安装 OES 2 Linux 之前配置 DA 访问,还是在同时安装 SLES 10 SP1 和 OES 2 之后再进行配置,DA 的手工配置过程都是相同的。

  1. 在文本编辑器中打开 /etc/slp.conf

  2. 查找以下行:

    ;net.slp.useScopes = myScope1, myScope2, myScope3

    重要说明:由于未忽略每个逗号后的空格,可能有人会认为它们是一个整体,因此配置文件中的示例易于令人误解。

    因此,第一个逗号后通过该语句创建或配置的范围名称中实际具有前导空格。例如,第一个范围名称为myScope1,但该范围名称后的所有范围名称都具有前导空格,如 myScope2 myScope3等。这是个问题,尤其是在后面的一个名称成为后续 SLP 配置中的第一个名称且忽略前导空格的情况下。

    如果由于某些原因使用该示例中给定的范围,则需要去除各项之间的空格。

  3. 修改该行,去除分号并键入希望该服务器能够访问的名称或范围名称。

    如果不能确定精确的范围名称,则可以查看同一网络段上 NetWare 服务器的 SLP 配置。登录到该服务器上的 Novell 远程管理器,然后单击“管理应用程序”>“SLP”

    可以列出多个范围,用逗号分割(不加空格)。

    例如,可以按照以下方式更改该行:

    net.slp.useScopes = Directory

  4. 查找以下行:

    ;net.slp.DAAddresses = myDa1,myDa2,myDa3

  5. 修改该行,去除分号并键入 Novell SLP DA 的实际 IP 地址(如果需要,请使用 NRM)。

    net.slp.DAAddresses = IP 地址

  6. 保存该文件后关闭它。

  7. 在 Linux 命令提示符下,输入以下命令以重启动 SLP 守护程序并重置其配置。

    rcslpd restart

  8. 输入以下命令以校验是否可以识别配置的 DA 和范围。

    slptool findsrvs service:

    应列出 DA 服务器。

    slptool findscopes

    应列出范围。

  9. 如果在安装 OES 2 Linux 之后已执行了此操作,则输入下面的名称以校验是否可找到该树:

    slp findsrvs service:ndap.novell