你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

如何创建和管理 IP 前缀

本文介绍 Azure 运营商关系中 IP 前缀和 IP 前缀规则的主要管理操作。

IP 前缀操作

创建 IP 前缀列表

若要创建 IP 前缀资源,请执行以下步骤:

  1. 指定 IP 前缀资源的属性和规则。 可以使用以下 azcli 命令作为参考:

    az networkfabric ipprefix create--resource-group myResourceGroup \
      --name myIpPrefix \
      --location eastus \
      --ip-prefix-rules action=Permit condition=EqualTo networkPrefix=10.10.10.0/28 sequenceNumber=10 \
      --ip-prefix-rules action=Permit condition=EqualTo networkPrefix=20.20.20.0/24 sequenceNumber=20
    

    IP 前缀资源的属性和规则包括:

    • resource-group:要在其中创建 IP 前缀资源的资源组的名称。 

    • name:IP 前缀资源的名称。 

    • location:要在其中创建 IP 前缀资源的 Azure 区域。 

    • ip-prefix-rules:定义 IP 前缀资源的匹配条件和操作的规则列表。 每条规则具有以下属性:

      • action:满足条件时要执行的操作。 它可以是PermitDenyPermit 表示允许路由,Deny 表示拒绝路由。 

      • condition:将路由的网络前缀与规则的网络前缀进行比较的条件。 可以为下列值之一:

        • EqualTo:当路由的网络前缀等于规则的网络前缀时,条件为 true。 

        • NotEqualTo:当路由的网络前缀不等于规则的网络前缀时,条件为 true。 

        • GreaterThanOrEqualTo:当路由的网络前缀大于或等于规则的网络前缀时,条件为 true。

      • networkPrefix:要匹配的网络段。 它是 IP 地址和前缀长度,例如 10.10.10.0/28 或 2001:db8::/64。 对于 IPv4,前缀长度必须为 1-32。 对于 IPv6,前缀长度必须为 1-128。

      • sequenceNumber:规则的计算顺序,从最低到最高。 首先计算序列号最低的规则,最后计算具有最高序列号的规则。 如果规则与路由匹配,则评估将停止并执行规则的操作。 如果没有规则与路由匹配,则默认操作为 Deny。 

  2. 使用 azcli 命令创建 IP 前缀资源。 可以使用与上一步相同的命令,也可以根据要求对其进行修改。

  3. 验证是否已成功创建 IP 前缀资源。 可以使用 az networkfabric ipprefix show 命令显示 IP 前缀资源的详细信息。 可以使用以下示例作为参考:

    az networkfabric ipprefix show \
      --resource-group myResourceGroup \
      --name myIpPrefix 
    

在此示例中,myResourceGroup 是在其中创建了 IP 前缀资源的资源组的名称,myIpPrefix 是 IP 前缀资源的名称。 

响应应包含 IP 前缀资源的属性和规则,例如 ID、类型、ipPrefixRules、位置、名称、provisioningState、resourceGroup 和标记。 

显示 IP 前缀资源

若要按其 ID 或名称获取现有 IP 前缀资源的详细信息,请使用以下命令:

# Get the details of an IP prefix resource by its name
az networkfabric ipprefix show \
  --resource-group myResourceGroup \
  --name myIpPrefix

REST API 响应正文如下所示:

{
  "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/myIpPrefix",
  "location": "eastus",
  "name": "myIpPrefix",
  "properties": {
    "ipPrefixRules": [
      {
        "action": "Permit",
        "condition": "EqualTo",
        "networkPrefix": "10.10.10.0/28",
        "sequenceNumber": 10
      },
      {
        "action": "Permit",
        "condition": "EqualTo",
        "networkPrefix": "20.20.20.0/24",
        "sequenceNumber": 20
      }
    ]
  }
}

更新 IP 前缀资源

若要更新 IP 前缀资源,请执行以下步骤:

  1. 指定要更新的 IP 前缀资源的属性和规则。 可以使用与上一部分相同的 JSON 模板,也可以根据需要对其进行修改。 

  2. 使用 Azure CLI 命令或 REST API 方法更新 IP 前缀资源。 可以使用以下示例作为参考:

    az networkfabric ipprefix update  \
      -g "example-rg" \
      --resource-name "example-ipprefix" \
      --ip-prefix-rules "[{action:Permit,sequenceNumber:4155123341,networkPrefix:'10.10.10.10/30',condition:GreaterThanOrEqualTo,subnetMaskLength:10}]"
    

