Поделиться через


Создание управления списком контроль доступа (ACL) для внешних сетей сети изоляции NNI и уровня 3

контроль доступа Списки (ACL) — это набор правил, которые регулируют поток входящих и исходящих пакетов в сети. Служба Azure Nexus Network Fabric предлагает механизм на основе API для настройки списков управления доступом для сетевых межсоединений и внешних сетей домена изоляции уровня 3. В этом руководстве описаны шаги по созданию списков управления доступом.

Создание списков контроль доступа (СПИСКИ ACL)

Чтобы создать ACL и определить его свойства, можно использовать az networkfabric acl create команду. Ниже приведены действия, связанные с выполнением следующих действий.

Необходимые компоненты

  • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.

  • Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.

    • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

    • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

    • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

  1. Установите подписку (при необходимости):

Если у вас несколько подписок и необходимо задать один по умолчанию, это можно сделать с помощью:

az account set --subscription <subscription-id>
  1. Создание ACL:
    az networkfabric acl create --resource-group "<resource-group>" --location "<location>" --resource-name "<acl-name>" --annotation "<annotation>" --configuration-type "<configuration-type>" --default-action "<default-action>" --match-configurations "[{matchConfigurationName:<match-config-name>,sequenceNumber:<sequence-number>,ipAddressType:<IPv4/IPv6>,matchConditions:[{ipCondition:{type:<SourceIP/DestinationIP>,prefixType:<Prefix/Exact>,ipPrefixValues:['<ip-prefix1>', '<ip-prefix2>', ...]}}],actions:[{type:<Action>}]}]"
Параметр Описание
Группа ресурсов Укажите группу ресурсов сетевой структуры.
Расположение Определите расположение, в котором создается ACL.
Имя ресурса Укажите имя ACL.
Номер При необходимости добавьте описание или заметку для ACL.
Тип конфигурации Укажите, является ли конфигурация встроенной или с помощью файла.
Действие по умолчанию Определите действие по умолчанию, выполняемое, если совпадение не найдено.
Сопоставления конфигураций Определите условия и действия для сопоставления трафика.
Действия Укажите действие, выполняемое на основе условий соответствия.

Руководство по использованию параметров

В таблице ниже приведены рекомендации по использованию параметров при создании списков управления доступом:

Параметр Описание Пример или диапазон
defaultAction Определяет действие по умолчанию, выполняемое "defaultAction": "Permit"
resource-group Группа ресурсов сетевой структуры nfresourcegroup
имя ресурса Имя ACL example-ingressACL
vlanGroups Список групп VLAN
vlans Список виртуальных ЛС, которые необходимо сопоставить
конфигурации сопоставления Имя конфигурации соответствия example_acl
matchConditions Условия, необходимые для сопоставления
ttlValues TTL [время жизни] 0–255
dscpMarking Маркировка DSCP, которая должна быть сопоставлена 0-63
fragments Указание пакетов фрагментов IP-адресов Диапазон: 1-8191
Пример: [1, 5, 1250-1300, 8000-8191]
portCondition Условие порта, которое должно соответствовать
portType Тип порта, который необходимо сопоставить Пример: SourcePort
порты Номер порта, который необходимо сопоставить Диапазон: 0-65535
Пример: [1, 10, 500, 1025-1050, 64000-65535]
protocolTypes Протоколы, которые необходимо сопоставить [tcp, udp, range[1-2, 1, 2]]
vlanMatchCondition Условие соответствия виртуальной локальной сети, которое должно соответствовать
layer4Protocol Протокол уровня 4 должен быть TCP или UDP
ipCondition Условие IP, которое необходимо сопоставить
actions Действие, которое необходимо предпринять на основе условия соответствия Пример: разрешение
тип конфигурации Тип конфигурации (встроенный или файл) Пример: встроенный

Примечание.

  • Встроенные порты и встроенные виртуальные локальные локальные сети статически определяются с помощью azcli.
  • PortGroupNames и VlanGroupNames динамически определяются.
  • Объединение встроенных портов с portGroupNames не допускается, аналогичным образом для встроенных виртуальных ЛС и VLANGroupNames.
  • Не удается объединить IPGroupNames и IpPrefixValues.
  • Исходящие списки управления доступом не поддерживают определенные параметры, такие как параметры IP, длина IP, фрагмент, эфир, маркировка DSCP и значения TTL.
  • Списки управления доступом входящего трафика не поддерживают следующие параметры: etherType.
  • Входные данные портов могут быть port-number или range-of-ports.
  • Входные данные фрагментов могут быть port-number или range-of-ports.
  • ACL с конфигурацией динамического сопоставления в вечных сетях не поддерживается.

Пример полезных данных для создания ACL

az networkfabric acl create --resource-group "example-rg" --location "eastus2euap" --resource-name "example-Ipv4ingressACL" --annotation "annotation" --configuration-type "Inline" --default-action "Deny" --match-configurations "[{matchConfigurationName:example-match,sequenceNumber:1110,ipAddressType:IPv4,matchConditions:[{ipCondition:{type:SourceIP,prefixType:Prefix,ipPrefixValues:['10.18.0.124/30','10.18.0.128/30','10.18.30.16/30','10.18.30.20/30']}},{ipCondition:{type:DestinationIP,prefixType:Prefix,ipPrefixValues:['10.18.0.124/30','10.18.0.128/30','10.18.30.16/30','10.18.30.20/30']}}],actions:[{type:Count}]}]"

Пример результата

{
  "administrativeState": "Disabled",
  "annotation": "annotation",
  "configurationState": "Succeeded",
  "configurationType": "Inline",
  "defaultAction": "Deny",
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/Fab3LabNF-4-0/providers/Microsoft.ManagedNetworkFabric/accessControlLists/L3domain091123-Ipv4egressACL",
  "location": "eastus2euap",
  "matchConfigurations": [
    {
      "actions": [
        {
          "type": "Count"
        }
      ],
      "ipAddressType": "IPv4",
      "matchConditions": [
        {
          "ipCondition": {
            "ipPrefixValues": [
              "10.18.0.124/30",
              "10.18.0.128/30",
              "10.18.30.16/30",
              "10.18.30.20/30"
            ],
            "prefixType": "Prefix",
            "type": "SourceIP"
          }
        },
        {
          "ipCondition": {
            "ipPrefixValues": [
              "10.18.0.124/30",
              "10.18.0.128/30",
              "10.18.30.16/30",
              "10.18.30.20/30"
            ],
            "prefixType": "Prefix",
            "type": "DestinationIP"
          }
        }
      ],
      "matchConfigurationName": "example-Ipv4ingressACL ",
      "sequenceNumber": 1110
    }
  ],
  "name": "example-Ipv4ingressACL",
  "provisioningState": "Succeeded",
  "resourceGroup": "Fab3LabNF-4-0",
  "systemData": {
    "createdAt": "2023-09-11T10:20:20.2617941Z",
    "createdBy": "user@email.com",
    "createdByType": "User",
    "lastModifiedAt": "2023-09-11T10:20:20.2617941Z",
    "lastModifiedBy": "user@email.com",
    "lastModifiedByType": "User"
  },
  "type": "microsoft.managednetworkfabric/accesscontrollists"
}

Примечание.

После создания ACL обязательно запишите идентификатор ссылки ACL для дальнейшего использования.

Next Steps

Применение списков контроль доступа (ACL) к NNI в Azure Fabric