你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
如何创建和管理 IP 前缀
本文介绍 Azure 运营商关系中 IP 前缀和 IP 前缀规则的主要管理操作。
IP 前缀操作
创建 IP 前缀列表
若要创建 IP 前缀资源,请执行以下步骤:
指定 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
:满足条件时要执行的操作。 它可以是Permit
或Deny
。Permit
表示允许路由,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。
使用 azcli 命令创建 IP 前缀资源。 可以使用与上一步相同的命令,也可以根据要求对其进行修改。
验证是否已成功创建 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 前缀资源,请执行以下步骤:
指定要更新的 IP 前缀资源的属性和规则。 可以使用与上一部分相同的 JSON 模板,也可以根据需要对其进行修改。
使用 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 前缀规则:
允许来自网络前缀的流量大于或等于 fda0:d59c:db12::/59,子网掩码长度为 59。
允许来自网络前缀的流量大于或等于 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 流量。