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


Сетевой брокер пакетов

Брокер сетевых пакетов Оператора Azure Nexus — это специализированное предложение от Microsoft Azure, адаптированное для поставщиков услуг телекоммуникаций. С помощью брокера сетевых пакетов Оператора Azure Nexus операторы телекоммуникаций могут эффективно записывать, агрегировать, фильтровать и отслеживать трафик в своей инфраструктуре (AON), что позволяет выполнять глубокую проверку пакетов, анализ трафика и расширенный мониторинг сети. Это важно в телекоммуникационной отрасли, где обеспечение высокого качества обслуживания, обеспечение безопасности и соблюдение нормативных требований являются важными. Применяя это решение, операторы могут обеспечить более высокую видимость сетевого трафика, устранять проблемы более эффективно и в конечном итоге предоставлять улучшенные службы своим клиентам, сохраняя самые высокие стандарты сетевой безопасности и производительности.

Брокер сетевых пакетов (NPB) разработан и моделировался как отдельный ресурс Azure Resource Manager (ARM) в Microsoft.managednetworkfabric. Операторы могут создавать, читать, обновлять и удалять сетевые функции TAP, правила NETWORK TAP и соседних групп. Каждый брокер сетевых пакетов имеет несколько ресурсов, таких как Network TAP, соседская группа и правила TAP сети для управления, фильтрации и перенаправления указанного трафика.

Действия по включению брокера сетевых пакетов

Необходимые условия

  • Устройства NPB правильно установлены, стекированы и подготовлены. Процедура подготовки сетевой структуры см. в разделе "Подготовка Network Fabric".
  • Соответствующие vProbes должны быть настроены с выделенными IP-адресами
  • Для внутренних vProbes необходимо создать домены изоляции уровня 3 с внутренними сетями. Необходимо настроить необходимые подключенные подсети, кроме того, флаг расширения должен иметь значение NPB (во внутренних сетях). Процедура создания внутренних и внешних сетей в домене изоляции и задания флага расширения для NPB см. в разделе "Домены изоляции".
  • Для варианта использования "Сеть — сеть — сеть" (NNI) необходимо создать NNI в качестве типа NPB. Соответствующие свойства уровня 2 и уровня 3 должны быть определены во время создания NNI. Инструкции по созданию сети к сетевому соединению (NNI) см. в разделе "Подготовка Network Fabric".

Шаги

  1. Создайте правило NETWORK TAP, предоставляющее конфигурацию соответствия (поддерживается только встроенный метод ввода)
  2. Создайте ресурс группы соседей, определяющий назначения.
  3. Создайте ресурс TAP сети, ссылающийся на правила касания и группы соседей.
  4. Включите ресурс NETWORK TAP.

NPB

NNF автоматически создаст этот ресурс во время начальной загрузки.

Показать NPB

Эта команда содержит сведения о логическом ресурсе NPB.

 az networkfabric npb show --resource-group "example-rg" --resource-name "NPB1"

Ожидаемые выходные данные

{
  "properties": {
    "networkFabricId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkFabrics/example-networkFabric",
    "networkDeviceIds": [
      "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkDevices/example-networkDevice"
    ],
    "sourceInterfaceIds": [
      "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkDevices/example-networkDevice/networkInterfaces/example-networkInterface"
    ],
    "networkTapIds": [
      "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkTaps/example-networkTap"
    ],
    "neighborGroupIds": [
      "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/neighborGroups/example-neighborGroup"
    ],
    "provisioningState": "Succeeded"
  },
  "tags": {
    "key2806": "key"
  },
  "location": "eastuseuap",
  "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkPacketBrokers/example-networkPacketBroker",
  "name": "example-networkPacketBroker",
  "type": "microsoft.managednetworkfabric/networkPacketBrokers",
  "systemData": {
    "createdBy": "email@address.com",
    "createdByType": "User",
    "createdAt": "2023-05-17T11:56:12.100Z",
    "lastModifiedBy": "email@address.com",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2023-05-17T11:56:12.100Z"
  }
}

Правила TAP сети

Ресурс NetworkTapRule обеспечивает возможность фильтрации и переадресации сочетаний условий и действий.

Параметры для правил СЕТЕВОГО TAP

