Partager via


Network Packet Broker

Network Packet Broker d’Azure Operator Nexus est une offre spécialisée de Microsoft Azure, conçue pour les fournisseurs de services de télécommunication. Avec Network Packet Broker d’Azure Operator Nexus, les opérateurs de télécommunications peuvent capturer, agréger, filtrer et effectuer le monitoring du trafic de manière efficace sur leur infrastructure (AON), ce qui permet une inspection approfondie des paquets, une analyse du trafic et un monitoring réseau amélioré. Cela est crucial dans le secteur des télécommunications, où le maintien d’un service de haute qualité, la garantie de la sécurité et le respect des exigences réglementaires sont primordiaux. En appliquant cette solution, les opérateurs peuvent obtenir une meilleure visibilité sur leur trafic réseau, résoudre les problèmes de manière plus efficace et fournir à terme de meilleurs services à leurs clients tout en maintenant les standards de sécurité et de performances réseau les plus élevés.

Le répartiteur de paquets réseau (NPB, Network Packet Broker) est conçu et modelé sous la forme d’une ressource ARM (Azure Resource Manager) de premier niveau distincte sous Microsoft.managednetworkfabric. Les opérateurs peuvent créer, lire, mettre à jour et supprimer les fonctions TAP de réseau, Règle TAP de réseau et Groupe voisin. Chaque répartiteur de paquets réseau dispose de plusieurs ressources, par exemple TAP réseau, Groupe voisin et Règles TAP réseau, pour gérer, filtrer et transférer le trafic désigné.

Étapes d’activation du broker de paquets réseau

Conditions préalables

  • Les appareils NPB sont correctement montés en rack, empilés et approvisionnés. Pour connaître la procédure relative à l’approvisionnement de la structure réseau, consultez Approvisionnement d’une structure réseau.
  • Les vProbes respectifs doivent être configurés avec des IP dédiées
  • Pour les vProbes internes, des domaines d’isolation de couche 3 avec des réseaux internes doivent être créés. Les sous-réseaux connectés nécessaires doivent être configurés. De plus, l’indicateur d’extension doit être défini sur NPB (dans les réseaux internes). Pour connaître la procédure relative à la création de réseaux internes et externes sur un domaine d’isolation, et la définition de l’indicateur d’extension pour NPB, consultez Domaines d’isolation.
  • Pour le cas d’utilisation NNI (interconnexion de réseau à réseau), l’interconnexion NNI doit être créée avec le type NPB. Les propriétés appropriées des couches 2 et 3 doivent être définies durant la création de l’interconnexion NNI. Pour connaître la procédure de création de l’interconnexion NNI (interconnexion de réseau à réseau), consultez Approvisionnement d’une structure réseau.

Étapes

  1. Créer une règle TAP de réseau fournissant la configuration de correspondance (seule la méthode d’entrée incorporée est prise en charge)
  2. Créez une ressource Groupe voisin définissant les destinations.
  3. Créez une ressource TAP de réseau référençant les règles TAP et les groupes voisins.
  4. Activez la ressource TAP de réseau.

NPB

NNF crée automatiquement cette ressource pendant l’amorçage.

Afficher NPB

Cette commande affiche les détails de la ressource logique NPB.

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

Résultat attendu

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

Règles TAP de réseau

La ressource NetworkTapRule permet de filtrer et de transmettre des combinaisons de conditions et d’actions.

Paramètres des règles TAP de réseau

Paramètre Description Exemple Requis
resource-group Utiliser un nom de groupe de ressources approprié spécifiquement pour votre NetworkTapRule ResourceGroupName True
resource-name Noms des ressources du TAP réseau InternetTAPrule1 True
location Région Azure AzON utilisée lors de la création du NFC (Network Fabric Controller) eastus True
configuration-type Méthodes d’entrée pour configurer la règle TAP réseau. Inline ou File True
match-configurations Liste des configurations de correspondance.
match-configurations/matchconfigurationName Nom du bloc de configuration de correspondance
match-configurations/sequenceNumber Numéro de séquence de la configuration de correspondance
match-configurations/ipAddressType Famille d’adresses IP
match-configurations/matchconditions Liste des conditions de correspondance dynamiques en fonction des conditions de port, de protocole, de VLAN et d’IP.
match-configurations/action Détails de l’action. Actions possibles : Drop, Count, Log, Goto, Redirect, Mirror
dynamic-match-configurations Liste des configurations de correspondance dynamiques en fonction du port, du VLAN et de l’IP

