針對 SNMP v3 設定 SNMP 代理程式時,代理程式支援傳送設陷。SNMP v3 還提供比 v1 或 v2c 更強大的安全性,包括密碼編譯驗證和加密。

不支援 SNMP v3 通知。vCenter Server僅支援具有所有安全性層級的通知,如 v1/v2c 設陷與 v3 設陷。

設定 SNMP 引擎識別碼

每個 SNMP v3 代理程式都具有一個引擎識別碼,做為其唯一識別碼。引擎識別碼與雜湊功能搭配使用可產生用於針對 SNMP v3 訊息進行驗證和加密的當地語系化金鑰。

如果未在啟用 SNMP 代理程式之前指定引擎識別碼,當您啟用獨立 SNMP 代理程式時,會產生引擎識別碼。

程序

  1. 存取應用裝置 shell 並以具有管理員或超級管理員角色的使用者身分登入。
    具有超級管理員角色的預設使用者是根使用者。
  2. 執行 snmp.set --engineid 命令以設定目標。
    例如,執行下列命令:
    snmp.set --engineid 80001adc040102030405060708091011
    其中,值可以分解為十六進位數字,
    80:00:1a:dc:04:24:17:e2:02:b8:61:3f:54:00:00:00:00

    並解碼為:

    80: -- RFC 3411 編碼適用於高位元 '10000000' 0x80 ,較低的 7 個位元 0 是企業識別碼的一部分。

    00:1a:dc -- 企業識別碼的其餘部分,VMware 解析的值為十六進位 1a:dc (十進位為 6876)。

    04: -- 根據第 42 頁的 RFC 3411,它屬於 engineid 類型。使用此處的「4」表示剩餘的八位元,可轉譯為文字。

    0102030405060708091011 -- 以十六進位字元編碼的營運人員指定的文字。

設定 SNMP 驗證和隱私通訊協定

SNMP v3 選擇性地支援驗證和隱私通訊協定。

驗證用於確認使用者的身分。隱私允許對 SNMP v3 訊息進行加密,來確保資料的機密性。這些隱私通訊協定提供比 SNMP v1 和 v2c (使用社群字串確保安全性) 更高層級的安全性。

驗證和隱私都是選用項。但是,只有啟用驗證後才能啟用隱私。

SNMP v3 驗證和隱私通訊協定是獲得授權的 vSphere 功能,某些 vSphere 版本可能不提供。

程序

  1. 存取應用裝置 shell 並以具有管理員或超級管理員角色的使用者身分登入。
    具有超級管理員角色的預設使用者是根使用者。
  2. (選擇性) 執行 snmp.set --authentication 命令以設定驗證。
    例如,執行下列命令:
    snmp.set --authentication protocol
    在此, protocol 必須為 none (不進行驗證)、 SHA1MD5
  3. (選擇性) 執行 snmp.set --privacy 命令設定隱私通訊協定。
    例如,執行下列命令:
    snmp.set --privacy protocol
    在此, protocol 必須為 none (無隱私) 或 AES128

設定 SNMP 使用者

您最多可設定 5 個可存取 SNMP v3 資訊的使用者。使用者名稱長度不得超過 32 個字元。

在設定使用者過程中,您根據使用者的驗證和隱私密碼以及 SNMP 代理程式的引擎識別碼產生驗證和隱私雜湊值。如果在設定使用者後變更引擎識別碼、驗證通訊協定或隱私通訊協定,則使用者將失效,並且您必須重新設定這些使用者。

必要條件

  • 設定使用者之前,先確認您已設定驗證和隱私通訊協定。
  • 確認您知道每個要設定之使用者的驗證與隱私密碼。密碼長度必須至少為 8 個字元。將這些密碼儲存在主機系統上的檔案中。

程序

  1. 存取應用裝置 shell 並以具有管理員或超級管理員角色的使用者身分登入。
    具有超級管理員角色的預設使用者是根使用者。
  2. 如果您使用的是驗證或隱私通訊協定,請執行 snmp.hash --auth_hash --priv_hash 命令以取得使用者的驗證與隱私雜湊值。
    例如,執行下列命令:
    snmp.hash  --auth_hash secret1 --priv_hash secret2
    在此, secret1 是包含使用者驗證密碼的檔案路徑, secret2 是包含使用者隱私密碼的檔案路徑。或者,您可以指定旗標 --raw_secret,並將布林值參數設定為 true
    系統會顯示驗證和隱私雜湊值。
  3. 執行 snmp.set --user 以設定使用者。
    例如,執行下列命令:
    snmp.set --user userid/authhash/privhash/security
    命令中的參數如下。
    參數 說明
    userid 取代為使用者名稱。
    authhash 取代為驗證雜湊值。
    privhash 取代為隱私雜湊值。
    security 取代成為該使用者啟用的安全性層級,可以為 auth (僅驗證)、priv (驗證和隱私) 或 none (無驗證和隱私)。

設定 SNMP v3 目標

設定 SNMP v3 目標,允許 SNMP 代理程式傳送 SNMP v3 設陷。

您最多可以設定三個 SNMP v3 目標以及三個 SNMP v1 或 v2c 目標。

若要設定一個目標,您必須指定接收設陷之系統的主機名稱或 IP 位址、使用者名稱、安全性層級以及是否傳送設陷。安全性層級可以為 none (無安全性)、auth (僅驗證) 或 priv (驗證和隱私)。

程序

  1. 存取應用裝置 shell 並以具有管理員或超級管理員角色的使用者身分登入。
    具有超級管理員角色的預設使用者是根使用者。
  2. 執行 snmp.set --v3targets 命令以設定 SNMP v3 目標。
    例如,執行下列命令:
    snmp.set --v3targets hostname@port/userid/secLevel/trap
    命令中的參數如下。
    參數 說明
    hostname 取代為接收設陷之管理系統的主機名稱或 IP 位址。
    port 取代為接收設陷之管理系統上的連接埠。如未指定連接埠,則使用預設連接埠 161。
    userid 取代為使用者名稱。
    secLevel 取代為 noneauthpriv,指示您已設定的驗證和隱私層級。如果您僅設定了驗證,請使用 auth,如果同時設定了驗證和隱私,請使用 priv,如果兩者均未設定,請使用 none
  3. (選擇性) 如果 SNMP 代理程式未啟用,則透過執行 snmp.enable 命令將其啟用。
  4. (選擇性) 要傳送測試設陷以驗證代理程式的設定是否正確,請執行 snmp.test 命令。
    代理程式會將 warmStart 設陷傳送到所設定的目標。