Network Packet Broker
El agente de paquetes de red (NPB, por sus siglas en inglés) de Azure Operator Nexus es una oferta especializada de Microsoft Azure adaptada para proveedores de servicios de telecomunicaciones. Con el agente de paquetes de red de Azure Operator Nexus, los operadores de telecomunicaciones pueden capturar, agregar, filtrar y supervisar el tráfico en toda su infraestructura, lo que permite una inspección profunda de paquetes, análisis de tráfico y supervisión de red mejorada. Esto es fundamental en el sector de las telecomunicaciones, donde mantener un servicio de alta calidad, garantizar la seguridad y cumplir con los requisitos normativos son primordiales. Al aplicar esta solución, los operadores pueden lograr una mejor visibilidad del tráfico de red, solucionar problemas de forma más eficaz y, en última instancia, ofrecer servicios mejorados a sus clientes a la vez que mantienen los estándares más altos de seguridad y rendimiento de red.
El Agente de paquetes de red (NPB) está diseñado y modelado como un recurso independiente de Azure Resource Manager (ARM) de nivel superior en Microsoft.managednetworkfabric. Los operadores pueden crear, leer, actualizar y eliminar las funciones del TAP de red, de las reglas de TAP de red y del grupo de vecinos. Cada agente de paquetes de red tiene varios recursos, como TAP de red, grupo de vecinos y reglas de TAP de red para administrar, filtrar y reenviar el tráfico designado.
Pasos para habilitar el agente de paquetes de red
Requisitos previos
- Los dispositivos NPB están correctamente instalados, apilados y aprovisionados. Para obtener información sobre cómo aprovisionar el tejido de red, consulte Aprovisionamiento de tejido de red.
- Los sondeos virtuales (vProbes) respectivos deben configurarse con direcciones IP dedicadas
- Para vProbes internos, se deben crear dominios de aislamiento de capa 3 con redes internas. Además de esto, se deben configurar las subredes conectadas necesarias y la marca de extensión debe establecerse en NPB (en redes internas). Para ver el procedimiento sobre cómo crear redes internas y externas en un dominio de aislamiento y establecer la marca de extensión para NPB, consulte Dominios de aislamiento.
- Para el caso de uso Interconexiones de red a red (NNI, por sus siglas en inglés), se debe crear NNI como tipo
NPB
. Las propiedades de nivel 2 y 3 adecuadas deben definirse durante la creación de NNI. Para obtener información sobre cómo crear la interconexión de red a red (NNI), consulte Creación y aprovisionamiento de un tejido de red.
Pasos
- Crear una regla de TAP de red que proporcione la configuración de coincidencia (solo se admite el método de entrada insertado)
- Cree un recurso de grupo de vecinos que defina destinos.
- Cree un recurso de TAP de red que haga referencia a las reglas de TAP y a los grupos de vecinos.
- Habilite el recurso de TAP de red.
NPB
NNF crearía automáticamente este recurso durante bootstrap..
Mostrar NPB
Este comando muestra los detalles del recurso lógico NPB.
az networkfabric npb show --resource-group "example-rg" --resource-name "NPB1"
Resultado esperado
{
"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"
}
}
Reglas de TAP de red
El recurso NetworkTapRule proporciona capacidad para proporcionar combinaciones de filtrado y reenvío de condiciones y acciones.
Parámetros para reglas de TAP de red
Parámetro | Descripción | Ejemplo | Obligatorio |
---|---|---|---|
resource-group | Use un nombre de grupo de recursos adecuado específicamente para la NetworkTapRule | ResourceGroupName | True |
resource-name | Nombres de recursos de la pulsación de red | InternetTAPrule1 | True |
ubicación | Región Azure AzON utilizada durante la creación de Network Fabric Controller (NFC) | estado | True |
tipo de configuración | Métodos de entrada para configura Network Tap Rule. | Insertado o archivo | True |
match-configurations | Lista de configuraciones de coincidencias. | ||
match-configurations/matchconfigurationName | Nombre del bloque de configuración de coincidencia | ||
match-configurations/sequenceNumber | Número de secuencia de configuración de coincidencia | ||
match-configurations/ipAddressType | Familia de direcciones IP | ||
match-configurations/matchconditions | Lista de condiciones de coincidencia dinámica basadas en las condiciones de puerto, protocolo, VLAN e IP. | ||
match-configurations/action | Proporcione los detalles de la acción. Las acciones pueden ser Drop, Count, Log, Goto, Redirect, Mirror | ||
dynamic-match-configurations | Lista de configuraciones de coincidencia dinámica basadas en puerto, VLAN e IP |
Nota:
Las reglas de TAP de red y los grupos de vecinos deben crearse antes de hacer referencia a ellos en el TAP de red
Crear regla de TAP de red
Este comando crea una regla de TAP de red:
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']}]}]"
Resultado esperado:
{
"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 regla de TAP de red
Este comando muestra un recurso de la comunidad IP:
az networkfabric taprule show --resource-group "example-rg" --resource-name "example-networktaprule"
Resultado esperado:
{
"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 de vecinos
El recurso de grupo de vecinos tiene la capacidad de agrupar destinos para reenviar el tráfico filtrado.
Parámetros para el grupo de vecinos
Parámetro | Descripción | Ejemplo | Obligatorio |
---|---|---|---|
resource-group | Use un nombre de grupo de recursos adecuado específicamente para el NeighborGroup de su elección. | ResourceGroupName | True |
resource-name | Nombres de recursos del grupo vecino | example-Neighbor | True |
ubicación | Región de Azure de AzON (Azure Operator Nexus) usada durante la creación de NFC | estado | True |
destination | Lista de destinos Ipv4 o Ipv6 para reenviar el tráfico | 10.10.10.10 | True |
Crear grupo de vecinos
Este comando crea un recurso de grupo de vecinos:
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 de vecinos
Este comando muestra un recurso de comunidad extendida por 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"
}
}
de Azure
TAP de red permite a los operadores definir destinos y un mecanismo de encapsulación para reenviar el tráfico filtrado en función de las reglas de TAP de red
Parámetros para TAP de red
Parámetro | Descripción | Ejemplo | Obligatorio |
---|---|---|---|
resource-group | Use un nombre de grupo de recursos adecuado específicamente para el TAP de red | ResourceGroupName | True |
resource-name | Nombre del recurso de TAP de red | NetworkTAP-Austin | True |
ubicación | Región de Azure de AzON (Azure Operator Nexus) usada durante la creación de NFC | estado | True |
network-packet-broker-id | ARMID del recurso de agente de paquetes de red | True | |
polling-type | Método de sondeo para reglas de TAP de red (inserción o extracción) | Extraer (pull) | True |
destination | Definiciones de destino | True | |
destination/name | nombre del destino | ||
destination/type | type of destination.IsolationDomain or NNI | ||
destination/IsolationDomainProperties | Detalles del dominio de aislamiento. Encapsulación, id. de grupo de vecinos | Identificador de Azure Resource Manager (ARM) de la red interna o NNI | False |
destinationTapRuleId | ARMID de la regla de TAP, que se debe aplicar | True |
Nota:
Las reglas de TAP de red y los grupos de vecinos deben crearse antes de hacer referencia a ellos en el TAP de red
Convenciones de nomenclatura de dispositivos NetworkTAP/ procedimientos recomendados:
Es esencial asegurarse de que las configuraciones y los valores de estos nombres de conjunto de campos (vlanGroupNames, ipGroupNames, PortGroupNames) sean únicosy no entren en conflicto entre sí.
Recomendaciones:
Nombres únicos de conjunto de campos: los nombres de conjunto de campos en NetworkTAPRules deben ser únicos si el contenido del conjunto de campos es distinto.
Nombres de recursos únicos: los nombres de recursos NetworkTAP y NetworkTAPRule deben ser únicos en los grupos de recursos de Fabric.
Creación de recursos regionales: los recursos NetworkTAP y NetworkTAPRule deben crearse dentro de la región y asociarse con el tejido correspondiente dentro de la región.
Modificación del nombre de destino: el nombre de destino es único para una configuración de destino de regla de pulsación de red definida. El nombre de destino no se puede modificar una vez que la configuración de pulsación de red se inserta en el dispositivo.
Creación de un TAP de red
Este comando crea el recurso de TAP de red:
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']},\