Параметр Описание Пример Обязательное поле
resource-group Используйте соответствующее имя группы ресурсов специально для networkTapRule ResourceGroupName Истина
имя ресурса Имена ресурсов касания сети InternetTAPrule1 Истина
расположение AzON Azure Region, используемый во время создания контроллера Network Fabric (NFC) eastus Истина
тип конфигурации Методы ввода для настройки правила касания сети. Встроенный или файл Истина
конфигурации сопоставления Список конфигураций соответствия.
match-configurations/matchconfigurationName Имя блока конфигурации Match
match-configurations/sequenceNumber Порядковый номер конфигурации match
match-configurations/ipAddressType Семейство IP-адресов
match-configurations/matchconditions Список условий динамического соответствия на основе портов, протоколов, VLAN и IP-адресов.
сопоставления конфигураций и действий Укажите сведения о действии. Действия могут быть drop, Count, Log,Goto,Redirect,Mirror
динамические конфигурации сопоставления Список конфигураций динамического сопоставления на основе порта, виртуальной локальной сети и IP-адреса

Примечание.

Правила касания сети и группы соседей должны быть созданы перед ссылкой на них в разделе "Сетевой касание"

Создание правила касания сети

Эта команда создает правило сетевого касания:

az networkfabric taprule create --resource-group "example-rg" --location "westus3"--resource-name "example-networktaprule"\
 --configuration-type "Inline" \
 --match-configurations "[{matchConfigurationName:config1,sequenceNumber:10,ipAddressType:IPv4,matchConditions:[{encapsulationType:None,portCondition:{portType:SourcePort,layer4Protocol:TCP,ports:[100],portGroupNames:['example-portGroup1']},protocolTypes:[TCP],vlanMatchCondition:{vlans:['10'],innerVlans:['11-20']},ipCondition:{type:SourceIP,prefixType:Prefix,ipPrefixValues:['10.10.10.10/20']}}],\
 actions:[{type:Drop,truncate:100,isTimestampEnabled:True,destinationId:'/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/neighborGroups/example-neighborGroup',matchConfigurationName:match1}]}]"\
 --dynamic-match-configurations"[{ipGroups:[{name:'example-ipGroup1',ipAddressType:IPv4,ipPrefixes:['10.10.10.10/30']}],vlanGroups:[{name:'example-vlanGroup',vlans:['10']}],portGroups:[{name:'example-portGroup1',ports:['100-200']}]}]"

Ожидаемые выходные данные:

{
  "properties": {
    "networkTapId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkTaps/example-taprule",
    "pollingIntervalInSeconds": 30,
    "lastSyncedTime": "2023-06-12T07:11:22.485Z",
    "configurationState": "Succeeded",
    "provisioningState": "Accepted",
    "administrativeState": "Enabled",
    "annotation": "annotation",
    "configurationType": "Inline",
    "tapRulesUrl": "",
    "matchConfigurations": [
      {
        "matchConfigurationName": "config1",
        "sequenceNumber": 10,
        "ipAddressType": "IPv4",
        "matchConditions": [
          {
            "encapsulationType": "None",
            "portCondition": {
              "portType": "SourcePort",
              "l4Protocol": "TCP",
              "ports": [
                "100"
              ],
              "portGroupNames": [
                "example-portGroup1"
              ]
            },
            "protocolTypes": [
              "TCP"
            ],
            "vlanMatchCondition": {
              "vlans": [
                "10"
              ],
              "innerVlans": [
                "11-20"
              ],
              "vlanGroupNames": [
                "example-vlanGroup"
              ]
            },
            "ipCondition": {
              "type": "SourceIP",
              "prefixType": "Prefix",
              "ipPrefixValues": [
                "10.10.10.10/20"
              ],
              "ipGroupNames": [
                "example-ipGroup"
              ]
            }
          }
        ],
        "actions": [
          {
            "type": "Drop",
            "truncate": "100",
            "isTimestampEnabled": "True",
            "destinationId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/neighborGroups/example-neighborGroup",
            "matchConfigurationName": "match1"
          }
        ]
      }
    ],
    "dynamicMatchConfigurations": [
      {
        "ipGroups": [
          {
            "name": "example-ipGroup1",
            "ipPrefixes": [
              "10.10.10.10/30"
            ]
          }
        ],
        "vlanGroups": [
          {
            "name": "example-vlanGroup",
            "vlans": [
              "10",
              "100-200"
            ]
          }
        ],
        "portGroups": [
          {
            "name": "example-portGroup1",
            "ports": [
              "100-200"
            ]
          },
          {
            "name": "example-portGroup2",
            "ports": [
              "900",
              "1000-2000"
            ]
          }
        ]
      }
    ]
  },
  "tags": {
    "keyID": "keyValue"
  },
  "location": "eastuseuap",
  "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkTapRules/example-tapRule",
  "name": "example-tapRule",
  "type": "microsoft.managednetworkfabric/networkTapRules",
  "systemData": {
    "createdBy": "email@address.com",
    "createdByType": "User",
    "createdAt": "2023-06-12T07:11:22.488Z",
    "lastModifiedBy": "user@mail.com",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2023-06-12T07:11:22.488Z"
  }
}

