如果要提供 Agent Controller 的存取控制,配置檔 (serviceconfig.xml) 提供了 <Hosts> 元素及其子項 <Allow> 和 <Deny>。 如果作用中配置有 <Hosts> 元素, 則會列舉 <Allow> 和 <Deny> 子元素, 判斷是否容許主機連接 Agent Controller。 如果列舉了所有子項,且沒有規則符合送入連線,依預設,就會拒絕連線。 <Allow> 或 <Deny> 規則的說明方式有兩種:主機名稱或網路遮罩。
如果是主機名稱,要求連線的主機 IP 位址要接受反向的 DNS 查閱。 如果名稱完全相符,就會根據屬性名稱來決定允許或拒絕連線。 萬用主機名稱有兩個:ALL 和 LOCAL。 當比較主機名稱時,ALL 固定會傳回相符的結果。 如果連接 Agent Controller 的主機 IP 位址符合本端主機任何網路介面的 IP 位址,LOCAL 就會傳回相符的結果。
網路連線規則用來根據一群機器在網路中的位置,決定要允許或拒絕它們的存取動作。 為了使用網路連線規則,Agent Controller 會使用兩個數字:網路(net 屬性)和子網路遮罩(mask 屬性)。 當從主機要求連線時,它的 IP 位址會與 mask 屬性形成邏輯 AND 的關係。 如果邏輯 AND 的結果等於 net 屬性,就表示規則相符。
下例說明如何配置測試用戶端的存取:
初步的步驟:
範例 1
如果當預設配置在作用中,要允許從網路中的所有機器存取 Agent Controller,請在配置檔中加入下列片段:
<Hosts configuration="default"> <Allow host="ALL"/> </Hosts>
範例 2
當除錯配置生效時,若只容許從本端主機存取,且完全拒絕連接 Agent Controller,請在配置檔中新增下列片段:
<Hosts configuration="debug"> <Allow host="LOCAL"/> </Hosts>
範例 3
如果要允許屬於除了 192.168.0.1 的 192.168.0.0 C 類別網路之所有機器存取 Agent Controller, 也要允許 steamboat 主機存取 Agent Controller,但拒絕所有配置中的所有其他主機, 請在配置檔中加入下列片段:
<Hosts> <Deny net="192.168.0.1" mask="255.255.255.255"/> <Allow net="192.168.0.0" mask="255.255.0.0"/> <Allow host="steamboat"/> </Hosts>
相關作業
尋找配置檔
建立配置和設定作用配置
管理 Agent Controller