您可以透過 Neutron 安全群組強制執行 NSX Data Center for vSphere 安全性原則。也可使用此功能插入第三方網路服務。

提供者安全群組和標準安全群組均可使用 NSX Data Center for vSphere 安全性原則。以規則為基礎的提供者安全群組和標準安全群組也可以與以安全性原則為基礎的安全群組搭配使用。但是,與安全性原則相關聯的安全群組不可同時包含規則。

安全性原則優先於所有安全群組規則。如果在連接埠上強制執行多個安全性原則,則強制執行原則的順序由 NSX Data Center for vSphere 決定。您可以在 vSphere Client 中的安全性 > 防火牆頁面的網路和安全性下變更順序。

必要條件

NSX Data Center for vSphere 中建立所需的安全性原則。請參閱《NSX 管理指南》中的建立安全性原則

程序

  1. root 使用者身分登入 Integrated OpenStack Manager
    ssh root@mgmt-server-ip
  2. 修改 Neutron 組態。
    viocli update neutron
  3. nsxv 區段中,新增 use_nsx_policiesdefault_policy_idallow_tenant_rules_with_policy 參數,然後進行設定。
    選項 說明

    use_nsx_policies

    輸入 true

    default_policy_id

    輸入要與新專案的預設安全群組相關聯的 NSX Data Center for vSphere 安全性原則的識別碼。如果不想預設使用安全性原則,則可以將此參數保持已排除註解。

    若要找到安全性原則的識別碼,請登入 vSphere Client,然後選取功能表 > 網路與安全性。按一下 Service Composer,然後開啟安全性原則索引標籤。按一下資料表左下方的顯示資料行圖示。選取物件識別碼,然後按一下確定。每個安全性原則的識別碼都將顯示在資料表中。

    allow_tenant_rules_with_policy

    輸入 true 以允許承租人建立安全群組和規則,或輸入 false 以防止承租人建立安全群組或規則。

    現在,組態檔類似於以下內容:

    conf:
      [...]
      plugins:
        nsx:
          [...]
          nsxv:
            use_nsx_policies: true
            default_policy_id: policy-5
            allow_tenant_rules_with_policy: true
    
  4. 如果您要將其他安全群組與安全性原則搭配使用,則可以執行下列步驟:
    • 若要將 NSX Data Center for vSphere 安全性原則與新安全群組相關聯,請在建立群組時指定所需的原則:
      toolbox
      export OS_PASSWORD=admin-account-password
      neutron security-group-create security-group-name --tenant-id tenant-uuid --policy=policy-id
    • 若要將現有安全群組移轉到以安全性原則為基礎的群組,請從 Neutron 伺服器執行下列命令:
      kubectl -n openstack exec -it neutron-server-pod-name -- /bin/bash
      nsxadmin -r security-groups -o migrate-to-policy --property policy-id=policy-id --property security-group-id=security-group-uuid
      備註: 此命令會從指定的安全群組中移除所有規則。請確保設定目標原則,以便網路連線不會中斷。
  5. 設定 Neutron 以使 NSX Data Center for vSphere 安全性原則的優先順序高於安全群組。
    kubectl -n openstack exec -it neutron-server-pod-name -- /bin/bash
    sudo -u neutron nsxadmin --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/vmware/nsx.ini -r firewall-sections -o nsx-reorder