Показать правило касания сети

Эта команда отображает ресурс сообщества IP:

az networkfabric taprule show --resource-group "example-rg" --resource-name "example-networktaprule"

Ожидаемые выходные данные:

{
  "properties": {
    "networkTapId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkTaps/example-taprule",
    "pollingIntervalInSeconds": 30,
    "lastSyncedTime": "2023-06-12T07:11:22.485Z",
    "configurationState": "Succeeded",
    "provisioningState": "Accepted",
    "administrativeState": "Enabled",
    "annotation": "annotation",
    "configurationType": "Inline",
    "tapRulesUrl": "",
    "matchConfigurations": [
      {
        "matchConfigurationName": "config1",
        "sequenceNumber": 10,
        "ipAddressType": "IPv4",
        "matchConditions": [
          {
            "encapsulationType": "None",
            "portCondition": {
              "portType": "SourcePort",
              "l4Protocol": "TCP",
              "ports": [
                "100"
              ],
              "portGroupNames": [
                "example-portGroup1"
              ]
            },
            "protocolTypes": [
              "TCP"
            ],
            "vlanMatchCondition": {
              "vlans": [
                "10"
              ],
              "innerVlans": [
                "11-20"
              ],
              "vlanGroupNames": [
                "example-vlanGroup"
              ]
            },
            "ipCondition": {
              "type": "SourceIP",
              "prefixType": "Prefix",
              "ipPrefixValues": [
                "10.10.10.10/20"
              ],
              "ipGroupNames": [
                "example-ipGroup"
              ]
            }
          }
        ],
        "actions": [
          {
            "type": "Drop",
            "truncate": "100",
            "isTimestampEnabled": "True",
            "destinationId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/neighborGroups/example-neighborGroup",
            "matchConfigurationName": "match1"
          }
        ]
      }
    ],
    "dynamicMatchConfigurations": [
      {
        "ipGroups": [
          {
            "name": "example-ipGroup1",
            "ipPrefixes": [
              "10.10.10.10/30"
            ]
          }
        ],
        "vlanGroups": [
          {
            "name": "example-vlanGroup",
            "vlans": [
              "10",
              "100-200"
            ]
          }
        ],
        "portGroups": [
          {
            "name": "example-portGroup1",
            "ports": [
              "100-200"
            ]
          },
          {
            "name": "example-portGroup2",
            "ports": [
              "900",
              "1000-2000"
            ]
          }
        ]
      }
    ]
  },
  "tags": {
    "keyID": "keyValue"
  },
  "location": "eastuseuap",
  "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkTapRules/example-tapRule",
  "name": "example-tapRule",
  "type": "microsoft.managednetworkfabric/networkTapRules",
  "systemData": {
    "createdBy": "email@address.com",
    "createdByType": "User",
    "createdAt": "2023-06-12T07:11:22.488Z",
    "lastModifiedBy": "user@mail.com",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2023-06-12T07:11:22.488Z"
  }
}

Соседняя группа

Ресурс группы соседей имеет возможность группировать назначения для пересылки отфильтрованного трафика.

Параметры для соседней группы

Параметр Описание Пример Обязательное поле
resource-group Используйте соответствующее имя группы ресурсов специально для вашей группы соседей ResourceGroupName Истина
имя ресурса Имена ресурсов соседней группы example-Neighbor Истина
расположение AzON Azure Region, используемый во время создания NFC eastus Истина
destination Список назначений Ipv4 или Ipv6 для пересылки трафика 10.10.10.10 Истина

Создание группы соседей

Эта команда создает ресурс группы соседей:

 az networkfabric neighborgroup create --resource-group "example-rg" --location "westus3"
--resource-name "example-neighborgroup" --destination "{ipv4Addresses:['10.10.10.10']}"

Ожидаемые выходные данные:

