Share via


Corretor de pacotes de rede

O Network Packet Broker do Azure Operator Nexus é uma oferta especializada do Microsoft Azure adaptada para fornecedores de serviços de telecomunicações. Com o Network Packet Broker do Azure Operator Nexus, os operadores de telecomunicações podem capturar, agregar, filtrar e monitorizar o tráfego de forma eficiente na sua infraestrutura (AON), permitindo uma inspeção profunda de pacotes, análise de tráfego e monitorização de rede melhorada. Isto é particularmente crucial no setor das telecomunicações, onde a manutenção de um serviço de alta qualidade, a garantia da segurança e o cumprimento dos requisitos regulamentares são primordiais. Ao aproveitar essa solução, as operadoras podem obter melhor visibilidade do tráfego de rede, solucionar problemas de forma mais eficaz e, finalmente, fornecer serviços aprimorados aos clientes, mantendo os mais altos padrões de segurança e desempenho de rede.

O NPB foi projetado e modelado como um recurso de nível superior separado do Azure Resource Manager (ARM) em Microsoft.managednetworkfabric. Os operadores podem Criar, Ler, Atualizar e Eliminar funções de Rede TAP, Regra de Rede TAP e Grupo Vizinho. Cada agente de pacotes de rede terá vários recursos, como Network TAP, Neighbor Group, & Network TAP Rules para gerenciar, filtrar e encaminhar o tráfego designado.

Etapas para habilitar o Network Packet Broker

Pré-requisitos

  • Os dispositivos NPB são corretamente colocados em rack, empilhados e provisionados. Para Procedimento sobre como provisionar a malha de rede, consulte Provisionamento de malha de rede.
  • Os respetivos vProbes devem ser configurados com IPs dedicados
  • Para vProbes internos, devem ser criados domínios de isolamento de camada 3 com redes internas. As sub-redes conectadas necessárias devem ser configuradas, além disso, o sinalizador de extensão deve ser definido como NPB (em redes internas). Para obter Procedimento sobre como criar redes internas e externas em um Domínio de Isolamento e definir sinalizador de extensão para NPB, consulte Domínios de Isolamento.
  • Para o caso de uso Network to Network Inter-connect (NNI), o NNI deve ser criado como tipo NPB. As propriedades apropriadas das camadas 2 e 3 devem ser definidas durante a criação do NNI. Para obter Procedimento sobre como criar a rede para interconexão de rede (NNI), consulte Provisionamento de malha de rede.

Passos

  1. Criar uma regra TAP de rede que forneça a configuração de correspondência (apenas o método de entrada em linha é suportado)
  2. Crie um recurso de Grupo Vizinho definindo destinos.
  3. Crie um recurso TAP de rede fazendo referência às regras de toque e aos grupos vizinhos.
  4. Habilite o recurso Network TAP.

BFN

Este recurso seria criado automaticamente pelo NNF durante a inicialização.

Mostrar NPB

Este comando mostra os detalhes do recurso lógico NPB.

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

Saída esperada

{
  "properties": {
    "networkFabricId": "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkFabrics/example-networkFabric",
    "networkDeviceIds": [
      "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkDevices/example-networkDevice"
    ],
    "sourceInterfaceIds": [
      "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkDevices/example-networkDevice/networkInterfaces/example-networkInterface"
    ],
    "networkTapIds": [
      "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkTaps/example-networkTap"
    ],
    "neighborGroupIds": [
      "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/neighborGroups/example-neighborGroup"
    ],
    "provisioningState": "Succeeded"
  },
  "tags": {
    "key2806": "key"
  },
  "location": "eastuseuap",
  "id": "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/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"
  }
}

Regras da Rede TAP

O recurso NetworkTapRule fornece a capacidade de fornecer combinações de condições e ações de filtragem e encaminhamento.

Parâmetros para as Regras TAP da Rede

Parâmetro Description Exemplo Obrigatório
resource-group Use um nome de grupo de recursos apropriado especificamente para sua NetworkTapRule ResourceGroupName True
nome-recurso Nome do recurso da rede Toque em InternetTAPrule1 True
localização AzON Azure Region usado durante a criação de NFC eastus True
tipo de configuração Método de entrada para configurar a Regra de Toque de Rede. Inline ou Arquivo True
configurações de correspondência Lista de configurações de correspondência.
match-configurations/matchconfigurationName Nome do bloco de configuração Match
match-configurations/sequenceNumber Número sequencial da configuração Match
match-configurations/ipAddressType Família de endereços IP
configurações de correspondência/condições de correspondência Lista de condições de correspondência dinâmica com base em porta, protocolo, Vlan & condições de IP.
configurações de correspondência/ação Forneça detalhes da ação. As ações podem ser Drop, Count, Log, Goto, Redirect, Mirror
configurações de correspondência dinâmica Lista de configurações de correspondência dinâmica com base em Port, Vlan & IP

