다음을 통해 공유


NNI 및 계층 3 격리 도메인 외부 네트워크에 대한 ACL(액세스 제어 목록) 관리 만들기

ACL(액세스 제어 목록)은 네트워크 내 인바운드 및 아웃바운드 패킷 흐름을 규제하는 규칙 집합입니다. Azure의 Nexus 네트워크 패브릭 서비스는 네트워크 간 상호 연결 및 계층 3 격리 도메인 외부 네트워크에 대한 ACL을 구성하는 API 기반 메커니즘을 제공합니다. 이 가이드에서는 ACL을 만드는 단계를 간략하게 설명합니다.

ACL(액세스 제어 목록) 만들기

ACL을 만들고 해당 속성을 정의하려면 az networkfabric acl create 명령을 활용할 수 있습니다. 관련된 단계는 다음과 같습니다.

필수 조건

  1. 구독 설정(필요한 경우):

여러 개의 구독이 있고 하나를 기본값으로 설정해야 하는 경우 다음을 수행할 수 있습니다.

az account set --subscription <subscription-id>
  1. ACL 만들기:
    az networkfabric acl create --resource-group "<resource-group>" --location "<location>" --resource-name "<acl-name>" --annotation "<annotation>" --configuration-type "<configuration-type>" --default-action "<default-action>" --match-configurations "[{matchConfigurationName:<match-config-name>,sequenceNumber:<sequence-number>,ipAddressType:<IPv4/IPv6>,matchConditions:[{ipCondition:{type:<SourceIP/DestinationIP>,prefixType:<Prefix/Exact>,ipPrefixValues:['<ip-prefix1>', '<ip-prefix2>', ...]}}],actions:[{type:<Action>}]}]"
매개 변수 설명
리소스 그룹 네트워크 패브릭의 리소스 그룹을 지정합니다.
위치 ACL이 만들어지는 위치를 정의합니다.
리소스 이름 ACL의 이름을 제공합니다.
주석 선택적으로 ACL에 대한 설명이나 주석을 추가합니다.
구성 형식 인라인 구성인지 아니면 파일을 사용한 구성인지 지정합니다.
기본 작업 일치하는 항목이 없을 경우 수행할 기본 작업을 정의합니다.
구성 일치 트래픽 일치에 대한 조건과 작업을 정의합니다.
actions 일치 조건에 따라 수행할 작업을 지정합니다.

매개 변수 사용 지침

아래 표에서는 ACL을 만들 때 매개 변수 사용에 대한 지침을 제공합니다.

매개 변수 설명 예 또는 범위
defaultAction 수행할 기본 작업 정의 "defaultAction": "Permit"
resource-group 네트워크 패브릭의 리소스 그룹 nfresourcegroup
resource-name ACL 이름 example-ingressACL
vlanGroups VLAN 그룹 목록
vlans 일치해야 하는 VLAN 목록
match-configurations 일치 구성 이름 example_acl
matchConditions 매칭에 필요한 조건
ttlValues TTL[Time To Live] 0-255
dscpMarking 일치해야 하는 DSCP 표시 0~63
조각 IP 조각 패킷 지정 범위: 1-8191
예: [1, 5, 1250-1300, 8000-8191]
portCondition 일치해야 하는 포트 조건
portType 일치해야 하는 포트 형식 예: SourcePort
고서 일치해야 하는 포트 번호 범위: 0-65535
예: [1, 10, 500, 1025-1050, 64000-65535]
protocolTypes 일치해야 하는 프로토콜 [tcp, udp, 범위[1-2, 1, 2]]
vlanMatchCondition 일치해야 하는 VLAN 일치 조건
layer4Protocol 계층 4 프로토콜 TCP 또는 UDP 중 하나여야 합니다.
ipCondition 일치해야 하는 IP 조건
actions 일치 조건에 따라 수행할 작업 예: permit
configuration-type 구성 형식(인라인 또는 파일) 예: inline

