qwertyuiopasdfghjklzxcvbnmqw
ertyuiopasdfghjklzxcvbnmqwer
tyuiopasdfghjklzxcvbnmqwerty
uiopasdfghjklzxcvbnmqwertyui
opasdfghjklzxcvbnmqwertyuiop
asdfghjklzxcvbnmqwertyuiopas
dfghjklzxcvbnmqwertyuiopasdf
ghjklzxcvbnmqwertyuiopasdfgh
jklzxcvbnmqwertyuiopasdfghjkl
zxcvbnmqwertyuiopasdfghjklzx
cvbnmqwertyuiopasdfghjklzxcv
bnmqwertyuiopasdfghjklzxcvbn
mqwertyuiopasdfghjklzxcvbnm
qwertyuiopasdfghjklzxcvbnmqw
ertyuiopasdfghjklzxcvbnmqwer
tyuiopasdfghjklzxcvbnmqwerty
Service Location Protocol
作者:歐元禾
Service Location Protocol
SLP : 服務定位協定
功能: 讓使用者透過查詢取得所需要的網路服務 URL,不再需要記下所有服
務主機名稱
角色: 用戶代理「User-Agent, UA」
- 透過 DA取得服務 url或直接與 SA取得服務。
服務代理「Service-Agent, SA」
- 如果有 DA,SA將自己的服務與位置告訴 DA,如果沒有 DA,SA
會直接回應 UA的請求。
目錄代理「Directory-Agent, DA」
- 服務位置訊息的集中庫,SA將服務位置發送到 DA中緩存。當
UA做服務查詢時,DA直接回應 UA。
架構: 集中架構:
- 使用一個中心服務器來緩存服務廣播
分散架構:
- 對每個服務查詢的廣播進行回應。
組織: 主動 DA發現
- UA發出一個多播請求服務位置,接收到這個請求的DA回應UA。
被動 DA發現
- DA週期地的發出 DA廣播,讓 UA和 SA知道 DA的存在。
OpenSLP DA架設
由於 OpenSLP在安裝 SUSE時就有內建,所以不需要再另外安裝。
可以透過以下指令來查看是否安裝套件。
有二種方式設定成為 DA (Directory-Agent),Yast與 slp.conf修改
透過 Slp.conf直接設定
以下三個設定分別是:
1. UA與 SA的群組範圍
2. 強迫 UA與 SA使用特定位址的 DA
3. 開啟 DA的設定值
以下三個設定分別是:
1. 將「多播」以「廣播」完全取代,預設值「false」,當「多播」無法使用時,
會自動使用「廣播」
2. 「被動式 DA偵測」設定,預設值「true」
3. 「主動式 DA偵測」設定,預設值「true」
指定接聽網卡:
1. 當一台電腦有多張網卡的時候,可以指定某網卡來接聽 SLP的要求。
設定完後,用「:wq」來儲存離開
以下二個指令分別:
1. 設定開機時自動啟動 SLP
2. 檢查是否設定成功
3. 啟動 SLP
以上開啟 DA及啟動 SLP大功告成
介紹完利用組態檔來設定 DA,接下將透過 Yast來設定。
以下列指令進入 Yast介面,再依黃色的字進入 SLP設定。
二個選項分別:
1. 當開機時系統自動啟動 SLP服務
2. 手動啟動 SLP服務
四個選項分別為:
1. 使用廣播的方式回應(SA設定)
2. 使用多播的方式回應(SA設定)
3. 指定需求查詢 DA Server位址
4. 設定成 DA Server
上面的紅色框框為專家模式設定:
可以手動新增修改設定值,例如下方是修改 DA的 IP位址
Option的選項,就是 slp.conf中的選項
以上完成後選擇「Finish」儲存離開
OpenSLP SA 啟動
接下來是 SA的啟動,SA的啟動只是單純的啟動 SLP
通常 SLP支援的服務,只要服務(ex:DNS)一啟動,SLP就會自動發送訊息。
註冊檔一般編輯方式
SA發送的服務位置訊息,分別存放在:
1. /etc/slp.reg 此為單一檔案,將所有的服務訊息存放在裡面,下面看到的檔
案內容是預設未編輯狀態,通常不會將註冊訊息設定在此。
2. /etc/slp.reg.d/ 此目錄存放「*.reg」,預設的個別服務註冊檔存放目錄。
註冊檔 Yast編輯
進入 yast
選擇開機時自動啟動 SLP
預設為使用「多播方式」回應
選擇第三個設定
在這裡能看到註冊檔
OpenSLP 查詢
以上是 SA與 DA的架設,接下來將介紹如何查詢
查詢有二種方式:
1. slptool
2. yast2 slp
slptool後面接的 domain是服務的名稱,這裡指的是 DNS服務
在終端機輸入「Yast2 slp」
以上二種方法顯示的結果都是一樣,依個人習慣來選擇使用。
但是 DNS以 domain的名稱顯示,可能會讓很多人不習慣,而且 DNS回傳的是
URL而不是 IP。這時候就可以透過「*.reg」或 Yast來修改。
直接修改「/etc/slp.reg.d/bind.reg」
Bind.reg內容:
1. DNS服務的位置
2. 監聽 53埠
3. 服務的敘述
將預設的 domain及 $HOSTNAME修改成下圖所示
或者使用 Yast修改
設定完之後儲存離開
不管用什麼方法,都要重新啟動 SLP
接下來再來看新的查詢結果
Domain 已經變成 DNS而且 URL也變成 IP
OpenSLP 應用
在 LADP Server 啟動 SLP及新增 ldap.reg
新增下面內容,「:wq」儲存離開
記得重新啟用 SLP
在使用者端利用 Yast設定 LDAP用戶端
利用「尋找(F)」掃描 SLP來尋找 LDAP Server,方便又簡單。
CUPS的 SLP設定
CUPS的 SLP是在 cups.conf裡面新增二行參數,不需要新增任何的註冊檔
分別意思:
1. 設定監聽印表機資訊的埠
2. 設定使用印表機瀏覽的協定
設定完後重新啟動 CUPS與 SLP
此時就能看到印表機的服務資訊
Yast也能看到印表機,比對上下資訊是一樣的,這樣一來就能方便使用者,也方
便管理者,也能節省在每台電腦上安裝網路印表機。
Installation Server 架設
SLP也支援此伺服器,以下將介紹如何架設 Installtion Server
Installation Server 也是不用手動新增註冊檔就能使用 SLP的服務
利用 Yast來架設
指向欲存放目錄,因為是利用 HTTP所以將目錄存放在 Apache2目錄下
目錄別名可省略
選擇「Add」新增安裝目錄
指定一個目錄名稱,這個目錄會建立在「/srv/apache2/install」剛剛指定的目錄
重要:記得勾選下方的 SLP宣布
之後選擇使用 ISO檔,再指定檔案來源位置
選擇完 ISO檔之後,系統會自動把 ISO檔內容複製到剛剛指定的目錄
「/srv/apache2/install/suse11」
複製完成後,會顯示目錄位置而且會新增一個 CD1的目錄
此時只要按「Cancel」跳出
檔案庫就建立完成了
再檢查一次 SLP,就會發現 Installation Server也能查詢到
因為是資料庫是架在 HTTP,所以可以透過 Browser瀏覽
網址後面的目錄就是剛剛所設定的。