다음을 통해 공유


네트워크 패킷 브로커

Azure Operator Nexus의 네트워크 패킷 브로커는 통신 서비스 공급자에 맞게 조정된 Microsoft Azure의 특수 제품입니다. Azure Operator Nexus의 네트워크 패킷 브로커를 사용하면 통신 사업자가 인프라(AON)에서 트래픽을 효율적으로 캡처, 집계, 필터링 및 모니터링하여 딥 패킷 검사, 트래픽 분석 및 향상된 네트워크 모니터링을 수행할 수 있습니다. 이는 고품질 서비스를 유지하고, 보안을 보장하며, 규제 요구 사항을 준수하는 것이 가장 중요한 통신 산업에서 매우 중요합니다. 운영자는 이 솔루션을 적용하여 네트워크 트래픽에 대한 가시성을 높이고, 문제를 보다 효과적으로 해결하고, 궁극적으로 가장 높은 수준의 네트워크 보안 및 성능을 유지하면서 고객에게 향상된 서비스를 제공할 수 있습니다.

NPB(네트워크 패킷 브로커)는 Microsoft.managednetworkfabric에서 별도의 ARM(최상위 Azure Resource Manager) 리소스로 설계 및 모델링됩니다. 운영자는 네트워크 TAP, 네트워크 TAP 규칙 및 인접 그룹 함수를 만들고 읽고 업데이트하며 삭제할 수 있습니다. 각 네트워크 패킷 브로커에는 지정된 트래픽을 관리, 필터링 및 전달하기 위한 네트워크 TAP, 인접 그룹 및 네트워크 TAP 규칙과 같은 여러 리소스가 있습니다.

네트워크 패킷 브로커를 사용하도록 설정하는 단계

필수 조건

  • NPB 디바이스가 올바르게 랙, 배치 및 프로비전됩니다. 네트워크 패브릭을 프로비전하는 방법에 대한 절차는 네트워크 패브릭 프로비전을 참조하세요.
  • 전용 IP를 사용하여 각 vProbe를 설정해야 합니다.
  • 내부 vProbe의 경우 내부 네트워크가 있는 레이어 3 격리 도메인을 만들어야 합니다. 필요한 연결된 서브넷을 구성해야 하며, 또한 확장 플래그를 NPB(내부 네트워크)로 설정해야 합니다. 격리 도메인에서 내부 및 외부 네트워크를 만들고 NPB용 확장 플래그를 설정하는 방법에 대한 절차는 격리 도메인을 참조하세요.
  • NNI(네트워크 간 상호 연결) 사용 사례의 경우 NNI를 NPB형식으로 만들어야 합니다. NNI를 만드는 동안 적절한 레이어 2 및 레이어 3 속성을 정의해야 합니다. NNI(네트워크 간 상호 연결)를 만드는 방법에 대한 절차는 네트워크 패브릭 프로비전을 참조하세요.

단계

  1. 일치 구성을 제공하는 네트워크 TAP 규칙 만들기(인라인 입력 방법만 지원됨)
  2. 대상을 정의하는 인접 그룹 리소스를 만듭니다.
  3. 탭 규칙과 인접 그룹을 참조하는 네트워크 TAP 리소스를 만듭니다.
  4. 네트워크 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 규칙에 대한 매개 변수

매개 변수 설명 Required
resource-group 특히 NetworkTapRule에 적절한 리소스 그룹 이름을 사용합니다. ResourceGroupName True
resource-name 네트워크 탭의 리소스 이름 InternetTAPrule1 True
location NFC(Network Fabric Controller) 생성 중에 사용되는 AzON Azure 지역 eastus True
configuration-type 네트워크 탭 규칙을 구성하는 입력 메서드입니다. Inline 또는 File True
match-configurations 일치 구성 목록입니다.
match-configurations/matchconfigurationName 일치 구성 블록 이름
match-configurations/sequenceNumber 일치 구성의 시퀀스 번호
match-configurations/ipAddressType IP 주소 패밀리
match-configurations/matchconditions 포트, 프로토콜, VLAN 및 IP 조건을 기반으로 하는 동적 일치 조건 목록입니다.
match-configurations/action 작업 세부 정보를 제공합니다. 작업은 Drop, Count, Log, Goto, Redirect, Mirror일 수 있습니다.
dynamic-match-configurations 포트, VLAN 및 IP를 기반으로 하는 동적 일치 구성 목록

