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 服務能夠在 OES 2 Linux 上運作,伺服器必須:

  • 安裝 eDirectory 複製本。

    在網路樹中安裝了第三部伺服器之後,這個動作就不是自動的,而且也不建議在網路樹中的伺服器上包含三到五個複製本。

  • 讓 eDirectory 使用在伺服器上執行的 OpenSLP 服務來註冊。

    這需要在 OES 2 Linux 安裝期間或是以手動的方式設定 SLP 組態。

12.5.2 比較每個平台的 SLP 解決方案

平台

NetWare

SLES 10 SP1

SLP 解決方案

Novell SLP

OpenSLP

關於解決方案

Novell 版本的 SLP 改寫了部分的 SLP 標準,以提供更強健的通告環境。

Novell SLP 仍然是 OES 2 NetWare 伺服器的預設搜索機構。不過,在探查中執行的所有 NetWare 服務元件 (包括 Novell Client™ 軟體) 可以使用替代機構,例如 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 目錄代辦 (Directory Agent,DA) 伺服器

如果您需要 OpenSLP,而且尚未在網路上設定 OpenSLP 目錄代辦 (DA),為了簡單化,我們建議您在網路樹中設定第一部 OES 2 Linux 伺服器做為 OpenSLP DA。雖然沒有「目錄代辦」還是可以管理 SLP 服務,但是此方法較為不健全,需要多路廣播,而且若是 OES 2 Linux 還需要關閉防火牆。

在建立目錄代辦 (Directory Agent,DA) 之後,您可以將所有後續安裝的伺服器設定成該目錄代辦 (Directory Agent,DA) 或是您之後建立的其他 DA。