Remarque

Vous devez créer les règles TAP de réseau et les groupes voisins avant de pouvoir les référencer dans un TAP de réseau

Créer une règle TAP de réseau

Cette commande permet de créer une règle TAP de réseau :

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']}]}]"

Sortie attendue :

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

Afficher la règle TAP de réseau

Cette commande affiche une ressource de communauté IP :

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

Sortie attendue :

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

Groupe voisin

La ressource Groupe voisin peut regrouper les destinations pour le transfert du trafic filtré

Paramètres du groupe voisin

Paramètre Description Exemple Requis
resource-group Utiliser un nom de groupe de ressources approprié spécifiquement pour votre NeighborGroup ResourceGroupName True
resource-name Noms des ressources de NeighborGroup example-Neighbor True
location Région Azure AzON utilisée durant la création du contrôleur NFC eastus True
destination Liste des destinations Ipv4 ou Ipv6 pour transférer le trafic 10.10.10.10 True

Créer un groupe voisin

Cette commande permet de créer une ressource Groupe voisin :

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

Sortie attendue :

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

Afficher la ressource Groupe voisin

Cette commande affiche une ressource de communauté étendue IP :

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

Sortie attendue :

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

Point d’accès terminal réseau

Le TAP de réseau permet aux opérateurs de définir les destinations et le mécanisme d’encapsulation pour le transfert du trafic filtré en fonction des règles TAP de réseau

Paramètres de TAP de réseau

Paramètre Description Exemple Requis
resource-group Utiliser un nom de groupe de ressources approprié spécifiquement pour votre TAP de réseau ResourceGroupName True
resource-name Nom de ressource du TAP de réseau NetworkTAP-Austin True
location Région Azure AzON utilisée durant la création du contrôleur NFC eastus True
network-packet-broker-id ARMID (ID ARM) de la ressource Broker de paquets réseau True
polling-type Méthode d’interrogation des règles TAP de réseau (envoi ou récupération) Extraction True
destination Définitions de destination True
destination/name nom de la destination
destination/type type de destination.IsolationDomain ou de NNI
destination/IsolationDomainProperties Détails du domaine d’isolation. Encapsulation, ID de groupe voisin ID ARM (Azure Resource Manager) du réseau interne ou de l’interconnexion NNI False
destinationTapRuleId ARMID (ID ARM) de la règle TAP, qui doit être appliquée True

Remarque

Vous devez créer les règles TAP de réseau et les groupes voisins avant de pouvoir les référencer dans un TAP de réseau

Conventions d’affectation de noms de programmation d’appareils NetworkTAP/ bonnes pratiques :

Il est essentiel de s’assurer que les configurations et les valeurs dans ces noms d’ensembles de champs (vlanGroupNames, ipGroupNames, PortGroupNames) sont uniques et ne sont pas en conflit les uns avec les autres.

  • Recommandations :

    • Noms d’ensembles de champs uniques : Les noms des ensembles de champs sur NetworkTAPRules doivent être uniques si les contenus sont distincts.

    • Noms de ressources uniques : Les noms de ressources NetworkTAP et NetworkTAPRule doivent être uniques entre les groupes de ressources de l’infrastructure.

    • Création de ressources régionales : Les ressources NetworkTAP et NetworkTAPRule doivent être créées dans la région et associées à l’infrastructure correspondante dans la région.

    • Modification du nom de destination : Le nom de destination est unique pour une configuration de destination de règle TAP réseau définie. Le nom de destination ne peut pas être modifié une fois que la configuration du TAP réseau est envoyée à l’appareil.

Créer un TAP de réseau

Cette commande permet de créer une ressource TAP de réseau :

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']},\