Nota

As regras de Toque de Rede e os Grupos Vizinhos devem ser criados antes de serem recriados no Toque de Rede

Criar regra de toque em rede

Este comando cria uma regra de Toque de Rede:

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:'exmaple-vlanGroup',vlans:['10']}],portGroups:[{name:'example-portGroup1',ports:['100-200']}]}]"

Resultado esperado:

{
  "properties": {
    "networkTapId": "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/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": [
                "exmaple-vlanGroup"
              ]
            },
            "ipCondition": {
              "type": "SourceIP",
              "prefixType": "Prefix",
              "ipPrefixValues": [
                "10.10.10.10/20"
              ],
              "ipGroupNames": [
                "example-ipGroup"
              ]
            }
          }
        ],
        "actions": [
          {
            "type": "Drop",
            "truncate": "100",
            "isTimestampEnabled": "True",
            "destinationId": "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/neighborGroups/example-neighborGroup",
            "matchConfigurationName": "match1"
          }
        ]
      }
    ],
    "dynamicMatchConfigurations": [
      {
        "ipGroups": [
          {
            "name": "example-ipGroup1",
            "ipPrefixes": [
              "10.10.10.10/30"
            ]
          }
        ],
        "vlanGroups": [
          {
            "name": "exmaple-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/1234ABCD-0A1B-1234-5678-123456ABCDEF/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"
  }
}

Mostrar regra de toque em rede

Este comando exibe um recurso da comunidade IP:

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

Resultado esperado:

{
  "properties": {
    "networkTapId": "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/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": [
                "exmaple-vlanGroup"
              ]
            },
            "ipCondition": {
              "type": "SourceIP",
              "prefixType": "Prefix",
              "ipPrefixValues": [
                "10.10.10.10/20"
              ],
              "ipGroupNames": [
                "example-ipGroup"
              ]
            }
          }
        ],
        "actions": [
          {
            "type": "Drop",
            "truncate": "100",
            "isTimestampEnabled": "True",
            "destinationId": "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/neighborGroups/example-neighborGroup",
            "matchConfigurationName": "match1"
          }
        ]
      }
    ],
    "dynamicMatchConfigurations": [
      {
        "ipGroups": [
          {
            "name": "example-ipGroup1",
            "ipPrefixes": [
              "10.10.10.10/30"
            ]
          }
        ],
        "vlanGroups": [
          {
            "name": "exmaple-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/1234ABCD-0A1B-1234-5678-123456ABCDEF/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"
  }
}

Grupo de vizinhos

O recurso Grupo Vizinho tem a capacidade de agrupar destinos para encaminhar o tráfego filtrado

Parâmetros para grupo vizinho

Parâmetro Description Exemplo Obrigatório
resource-group Use um nome de grupo de recursos apropriado especificamente para seu NeighborGroup ResourceGroupName True
nome-recurso Nome do recurso do NeighborGroup exemplo-Vizinho True
localização AzON Azure Region usado durante a criação de NFC eastus True
destination Lista de destinos Ipv4 ou Ipv6 para encaminhar tráfego 10.10.10.10 True

Criar grupo Vizinho

Este comando cria um recurso de Grupo Vizinho:

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

Resultado esperado:

{
  "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"
  }
}

Mostrar recurso de grupo Vizinho

Este comando exibe um recurso de comunidade estendida IP:

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

Resultado esperado:

{
  "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"
  }
}

Rede TAP

Rede TAP permite aos Operadores definir destinos e mecanismo de encapsulamento para encaminhar tráfego filtrado com base nas Regras TAP da Rede

Parâmetros para Rede TAP

Parâmetro Description Exemplo Obrigatório
resource-group Usar um nome de grupo de recursos apropriado especificamente para sua rede Toque em ResourceGroupName True
nome-recurso Nome do recurso da rede Toque em RedeTAP-Austin True
localização AzON Azure Region usado durante a criação de NFC eastus True
ID do corretor de pacotes de rede ARMID do recurso Network Packet Broker True
tipo de sondagem Método de sondagem para regras de toque de rede (Push ou Pull) Pull (Git: Solicitar) True
destination Definições de destino True
destino/nome Nome do destino
destino/tipo tipo de destino. IsolationDomain ou NNI
destination/IsolationDomainProperties Detalhes do domínio Isolamento. Encapsulamento, IDs de grupo vizinhos ID do Azure Resource Manager (ARM) da rede interna ou NNI False
destinationTapRuleId ARMID da regra Tap, que precisa ser aplicada True

Criar Rede TAP

Este comando cria o recurso Tap de rede:

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/l3IsloationDomains/example-l3Domain/internalNetworks/example-internalNetwork',\
isolationDomainProperties:{encapsulation:None,neighborGroupIds:['/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/neighborGroups/example-neighborGroup']},\