在此示例中,resourceGroupName 是在其中创建了 IP 前缀资源的资源组的名称,ipPrefixName 是 IP 前缀资源的名称,--add 选项将新规则添加到 ipPrefixRules 属性。 新规则会拒绝网络前缀为 30.30.30.0/24 且序列号为 30 的路由。 

删除 IP 前缀资源

若要按其 ID 或名称删除现有 IP 前缀资源,请使用以下命令:

# Delete an IP prefix resource by its name
az networkfabric ipprefix delete \
  --resource-group myResourceGroup \
  --name myIpPrefix

按 ID 删除 IP 前缀资源的 REST API 请求正文如下所示:

{
  "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/myIpPrefix"
}

IP 前缀资源示例

ipprefixv4-externalnetwork1-export

此资源用于管理资源组中特定外部网络的网络流量规则。 它包含允许流量流向 20.20.20.0/24 和 50.50.50.0/24 网络前缀的规则,但拒绝流量流向 10.10.10.0/28 网络前缀。 

{
  "id": "/subscriptions/.../resourceGroups/.../providers/Microsoft.ManagedNetworkFabric/ipPrefixes/ipprefixv4-externalnetwork1-export",
  "ipPrefixRules": [
    {
      "action": "Deny",
      "condition": "EqualTo",
      "networkPrefix": "10.10.10.0/28",
      "sequenceNumber": 10
    },
    {
      "action": "Permit",
      "condition": "EqualTo",
      "networkPrefix": "20.20.20.0/24",
      "sequenceNumber": 12
    },
    {
      "action": "Permit",
      "condition": "EqualTo",
      "networkPrefix": "50.50.50.0/24",
      "sequenceNumber": 13
    }
  ],
  "location": "eastus",
  "name": "ipprefixv4-externalnetwork1-export",
  "provisioningState": "Succeeded",
  "resourceGroup": "...",
  "type": "microsoft.managednetworkfabric/ipprefixes"
}

此资源拒绝流向 10.10.10.0/28 网络前缀的流量,并允许流量流向 20.20.20.0/24 和 50.50.50.0/24 网络前缀。

ipprefixv4-1204-cn1

此资源用于管理资源组中特定网络的网络流量规则。 它包含允许流量流向 10.10.10.0/28 和 20.20.20.0/24 网络前缀的规则。 

{
  "id": "/subscriptions/.../resourceGroups/.../providers/Microsoft.ManagedNetworkFabric/ipPrefixes/ipprefixv4-1204-cn1",
  "ipPrefixRules": [
    {
      "action": "Permit",
      "condition": "EqualTo",
      "networkPrefix": "10.10.10.0/28",
      "sequenceNumber": 10
    },
    {
      "action": "Permit",
      "condition": "EqualTo",
      "networkPrefix": "20.20.20.0/24",
      "sequenceNumber": 12
    }
  ],
  "location": "eastus",
  "name": "ipprefixv4-1204-cn1",
  "provisioningState": "Succeeded",
  "resourceGroup": "...",
  "type": "microsoft.managednetworkfabric/ipprefixes"
}

此资源允许流量流向 10.10.10.0/28 和 20.20.20.0/24 网络前缀。

ipprefix-v6-ingress

此资源位于 eastus 区域中,属于资源组。 它已配置,但当前已禁用。 资源的类型为 microsoft.managednetworkfabric/ipprefixes

资源有两个 IP 前缀规则:

  1. 允许来自网络前缀的流量大于或等于 fda0:d59c:db12::/59,子网掩码长度为 59。 

  2. 允许来自网络前缀的流量大于或等于 fc00:f853:ccd:e793::/64,子网掩码长度为 64。 

{
  "administrativeState": "Disabled",
  "configurationState": "Succeeded",
  "id": "/subscriptions/.../resourceGroups/.../providers/Microsoft.ManagedNetworkFabric/ipprefixes/ipprefix-v6-ingress",
  "ipPrefixRules": [
    {
      "action": "Permit",
      "condition": "GreaterThanOrEqualTo",
      "networkPrefix": "fda0:d59c:db12::/59",
      "sequenceNumber": 10,
      "subnetMaskLength": "59"
    },
    {
      "action": "Permit",
      "condition": "GreaterThanOrEqualTo",
      "networkPrefix": "fc00:f853:ccd:e793::/64",
      "sequenceNumber": 20,
      "subnetMaskLength": "64"
    }
  ],
  "location": "eastus",
  "name": "ipprefix-v6-ingress",
  "provisioningState": "Succeeded",
  "resourceGroup": "...",
  "type": "microsoft.managednetworkfabric/ipprefixes"
}

此资源配置为允许来自指定网络前缀的 IPv6 流量。