{
  "properties": {
    "networkTapIds": [
    ],
    "networkTapRuleIds": [
    ],
    "destination": {
      "ipv4Addresses": [
        "10.10.10.10",
      ]
    },
    "provisioningState": "Succeeded",
    "annotation": "annotation"
  },
  "tags": {
    "keyID": "KeyValue"
  },
  "location": "eastus",
  "id": "/subscriptions/subscriptionId/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/neighborGroups/example-neighborGroup",
  "name": "example-neighborGroup",
  "type": "microsoft.managednetworkfabric/neighborGroups",
  "systemData": {
    "createdBy": "user@mail.com",
    "createdByType": "User",
    "createdAt": "2023-05-23T05:49:59.193Z",
    "lastModifiedBy": "email@address.com",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2023-05-23T05:49:59.194Z"
  }
}

Показать ресурс группы соседей

Эта команда отображает ресурс расширенного сообщества IP:

 az networkfabric neighborgroup show --resource-group "example-rg" --resource-name "example-neighborgroup"

Ожидаемые выходные данные:

{
  "properties": {
    "networkTapIds": [
    ],
    "networkTapRuleIds": [
    ],
    "destination": {
      "ipv4Addresses": [
        "10.10.10.10",
      ]
    },
    "provisioningState": "Succeeded",
    "annotation": "annotation"
  },
  "tags": {
    "keyID": "KeyValue"
  },
  "location": "eastus",
  "id": "/subscriptions/subscriptionId/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/neighborGroups/example-neighborGroup",
  "name": "example-neighborGroup",
  "type": "microsoft.managednetworkfabric/neighborGroups",
  "systemData": {
    "createdBy": "user@mail.com",
    "createdByType": "User",
    "createdAt": "2023-05-23T05:49:59.193Z",
    "lastModifiedBy": "email@address.com",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2023-05-23T05:49:59.194Z"
  }
}

виртуальной сети Azure

Сеть TAP позволяет операторам определять назначения и механизм инкапсуляции для пересылки отфильтрованного трафика на основе правил СЕТЕВОго TAP

Параметры для сетевого касания

Параметр Описание Пример Обязательное поле
resource-group Используйте соответствующее имя группы ресурсов специально для касания сети ResourceGroupName Истина
имя ресурса Имя ресурса касания сети NetworkTAP-Austin Истина
расположение AzON Azure Region, используемый во время создания NFC eastus Истина
network-packet-broker-id ARMID ресурса брокера сетевых пакетов Истина
тип опроса Метод опроса для правил касания сети (push или pull) Извлечь Истина
destination Определения назначения Истина
назначение или имя имя назначения
назначение или тип тип назначения. ИзоляцияDomain или NNI
destination/IsolationDomainProperties Сведения о домене изоляции. Инкапсуляция, идентификаторы групп соседей Идентификатор Azure Resource Manager (ARM) внутренней сети или NNI False
destinationTapRuleId ARMID правила Tap, которое необходимо применить Истина

Примечание.

Правила касания сети и группы соседей должны быть созданы перед ссылкой на них в разделе "Сетевой касание"

Соглашения об именовании устройств NetworkTAP и рекомендации.

Важно убедиться, что конфигурации и значения в этих именах наборов полей (vlanGroupNames, ipGroupNames, PortGroupNames) уникальны и не конфликтуют друг с другом.

  • Рекомендации.

    • Уникальные имена наборов полей: имена наборов полей в NetworkTAPRules должны быть уникальными, если содержимое набора полей отличается.

    • Уникальные имена ресурсов: имена ресурсов NetworkTAP и NetworkTAPRule должны быть уникальными в группах ресурсов в Структуре.

    • Создание региональных ресурсов: ресурсы NetworkTAP и NetworkTAPRule должны быть созданы в пределах региона и связаны с соответствующей структурой в регионе.

    • Изменение имени назначения: имя назначения уникально для определенной конфигурации назначения правила касания сети. Имя назначения нельзя изменить после отправки конфигурации касания сети на устройство.

Создание сетевого касания

Эта команда создает ресурс tap сети:

az networkfabric tap create --resource-group "example-rg" --location "westus3" \
--resource-name "example-networktap" \
--network-packet-broker-id "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkPacketBrokers/example-networkPacketBroker" \
--polling-type "Pull"\
--destinations "[{name:'example-destinationName',destinationType:IsolationDomain,destinationId:'/subscriptions/xxxxx/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/example-l3Domain/internalNetworks/example-internalNetwork',\
isolationDomainProperties:{encapsulation:None,neighborGroupIds:['/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/neighborGroups/example-neighborGroup']},\