참고 항목

  • 인라인 포트와 인라인 VLAN은 azcli를 사용하여 정적으로 정의됩니다.
  • PortGroupNames 및 VlanGroupNames는 동적으로 정의됩니다.
  • 인라인 VLAN 및 VLANGroupNames와 마찬가지로 인라인 포트를 portGroupNames와 결합하는 것은 허용되지 않습니다.
  • IPGroupNames와 IpPrefixValues는 결합할 수 없습니다.
  • 송신 ACL은 IP 옵션, IP 길이, 조각, 이더넷 형식, DSCP 표시 및 TTL 값과 같은 특정 옵션을 지원하지 않습니다.
  • 수신 ACL은 etherType 옵션을 지원하지 않습니다.
  • 포트 입력은 port-number 또는 range-of-ports일 수 있습니다.
  • 조각 입력은 port-number 또는 range-of-ports일 수 있습니다.
  • 영구 네트워크에서 동적 일치 구성이 있는 ACL은 지원되지 않습니다.

ACL를 만들기 위한 페이로드 예

az networkfabric acl create --resource-group "example-rg" --location "eastus2euap" --resource-name "example-Ipv4ingressACL" --annotation "annotation" --configuration-type "Inline" --default-action "Deny" --match-configurations "[{matchConfigurationName:example-match,sequenceNumber:1110,ipAddressType:IPv4,matchConditions:[{ipCondition:{type:SourceIP,prefixType:Prefix,ipPrefixValues:['10.18.0.124/30','10.18.0.128/30','10.18.30.16/30','10.18.30.20/30']}},{ipCondition:{type:DestinationIP,prefixType:Prefix,ipPrefixValues:['10.18.0.124/30','10.18.0.128/30','10.18.30.16/30','10.18.30.20/30']}}],actions:[{type:Count}]}]"

예제 출력

{
  "administrativeState": "Disabled",
  "annotation": "annotation",
  "configurationState": "Succeeded",
  "configurationType": "Inline",
  "defaultAction": "Deny",
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/Fab3LabNF-4-0/providers/Microsoft.ManagedNetworkFabric/accessControlLists/L3domain091123-Ipv4egressACL",
  "location": "eastus2euap",
  "matchConfigurations": [
    {
      "actions": [
        {
          "type": "Count"
        }
      ],
      "ipAddressType": "IPv4",
      "matchConditions": [
        {
          "ipCondition": {
            "ipPrefixValues": [
              "10.18.0.124/30",
              "10.18.0.128/30",
              "10.18.30.16/30",
              "10.18.30.20/30"
            ],
            "prefixType": "Prefix",
            "type": "SourceIP"
          }
        },
        {
          "ipCondition": {
            "ipPrefixValues": [
              "10.18.0.124/30",
              "10.18.0.128/30",
              "10.18.30.16/30",
              "10.18.30.20/30"
            ],
            "prefixType": "Prefix",
            "type": "DestinationIP"
          }
        }
      ],
      "matchConfigurationName": "example-Ipv4ingressACL ",
      "sequenceNumber": 1110
    }
  ],
  "name": "example-Ipv4ingressACL",
  "provisioningState": "Succeeded",
  "resourceGroup": "Fab3LabNF-4-0",
  "systemData": {
    "createdAt": "2023-09-11T10:20:20.2617941Z",
    "createdBy": "user@email.com",
    "createdByType": "User",
    "lastModifiedAt": "2023-09-11T10:20:20.2617941Z",
    "lastModifiedBy": "user@email.com",
    "lastModifiedByType": "User"
  },
  "type": "microsoft.managednetworkfabric/accesscontrollists"
}

참고 항목

ACL을 만든 후 추가 참조를 위해 ACL 참조 ID를 기록해 두세요.

다음 단계

Azure Fabric에서 NNI에 ACL(액세스 제어 목록) 적용