請進行下列幾項操作:

  1. 在將變成目錄代辦 (Directory Agent,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. 請修改此行,即移除分號並輸入您要此目錄代辦 (Directory Agent,DA) 用以在網路上提供服務資訊的範圍名稱。例如,您可以將此行變更成如下所示:

    net.slp.useScopes = Directory

    重要:雖然 SLP 會在沒有指定範圍時提供預設的範圍,但是在 slp.conf 中設定 net.slp.useScopes 參數來定義一或多個範圍是最好的作法。

    查看群組並將網路上的服務組織成邏輯類別。例如,Accounting 群組需要的服務可以群組成 Accounting 範圍。

    在《Novell eDirectory 8.8 管理指南》中的 SLP 範圍 以及在 OpenSLP 網站 上可以找到有關範圍規劃的詳細資訊。

    當沒有指定範圍時,會在名為 Default 的範圍中註冊所有的服務。

  5. 透過執行下列動作,在目錄代辦 (Directory Agent,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 安裝期間設定目錄代辦 (Directory Agent,DA) 存取

當您使用《OES 2:Linux 安裝指南》的 Novell eDirectory 服務 小節中的指示安裝 OES 2 Linux 時,請執行下列動作:

  1. 當您到達安裝的 SLP 區段時,請選取「設定 SLP 使用現有的目錄代辦」。

    如果這是網路樹中安裝的第四部或更後面的伺服器,第一個選項「不要設定 SLP」將會造成 eDirectory 與其他服務發生問題。第二個選項「使用多路廣播」需要您關閉在伺服器上的防火牆。並不建議關閉防火牆。

  2. 在「服務位置協定範圍」欄位中,指定在步驟 4 中定義的範圍。您也可以以逗點 (沒有空格) 分隔列出其他範圍。

    例如,如果 Directory 是您指定給所建立之目錄代辦 (Directory Agent,DA) 的範圍名稱,就可以在欄位中輸入它。

  3. 在「設定的 SLP 目錄代辦」欄位中,輸入在設定 OpenSLP 目錄代辦 (Directory Agent,DA) 伺服器中定義的目錄代辦 (Directory Agent,DA) 伺服器 IP 位址。您也可以以逗點分隔列出其他目錄代辦 (Directory Agent,DA) 位址。

  4. 返回《OES 2:Linux 安裝指南》中的 Novell eDirectory 服務 指示。

在安裝 OES 2 Linux 伺服器之前或之後設定目錄代辦 (Directory Agent,DA) 存取

不論您是在 SLES 10 SP1 伺服器上安裝 OES 2 Linux 之前或是在同時安裝 SLES 10 SP1 與 OES 2 之後設定目錄代辦 (Directory Agent,DA) 存取,手動的目錄代辦 (Directory Agent,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 目錄代辦 (Directory Agent,DA) 伺服器中定義之 OpenSLP目錄代辦 (Directory Agent,DA) 的實際 IP 位址。

    net.slp.DAAddresses = IP_Address

  6. 儲存並關閉檔案。

  7. 在 Linux 指令提示符,輸入下列指令以重新啟動 SLP 精靈並重設其組態。

    rcslpd restart

設定 NetWare 伺服器使用 OpenSLP 服務

重要:NetWare 預設使用 Novell SLP,而且若有可能的話將為該服務設定伺服器。如果您在 NetWare 伺服器要使用 OpenSLP 而不是 Novell SLP,應該只遵循這些小節中的指示。

當下列其中一個小節適用於您的情況時,請完成該程序:

在 NetWare 伺服器安裝期間設定目錄代辦 (Directory Agent,DA) 存取
  1. 在您為網路卡設定 IP 位址的對話方塊中,按一下「進階」。

  2. 按一下「SLP」索引標籤。

  3. 指定 OES 2 Linux 目錄代辦 (Directory Agent,DA) 伺服器的 IP 位址,最多可以指定三個。

  4. 輸入已設定之目錄代辦 (Directory Agent,DA) (您希望 NetWare 伺服器擁有存取權的 DA) 所涵蓋的範圍清單。

    重要:我們建議您不要設定伺服器使用多路廣播,因為這樣就需要關閉防火牆,永遠都不建議這樣做。

  5. 按一下「確定」。

在安裝 NetWare 伺服器之後設定目錄代辦 (Directory Agent,DA) 存取
  1. 使用文字編輯器,編輯 NetWare 伺服器上的 SYS:ETC/slp.cfg 檔案,並為您希望 NetWare 伺服器擁有存取權的每部目錄代辦 (Directory Agent,DA) 伺服器加入下列一行:

    • DA IPV4, IP_Address1
    • DA IPV4, IP_Address2

    其中 IP_Address X 是 OES 2 Linux目錄代辦 (Directory Agent,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 eDirectory 8.8 管理指南》中的 執行服務位置協定 中可以找到有關 Novell SLP 與自訂指示的資訊。

設定 OES 2 Linux 伺服器存取 Novell SLP DA

對於在 eDirectory 網路樹中所安裝的每部 OES 2 Linux 伺服器,當下列其中一個程序適用於您的情況時,您應該完成該程序:

在 OES 2 Linux 安裝期間設定目錄代辦 (Directory Agent,DA) 存取

當您使用《OES 2:Linux 安裝指南》中的 Novell eDirectory 服務 小節來安裝 OES 2 Linux 時,請執行下列動作:

  1. 當您到達安裝的 SLP 區段時,請選取「設定 SLP 使用現有的目錄代辦」。

    如果這是網路樹中安裝的第四部或更後面的伺服器,第一個選項「不要設定 SLP」將會造成 eDirectory 與其他服務發生問題。第二個選項「使用多路廣播」需要您關閉在伺服器上的防火牆。並不建議關閉防火牆。

  2. 在「服務位置協定範圍」欄位中,指定在網路上定義的一或多個適當範圍。

    如果您不確定完整的範圍名稱,可以檢視在相同網路節區上 NetWare 伺服器的 SLP 組態。登入伺服器上的「Novell 遠端管理員」,然後按一下「管理應用程式」 > 「SLP」

    您也可以以逗點分隔 (沒有空格) 列出多個範圍。

    例如,您可以在欄位中輸入 Directory

  3. 在「設定的 SLP 目錄代辦」欄位中,輸入適當目錄代辦 (Directory Agent,DA) 伺服器的 IP 位址。

    此外,如果您不確定要使用哪個位址,可以使用在 NetWare 伺服器上的 NRM。

    您也可以以逗點分隔列出其他目錄代辦 (Directory Agent,DA) 位址。

  4. 返回《OES 2:Linux 安裝指南》中的 Novell eDirectory 服務 指示。

在安裝 OES 2 Linux 伺服器之前或之後設定目錄代辦 (Directory Agent,DA) 存取

不論您是在 SLES 10 SP1 伺服器上安裝 OES 2 Linux 之前或是在同時安裝 SLES 10 SP1 與 OES 2 之後設定目錄代辦 (Directory Agent,DA) 存取,手動的目錄代辦 (Directory Agent,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 目錄代辦 (Directory Agent,DA) 的實際 IP 位址。

    net.slp.DAAddresses = IP_Address

  6. 儲存並關閉檔案。

  7. 在 Linux 指令提示符,輸入下列指令以重新啟動 SLP 精靈並重設其組態。

    rcslpd restart

  8. 輸入下列指令以驗證您設定的目錄代辦 (Directory Agent,DA) 與範圍是否可辨識。

    slptool findsrvs service:

    應該會列出目錄代辦 (Directory Agent,DA) 伺服器。

    slptool findscopes

    應該會列出範圍。

  9. 如果您在安裝 OES 2 Linux 之後已經這麼做了,請輸入下列名稱來確認是否找到了網路樹:

    slp findsrvs service:ndap.novell