참고 항목

네트워크 탭 규칙 및 인접 그룹을 네트워크 탭에서 참조하기 전에 만들어야 합니다.

네트워크 TAP 규칙 만들기

이 명령은 네트워크 TAP 규칙을 만듭니다.

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

네트워크 TAP 규칙 표시

이 명령은 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"
  }
}

인접 그룹

인접 그룹 리소스는 필터링된 트래픽을 전달하는 대상을 그룹화할 수 있습니다.

인접 그룹에 대한 매개 변수

매개 변수 설명 Required
resource-group 특히 NeighborGroup에 적절한 리소스 그룹 이름을 사용합니다. ResourceGroupName True
resource-name NeighborGroup의 리소스 이름 example-Neighbor True
location NFC를 만드는 중에 사용되는 AzON Azure 지역 eastus True
destination 트래픽을 전달할 Ipv4 또는 Ipv6 대상 목록 10.10.10.10 True

인접 그룹 만들기

이 명령은 인접 그룹 리소스를 만듭니다.

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

네트워크 탭

네트워크 TAP을 사용하면 운영자가 네트워크 TAP 규칙에 따라 필터링된 트래픽을 전달하도록 대상과 캡슐화 메커니즘을 정의할 수 있습니다.

네트워크 TAP에 대한 매개 변수

매개 변수 설명 Required
resource-group 특히 네트워크 TAP에 적절한 리소스 그룹 이름을 사용합니다. ResourceGroupName True
resource-name 네트워크 TAP의 리소스 이름 NetworkTAP-Austin True
location NFC를 만드는 중에 사용되는 AzON Azure 지역 eastus True
network-packet-broker-id 네트워크 패킷 브로커 리소스의 ARMID True
polling-type 네트워크 TAP 규칙 폴링 방법(푸시 또는 풀) 끌어오기 True
destination 대상 정의 True
destination/name 대상 이름
destination/type destination.IsolationDomain 또는 NNI 형식
destination/IsolationDomainProperties 격리 도메인 세부 정보 캡슐화, 인접 그룹 ID 내부 네트워크 또는 NNI의 ARM(Azure Resource Manager) ID False
destinationTapRuleId 적용해야 하는 TAP 규칙의 ARMID True

참고 항목

네트워크 탭 규칙 및 인접 그룹을 네트워크 탭에서 참조하기 전에 만들어야 합니다.

NetworkTAP 디바이스 프로그래밍 명명 규칙/모범 사례:

이러한 필드 세트 이름(vlanGroupNames, ipGroupNames, PortGroupNames) 내의 구성 및 값이 고유 하고 서로 충돌하지 않도록 해야 합니다.

  • 권장 사항:

    • 고유 필드 집합 이름: 필드 집합 내용이 고유한 경우 NetworkTAPRules의 필드 집합 이름은 고유해야 합니다.

    • 고유 리소스 이름: NetworkTAP 및 NetworkTAPRule 리소스 이름은 패브릭 내의 리소스 그룹에서 고유해야 합니다.

    • 지역 리소스 만들기: NetworkTAP 및 NetworkTAPRule 리소스는 지역 내에서 생성되고 지역 내의 해당 패브릭과 연결되어야 합니다.

    • 대상 이름 수정: 대상 이름은 정의된 네트워크 탭 규칙 대상 구성에 대해 고유합니다. 네트워크 탭 구성이 디바이스에 푸시되면 대상 이름을 수정할 수 없습니다.

네트워크 TAP 만들기

이 명령은 네트워크 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']},\