您可以使用 UI 和 API 來建立、更新和刪除 DFW 規則。

安全管理員需要瞭解任何安全性原則作業的實現時間。實現時間是在傳輸節點上實現安全性原則/規則所花費的時間。會根據規則的套用位置,在傳輸節點上實現安全性原則/規則上的任何建立/更新/刪除作業。

UI 上的規則實現狀態

您可以導覽至安全性 > 分散式防火牆安全性閘道防火牆,然後檢查傳輸節點所報告的規則實現狀態,以確認 DFW 和閘道防火牆原則的規則實現狀態。

規則實現狀態有四個可能的值:
  • 成功
  • 錯誤
  • 進行中
  • 未知

透過 API 的規則實現狀態

如果已在相關節點上建立並強制執行規則,您可以透過下列原則管理員 API 來檢查實現狀態。

在 NSX 4.1.1 中,有兩個新欄位:
  • publish_time - 追蹤發佈狀態何時更新。每當意圖有所更新時,狀態追蹤器會在發佈狀態推送到傳輸節點後,對其進行修改。由於此動作是以輪詢機制為基礎,因此不是在資料路徑上發佈意圖的準確時間。值 -1 表示發佈仍在進行中,或是執行階段狀態是 [未知] 且無法使用。若有一或多個主機已關閉,且無法將規則傳送到這些主機,則執行階段狀態可能是 [未知]。當主機啟動後,執行階段狀態將變更為 [成功],但 publish_time 會顯示上次實現時間的值。之後只要有任何新的組態變更,就會開始反映 publish_time 的正確值。
  • time_taken_for_realization - 實現資料路徑意圖所花費的大致時間。實際花費時間可能少於此處報告的時間。值 -1 表示發佈仍在進行中,或者執行階段狀態為 [未知] 且因而無法使用。若有一或多個主機已關閉,且無法將規則傳送到這些主機,則執行階段狀態可能是 [未知]。當主機啟動時,執行階段狀態將變更為 [成功],但 time_taken_for_realization 會顯示上次實現時間的值。之後只要有任何新的組態變更,就會開始反映 time_taken_for_realization 的正確值。
例如:
"publish_status": "REALIZED",
    "publish_time":  1668599137109, <====================== Newly added
    "time_taken_for_realization": 1563 <============ in milliseconds 
    "intent_version": "1"

若要對所有在原則管理員中建立的實體檢查實現狀態,請執行下列命令:GET: https://<Policy Appliance IP>/policy/api/v1/infra/realized-state/realized-entities。物件的實現狀態應為「已實現」,而「runtime_status」應為「成功」

例如,在原則管理員層級用來對安全性原則的 <e2d4c010-96c8-11e9-8c0a-f7581ab92530> 檢查實現狀態的查詢為 GET https://10.172.121.219/policy/api/v1/infra/realized-state/realized-entities?intent_path=/infra/domains/default/security-policies/f96f27c0-92b8-11e9-96af-b5e746a259e7/rules/e2d4c010-96c8-11e9-8c0a-f7581ab92530

{
"results": [
{
"extended_attributes": [],
"entity_type": "RealizedFirewallRule",
"intent_paths": [
"/infra/domains/default/security-policies/1-communication-560"
],
"resource_type": "GenericPolicyRealizedResource",
"id": "default.1-communication-560.3-communication-110",
"display_name": "default.1-communication-560.3-communication-110",
"description": "default.1-communication-560.3-communication-110",
"path": "/infra/realized-state/enforcement-points/default/firewalls/firewall-sections/default.1-communication-560/firewall-rules/default.1-communication-560.3-communication-110",
"relative_path": "default.1-communication-560.3-communication-110",
"parent_path": "/infra/realized-state/enforcement-points/default/firewalls/firewall-sections/default.1-communication-560",
"intent_reference": [],
"realization_specific_identifier": "1028",
"state": "REALIZED",  
"alarms": [],
"runtime_status": "IN_PROGRESS",
"_create_user": "system",
"_create_time": 1561673625030,
"_last_modified_user": "system",
"_last_modified_time": 1561674044534,
"_system_owned": false,
"_protection": "NOT_PROTECTED",
"_revision": 6
}
],
"result_count": 1
}

若要檢查 Hypervisor 上的區段中每個規則區段的整體實現狀態,請執行命令:GET https://<policy-mgr>/policy/api/v1/infra/realized-state/status?include_enforced_status=true&intent_path=<Security_policy_path>

整併狀態有四個可能的值:
  • 成功
  • 錯誤
  • 進行中
  • 未知
表 1. 整併狀態
傳輸節點 1 整體狀態 傳輸節點 2 整體狀態 整併狀態
錯誤 錯誤 錯誤
錯誤 IN_PROGRESS 錯誤
錯誤 未知 錯誤
IN_PROGRESS IN_PROGRESS IN_PROGRESS
IN_PROGRESS 未知 IN_PROGRESS
成功 成功 成功
成功 錯誤 錯誤
成功 IN_PROGRESS IN_PROGRESS
成功 未知 未知
未知 未知 未知