Agente de Pacotes de Rede
O Agente de Pacotes de Rede do Nexus do Operador do Azure é uma oferta especializada do Microsoft Azure personalizada para provedores de serviços de telecomunicações. Com o Agente de Pacotes de Rede do Nexus do Operador do Azure, as operadoras de telecomunicações podem capturar, agregar, filtrar e monitorar o tráfego com eficiência em sua infraestrutura (AON), permitindo uma inspeção profunda de pacotes, análise de tráfego e monitoramento de rede aprimorado. Isso é crucial no setor de telecomunicações, em que a manutenção de serviços de alta qualidade, a garantia de segurança e o cumprimento dos requisitos regulatórios são primordiais. Ao aplicar essa solução, os operadores podem obter melhor visibilidade do tráfego de rede, solucionar problemas com mais eficiência e, por fim, fornecer serviços aprimorados para seus clientes, mantendo os mais altos padrões de segurança e desempenho de rede.
O NPB (Agente de Pacotes de Rede) foi projetado e modelado como um recurso separado do ARM (Azure Resource Manager) em Microsoft.managednetworkfabric. Os operadores podem Criar, Ler, Atualizar e Excluir funções de TAP de Rede, regra TAP de Rede e de Grupo Vizinho. Cada agente de pacotes de rede tem vários recursos, como TAP de Rede, Grupo vizinho e Regras TAP de rede para gerenciar, filtrar e encaminhar o tráfego designado.
Etapas para habilitar o Agente de Pacotes de Rede
Pré-requisitos
- Os dispositivos NPB são armazenados, empilhados e provisionados corretamente. Para o Procedimento sobre como provisionar a malha de rede, consulte Provisionamento do Network Fabric.
- Os respectivos vProbes devem ser configurados com IPs dedicados
- Para vProbes internos, domínios de isolamento de camada 3 com redes internas devem ser criados. 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 Procedimento sobre como criar redes internas e externas em um Domínio de Isolamento e definir o sinalizador de extensão para NPB, consulte Domínios de Isolamento.
- Para o caso de uso NNI (Interconexão de rede a rede), o NNI deve ser criado como tipo
NPB
. As propriedades apropriadas da camada 2 e da camada 3 devem ser definidas durante a criação da NNI. Para o Procedimento sobre como criar a rede para a NNI (interconexão de rede), consulte Provisionamento do Network Fabric.
Etapas
- Criar uma regra TAP de Rede fornecendo a configuração de correspondência (somente o método de entrada embutida tem suporte)
- Crie um recurso de grupo vizinho definindo destinos.
- Crie um recurso TAP de Rede referenciando as regras de TAP e grupos vizinhos.
- Habilite o recurso TAP de Rede.
NPB
O NNF criaria automaticamente esse recurso durante o bootstrap..
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/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"
}
}
Regras de TAP de Rede
O recurso NetworkTapRule fornece capacidade para fornecer combinações de filtragem e encaminhamento de condições e ações.
Parâmetros para regras de TAP de Rede
Parâmetro | Descrição | Exemplo | Necessário |
---|---|---|---|
resource-group | Usar um nome de grupo de recursos apropriado especificamente para o NetworkTapRule | ResourceGroupName | Verdadeiro |
resource-name | Nomes de recursos do toque de rede | InternetTAPrule1 | Verdadeiro |
local | Região do Azure do AzON usada durante a criação do NFC (Controlador de Malha de Rede) | eastus | Verdadeiro |
configuration-type | Métodos de entrada para configurar a Regra de Toque de Rede. | Embutido ou arquivo | Verdadeiro |
configurações de correspondência | Lista de configurações de correspondência. | ||
match-configurations/matchconfigurationName | Nome do bloco de configuração De correspondência | ||
match-configurations/sequenceNumber | Número de sequência de configuração de correspondência | ||
match-configurations/ipAddressType | Família de endereços IP | ||
match-configurations/matchconditions | Lista de condições de correspondência dinâmica com base nas condições de porta, protocolo, VLAN e IP. | ||
match-configurations/action | Forneça detalhes da ação. As ações podem ser Drop, Count, Log, Goto, Redirect, Mirror | ||
dynamic-match-configurations | Lista de configurações de correspondência dinâmica baseadas em Porta, VLAN &IP |
Observação
Regras de TAP de Rede e Grupos Vizinhos devem ser criados antes de referenciá-los no TAP de Rede
Criar Regra de TAP de Rede
Esse comando cria uma regra de TAP 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:'example-vlanGroup',vlans:['10']}],portGroups:[{name:'example-portGroup1',ports:['100-200']}]}]"
Saída esperada:
{
"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"
}
}
Mostrar Regra de TAP de Rede
Este comando exibe um recurso da comunidade de IP:
az networkfabric taprule show --resource-group "example-rg" --resource-name "example-networktaprule"
Saída esperada:
{
"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"
}
}
Grupo vizinho
O recurso grupo vizinho tem a capacidade de agrupar destinos para encaminhar o tráfego filtrado
Parâmetros para o Grupo Vizinho
Parâmetro | Descrição | Exemplo | Necessário |
---|---|---|---|
resource-group | Usar um nome de grupo de recursos apropriado especificamente para o NeighborGroup | ResourceGroupName | Verdadeiro |
resource-name | Nomes de recursos do NeighborGroup | example-Neighbor | Verdadeiro |
local | Região do Azure AzON usada durante a criação da NFC | eastus | Verdadeiro |
destino | Lista de destinos Ipv4 ou Ipv6 para encaminhar o tráfego | 10.10.10.10 | Verdadeiro |
Criar grupo vizinho
Este comando cria um recurso de Grupo de Vizinhos:
az networkfabric neighborgroup create --resource-group "example-rg" --location "westus3"
--resource-name "example-neighborgroup" --destination "{ipv4Addresses:['10.10.10.10']}"
Saída esperada:
{
"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 de IP:
az networkfabric neighborgroup show --resource-group "example-rg" --resource-name "example-neighborgroup"
Saída esperada:
{
"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 de TAP
O TAP de Rede permite que os operadores definam destinos e mecanismo de encapsulamento para encaminhar o tráfego filtrado com base nas regras de TAP de Rede
Parâmetros para TAP de Rede
Parâmetro | Descrição | Exemplo | Necessário |
---|---|---|---|
resource-group | Usar um nome de grupo de recursos apropriado especificamente para seu TAP de Rede | ResourceGroupName | Verdadeiro |
resource-name | Nome do Recurso do TAP de Rede | NetworkTAP-Austin | Verdadeiro |
local | Região do Azure AzON usada durante a criação da NFC | eastus | Verdadeiro |
network-packet-broker-id | ARMID do recurso do Agente de Pacotes de Rede | Verdadeiro | |
polling-type | Método de sondagem para regras de TAP de Rede (Push ou Pull) | Pull | Verdadeiro |
destino | Definições de destino | Verdadeiro | |
destino/nome | nome do destino | ||
destino/tipo | tipo de destination.IsolationDomain ou NNI | ||
destination/IsolationDomainProperties | Detalhes do domínio Isolamento. Encapsulamento, IDs do grupo Vizinho | ID do ARM (Azure Resource Manager) de rede interna ou NNI | Falso |
destinationTapRuleId | ARMID da regra TAP, que precisa ser aplicada | Verdadeiro |
Observação
Regras de TAP de Rede e Grupos Vizinhos devem ser criados antes de referenciá-los no TAP de Rede
Convenções de nomenclatura de programação de dispositivo NetworkTAP/práticas recomendadas:
É essencial garantir que as configurações e os valores dentro desses nomes de conjunto de campos (vlanGroupNames, ipGroupNames, PortGroupNames) sejam exclusivos e não entrem em conflito entre si.
Recomendações:
Nomes exclusivos de conjunto de campos: os nomes do conjunto de campos em NetworkTAPRules devem ser exclusivos se o conteúdo do conjunto de campos for distinto.
Nomes de recursos exclusivos: os nomes de recursos NetworkTAP e NetworkTAPRule devem ser exclusivos entre grupos de recursos no Fabric.
Criação de recursos regionais: os recursos NetworkTAP e NetworkTAPRule devem ser criados na Região e associados ao respectivo Fabric na Região.
Modificação de Nome de Destino: o nome de destino é exclusivo para uma configuração de destino de regra de toque de rede definida. O nome de destino não pode ser modificado depois que a configuração de toque de rede é enviada por push para o dispositivo.
Criar TAP de Rede
Este comando cria um recurso de 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/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']},\