隔离域支持在同一机架(机架内通信)或不同机架(机架间通信)中托管的工作负荷之间进行通信。 本作说明介绍如何使用 Azure 命令行接口(AzureCLI)管理第 2 层和第 3 层隔离域。 可以创建、更新、删除和检查第 2 层和第 3 层隔离域的状态。
先决条件
确保已创建网络织物控制器(NFC)和网络织物。
安装 最新版本的所需 CLI 扩展。
使用以下命令登录到 Azure 帐户,并将订阅设置为 Azure 订阅 ID。 这应与用于 Azure 操作员 Nexus 实例中的所有资源的订阅 ID 相同。
az login
az account set --subscription ********-****-****-****-*********
- 为托管网络结构注册提供程序:
在 Azure CLI 中,输入命令
az provider register --namespace Microsoft.ManagedNetworkFabric。使用命令
az provider show -n Microsoft.ManagedNetworkFabric -o table监视注册过程。注册最多可能需要 10 分钟。 完成后,
RegistrationState输出中将更改为Registered。
隔离域用于在跨 Azure 操作员 Nexus 实例和外部网络托管的工作负荷之间启用第 2 层或第 3 层连接。
注释
操作员 Nexus 保留 VLAN <=500 供平台使用,因此此范围内的 VLAN 不能用于(租户)工作负荷网络。 应使用介于 501 和 4095 之间的 VLAN 值。
隔离域管理的参数
| 参数 | Description | Example | 必选 |
|---|---|---|---|
resource-group |
为所选的 ISD 专门使用适当的资源组名称 | ResourceGroupName | True |
resource-name |
l2isolationDomain 的资源名称 | example-l2domain | True |
location |
在 NFC 创建期间使用的操作员 Nexus 的 Azure 区域 | eastus | True |
nf-Id |
网络结构 ID | “/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFresourcegroupname/providers/Microsoft.ManagedNetworkFabric/NetworkFabrics/NFname” | True |
Vlan-id |
VLAN 标识符值。 VLAN 1-500 是保留的,不能使用。 指定后,无法更改 VLAN 标识符值。 如果需要修改 VLAN 标识符值,则必须删除并重新创建隔离域。 范围介于 501-4095 之间 | 501 | True |
mtu |
默认情况下,最大传输单位为 1500(如果未指定) | 1500 | |
administrativeState |
启用/禁用指示 isolationDomain 的管理级别。 | Enable | |
subscriptionId |
您的操作员 Nexus 实例的 Azure 订阅 ID。 | ||
provisioningState |
指示预配状态 |
L2隔离域
使用 L2 隔离域在 Operator Nexus 计算节点上建立运行负载之间的第 2 层连接。
创建 L2 隔离域
创建 L2 隔离域:
az networkfabric l2domain create \
--resource-group "ResourceGroupName" \
--resource-name "example-l2domain" \
--location "eastus" \
--nf-id "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/NetworkFabrics/NFname" \
--vlan-id 750\
--mtu 1501
预期输出:
{
"administrativeState": "Disabled",
"id": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/example-l2domain",
"location": "eastus",
"mtu": 1501,
"name": "example-l2domain",
"networkFabricId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFresourcegroupname/providers/Microsoft.ManagedNetworkFabric/networkFabrics/NFName",
"provisioningState": "Succeeded",
"resourceGroup": "ResourceGroupName",
"systemData": {
"createdAt": "2023-XX-XXT14:57:59.167177+00:00",
"createdBy": "email@address.com",
"createdByType": "User",
"lastModifiedAt": "2023-XX-XXT14:57:59.167177+00:00",
"lastModifiedBy": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"lastModifiedByType": "Application"
},
"type": "microsoft.managednetworkfabric/l2isolationdomains",
"vlanId": 750
}
显示 L2 隔离域
此命令显示有关 L2 隔离域的详细信息,包括其管理状态:
az networkfabric l2domain show --resource-group "ResourceGroupName" --resource-name "example-l2domain"
预期输出
{
"administrativeState": "Disabled",
"id": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/example-l2domain",
"location": "eastus",
"mtu": 1501,
"name": "example-l2domain",
"networkFabricId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/NFName",
"provisioningState": "Succeeded",
"resourceGroup": "ResourceGroupName",
"systemData": {
"createdAt": "2023-XX-XXT14:57:59.167177+00:00",
"createdBy": "email@address.com",
"createdByType": "User",
"lastModifiedAt": "2023-XX-XXT14:57:59.167177+00:00",
"lastModifiedBy": "d1bd24c7-b27f-477e-86dd-939e1078890",
"lastModifiedByType": "Application"
},
"type": "microsoft.managednetworkfabric/l2isolationdomains",
"vlanId": 750
}
列出所有 L2 隔离域
此命令列出资源组中可用的所有 l2 隔离域。
az networkfabric l2domain list --resource-group "ResourceGroupName"
预期输出
{
"administrativeState": "Enabled",
"id": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/example-l2domain",
"location": "eastus",
"mtu": 1501,
"name": "example-l2domain",
"networkFabricId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxxxxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/NFName",
"provisioningState": "Succeeded",
"resourceGroup": "ResourceGroupName",
"systemData": {
"createdAt": "2022-XX-XXT22:26:33.065672+00:00",
"createdBy": "email@address.com",
"createdByType": "User",
"lastModifiedAt": "2022-XX-XXT14:46:45.753165+00:00",
"lastModifiedBy": "d1bd24c7-b27f-477e-86dd-939e107873d7",
"lastModifiedByType": "Application"
},
"type": "microsoft.managednetworkfabric/l2isolationdomains",
"vlanId": 750
}
更改 L2 隔离域的管理状态
必须启用隔离域才能将配置推送到网络构造设备。 使用以下命令更改隔离域的管理状态:
az networkfabric l2domain update-admin-state --resource-group "ResourceGroupName" --resource-name "example-l2domain" --state Enable/Disable
预期输出
{
"administrativeState": "Enabled",
"id": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/example-l2domain",
"location": "eastus",
"mtu": 1501,
"name": "example-l2domain",
"networkFabricId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/NFName",
"provisioningState": "Succeeded",
"resourceGroup": "ResourceGroupName",
"systemData": {
"createdAt": "2023-XX-XXT14:57:59.167177+00:00",
"createdBy": "email@address.com",
"createdByType": "User",
"lastModifiedAt": "2023-XX-XXT14:57:59.167177+00:00",
"lastModifiedBy": "d1bd24c7-b27f-477e-86dd-939e107873d7",
"lastModifiedByType": "Application"
},
"type": "microsoft.managednetworkfabric/l2isolationdomains",
"vlanId": 501
}
删除 L2 隔离域
使用此命令删除 L2 隔离域:
az networkfabric l2domain delete --resource-group "ResourceGroupName" --resource-name "example-l2domain"
预期输出:
Please use show or list command to validate that isolation-domain is deleted. Deleted resources will not appear in result
配置 L3 隔离域
第 3 层隔离域允许在操作员 Nexus 计算节点上运行的工作负荷之间建立第 3 层连接。 L3 隔离域使工作负荷能够与网络结构设备交换第 3 层信息。
第 3 层隔离域有两个组件:
- 内部网络定义 Azure 操作员 Nexus 计算节点和可选外部网络上运行的网络构造之间的第 3 层连接。 必须至少创建一个内部网络。
- 外部网络通过 PE 提供互联网与内部网络之间的连接。
L3 隔离域允许部署工作负载,通过 BGP 将服务 IP 地址发布到网络结构。
L3 隔离域有两个 ASN:
- Fabric ASN 是指 Fabric 上的网络设备的 ASN。 创建网络构造时指定了 Fabric ASN。
- 对等 ASN 是指运营商 Nexus 中网络功能的 ASN,它不能与 Fabric ASN 相同。
成功预配 L3 隔离域的工作流如下所示:
- 创建 L3 隔离域
- 创建一个或多个内部网络
- 启用 L3 隔离域
若要更改 L3 隔离域,请先禁用 L3 隔离域(管理状态)。 完成更改后,重新启用 L3 隔离域(AdministrativeState 状态):
- 禁用 L3 隔离域
- 对 L3 隔离域进行更改
- 重新启用 L3 隔离域
显示、启用/禁用和删除基于 IPv6 的隔离域的过程与用于 IPv4 的过程相同。 用于创建隔离域 501-4095 的 Vlan 范围
以下参数可用于配置 L3 隔离域。
| 参数 | Description | Example | 必选 |
|---|---|---|---|
resource-group |
为所选的 ISD 专门使用适当的资源组名称 | ResourceGroupName | True |
resource-name |
l3isolationDomain 的资源名称 | example-l3domain | True |
location |
在 NFC 创建期间使用的操作员 Nexus 的 Azure 区域 | eastus | True |
nf-Id |
在 NFC 创建期间使用的 Azure 订阅ID | /subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/NetworkFabrics/NFName” | True |
隔离域的以下参数是可选的。
| 参数 | Description | Example | 必选 |
|---|---|---|---|
redistributeConnectedSubnet |
公告连接的子网默认值为 True | True | |
redistributeStaticRoutes |
播发静态路由的值可以为 true/False。 默认值为 False | 假 | |
aggregateRouteConfiguration |
Ipv4 和 Ipv6 路由配置列表 | ||
connectedSubnetRoutePolicy |
IPv4 或 Ipv6 L3 ISD 连接的子网的路由策略配置。 请参阅帮助文档以了解正确使用语法 |
创建 L3 隔离域
使用此命令创建 L3 隔离域:
az networkfabric l3domain create
--resource-group "ResourceGroupName"
--resource-name "example-l3domain"
--location "eastus"
--nf-id "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/NetworkFabrics/NFName"
注释
对于 MPLS 选项 10 (B) 通过 PE 设备连接到外部网络,可以在创建隔离域时指定选项 (B) 参数。
预期输出
{
"administrativeState": "Disabled",
"configurationState": "Succeeded",
"id": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/example-l3domain",
"location": "eastus",
"name": "example-l3domain",
"networkFabricId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/NFName",
"provisioningState": "Succeeded",
"redistributeConnectedSubnets": "True",
"redistributeStaticRoutes": "False",
"resourceGroup": "ResourceGroupName",
"systemData": {
"createdAt": "2022-XX-XXT06:23:43.372461+00:00",
"createdBy": "email@example.com",
"createdByType": "User",
"lastModifiedAt": "2023-XX-XXT09:40:38.815959+00:00",
"lastModifiedBy": "d1bd24c7-b27f-477e-86dd-939e10787367",
"lastModifiedByType": "Application"
},
"type": "microsoft.managednetworkfabric/l3isolationdomains"
}
创建不受信任的 L3 隔离域
az networkfabric l3domain create --resource-group "ResourceGroupName" --resource-name "l3untrust" --location "eastus" --nf-id "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/NFName"
创建受信任的 L3 隔离域
az networkfabric l3domain create --resource-group "ResourceGroupName" --resource-name "l3trust" --location "eastus" --nf-id "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/NFName"
创建管理 L3 隔离域
az networkfabric l3domain create --resource-group "ResourceGroupName" --resource-name "l3mgmt" --location "eastus" --nf-id "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/NFName"
显示 L3 隔离域
可以获取 L3 隔离域的详细信息和管理状态。
az networkfabric l3domain show --resource-group "ResourceGroupName" --resource-name "example-l3domain"
预期输出
{
"administrativeState": "Disabled",
"configurationState": "Succeeded",
"id": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/example-l3domain",
"location": "eastus",
"name": "example-l3domain",
"networkFabricId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/NFName",
"provisioningState": "Succeeded",
"redistributeConnectedSubnets": "True",
"redistributeStaticRoutes": "False",
"resourceGroup": "2023-XX-XXT09:40:38.815959+00:00",
"systemData": {
"createdAt": "2023-XX-XXT09:40:38.815959+00:00",
"createdBy": "email@example.com",
"createdByType": "User",
"lastModifiedAt": "2023-XX-XXT09:40:46.923037+00:00",
"lastModifiedBy": "d1bd24c7-b27f-477e-86dd-939e10787456",
"lastModifiedByType": "Application"
},
"type": "microsoft.managednetworkfabric/l3isolationdomains"
}
列出所有 L3 隔离域
使用此命令获取资源组中可用的所有 L3 隔离域的列表:
az networkfabric l3domain list --resource-group "ResourceGroupName"
预期输出
{
"administrativeState": "Disabled",
"configurationState": "Succeeded",
"id": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/example-l3domain",
"location": "eastus",
"name": "example-l3domain",
"networkFabricId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/NFName",
"provisioningState": "Succeeded",
"redistributeConnectedSubnets": "True",
"redistributeStaticRoutes": "False",
"resourceGroup": "ResourceGroupName",
"systemData": {
"createdAt": "2023-XX-XXT09:40:38.815959+00:00",
"createdBy": "email@example.com",
"createdByType": "User",
"lastModifiedAt": "2023-XX-XXT09:40:46.923037+00:00",
"lastModifiedBy": "d1bd24c7-b27f-477e-86dd-939e10787890",
"lastModifiedByType": "Application"
},
"type": "microsoft.managednetworkfabric/l3isolationdomains"
}
更改 L3 隔离域的管理状态
使用以下命令更改 L3 隔离域的管理状态以启用或禁用:
##Note:至少应有一个内部网络可用于更改 L3 隔离域的管理状态。
az networkfabric l3domain update-admin-state --resource-group "ResourceGroupName" --resource-name "example-l3domain" --state Enable/Disable
预期输出
{
"administrativeState": "Enabled",
"configurationState": "Succeeded",
"id": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ResourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/example-l3domain",
"location": "eastus",
"name": "example-l3domain",
"networkFabricId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/NFresourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/NFName",
"provisioningState": "Succeeded",
"redistributeConnectedSubnets": "True",
"redistributeStaticRoutes": "False",
"resourceGroup": "NFResourceGroupName",
"systemData": {
"createdAt": "2023-XX-XXT06:23:43.372461+00:00",
"createdBy": "email@address.com",
"createdByType": "User",
"lastModifiedAt": "2023-XX-XXT06:25:53.240975+00:00",
"lastModifiedBy": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
"lastModifiedByType": "Application"
},
"type": "microsoft.managednetworkfabric/l3isolationdomains"
}
使用 az show 命令验证管理状态是否已更改为 Enabled。
删除 L3 隔离域
使用此命令删除 L3 隔离域:
az networkfabric l3domain delete --resource-group "ResourceGroupName" --resource-name "example-l3domain"
使用show或list命令来验证隔离域是否已删除。
创建内部网络
成功创建 L3 隔离域后,下一步是创建内部网络。 内部网络通过与构造交换路由,在工作负荷之间实现第 3 层机架间和机架内通信。 L3 隔离域可以支持多个内部网络,每个网络位于单独的 VLAN 上。
下图显示了具有三个内部网络的示例网络函数:受信任、不受信任和管理。 每个内部网络都在其自己的 L3 隔离域中创建。
这些网络的 IPv4 前缀为:
- 受信任的网络:10.151.1.11/24
- 管理网络:10.151.2.11/24
- 不受信任的网络:10.151.3.11/24
以下参数可用于创建内部网络。
| 参数 | Description | Example | 必选 |
|---|---|---|---|
vlan-Id |
范围从 501 到 4095 的 Vlan 标识符 | 1001 | True |
resource-group |
使用相应的 NFC 资源组名称 | NFC资源组名称 | True |
l3-isolation-domain-name |
l3isolationDomain 的资源名称 | example-l3domain | True |
location |
在 NFC 创建期间使用的操作员 Nexus 的 Azure 区域 | eastus | True |
以下参数是用于创建内部网络的可选参数。
| 参数 | Description | Example | 必选 |
|---|---|---|---|
connectedIPv4Subnets |
HAKS 群集工作负荷使用的 IPv4 子网 | 10.0.0.0/24 | |
connectedIPv6Subnets |
HAKS 群集工作负荷使用的 IPv6 子网 | 10:101:1::1/64 | |
staticRouteConfiguration |
静态路由的 IPv4/IPv6 前缀 | IPv4 10.0.0.0/24 和 Ipv6 10:101:1::1/64 | |
staticRouteConfiguration->extension |
内部网络静态路由的扩展标志 | NoExtension/NPB | |
bgpConfiguration |
IPv4 nexthop 地址 | 10.0.0.0/24 | |
defaultRouteOriginate |
True/False “允许通过 BGP 播发路由时发起默认路由” | True | |
peerASN |
网络功能的对等自治系统编号 (ASN) | 65047 | |
allowAS |
允许接收和处理路由,即使路由器在 AS-Path 中检测到自己的 ASN。 输入0表示禁用,可能的值为1-10,默认值为2。 | 2 | |
allowASOverride |
启用或禁用 allowAS | Enable | |
extension |
内部网络的扩展标识 | NoExtension/NPB | |
ipv4ListenRangePrefixes |
BGP IPv4 监听范围,最大允许范围为 /28 | 10.1.0.0/26 | |
ipv6ListenRangePrefixes |
BGP IPv6 监听范围,允许的最大范围是 /127 | 3FFE:FFFF:0:CD30::/127 | |
ipv4ListenRangePrefixes |
BGP IPv4 监听范围,/28最大允许范围 | 10.1.0.0/26 | |
ipv4NeighborAddress |
IPv4 邻居地址 | 10.0.0.11 | |
ipv6NeighborAddress |
IPv6 邻居地址 | 10:101:1::11 | |
isMonitoringEnabled |
在内部网络上启用或禁用监视 | 假 |
在启用 L3 隔离域之前,需要创建内部网络。 此命令使用 BGP 配置和指定的对等地址创建内部网络:
az networkfabric internalnetwork create
--resource-group "ResourceGroupName"
--l3-isolation-domain-name "example-l3domain"
--resource-name "example-internalnetwork"
--vlan-id 805
--connected-ipv4-subnets '[{"prefix":"10.1.2.0/24"}]'
--mtu 1500
--bgp-configuration '{"defaultRouteOriginate": "True", "allowAS": 2, "allowASOverride": "Enable", "PeerASN": 65535, "ipv4ListenRangePrefixes": ["10.1.2.0/28"]}'
预期输出
{
"administrativeState": "Enabled",
"bgpConfiguration": {
"allowAS": 2,
"allowASOverride": "Enable",
"defaultRouteOriginate": "True",
"fabricASN": 65050,
"ipv4ListenRangePrefixes": [
"10.1.2.0/28"
],
"peerASN": 65535
},
"configurationState": "Succeeded",
"connectedIPv4Subnets": [
{
"prefix": "10.1.2.0/24"
}
],
"extension": "NoExtension",
"id": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/example-l3domain/internalNetworks/example-internalnetwork",
"isMonitoringEnabled": "True",
"mtu": 1500,
"name": "example-internalnetwork",
"provisioningState": "Succeeded",
"resourceGroup": "ResourceGroupName",
"systemData": {
"createdAt": "2023-XX-XXT04:32:00.8159767Z",
"createdBy": "email@example.com",
"createdByType": "User",
"lastModifiedAt": "2023-XX-XXT04:32:00.8159767Z",
"lastModifiedBy": "email@example.com",
"lastModifiedByType": "User"
},
"type": "microsoft.managednetworkfabric/l3isolationdomains/internalnetworks",
"vlanId": 805
}
为 L3 隔离域创建不受信任的内部网络
az networkfabric internalnetwork create --resource-group "ResourceGroupName" --l3-isolation-domain-name l3untrust --resource-name untrustnetwork --location "eastus" --vlan-id 502 --fabric-asn 65048 --peer-asn 65047--connected-i-pv4-subnets prefix="10.151.3.11/24" --mtu 1500
为 L3 隔离域创建受信任的内部网络
az networkfabric internalnetwork create --resource-group "ResourceGroupName" --l3-isolation-domain-name l3trust --resource-name trustnetwork --location "eastus" --vlan-id 503 --fabric-asn 65048 --peer-asn 65047--connected-i-pv4-subnets prefix="10.151.1.11/24" --mtu 1500
为 L3 隔离域创建内部管理网络
az networkfabric internalnetwork create --resource-group "ResourceGroupName" --l3-isolation-domain-name l3mgmt --resource-name mgmtnetwork --location "eastus" --vlan-id 504 --fabric-asn 65048 --peer-asn 65047--connected-i-pv4-subnets prefix="10.151.2.11/24" --mtu 1500
创建具有单个下一跃点的多个静态路由
az networkfabric internalnetwork create --resource-group "fab2nfrg180723" --l3-isolation-domain-name "example-l3domain" --resource-name "example-internalNetwork" --vlan-id 2600 --mtu 1500 --connected-ipv4-subnets "[{prefix:'10.2.0.0/24'}]" --static-route-configuration '{extension:NPB,bfdConfiguration:{multiplier:5,intervalInMilliSeconds:300},ipv4Routes:[{prefix:'10.3.0.0/24',nextHop:['10.5.0.1']},{prefix:'10.4.0.0/24',nextHop:['10.6.0.1']}]}'
预期输出
{
"administrativeState": "Enabled",
"configurationState": "Succeeded",
"connectedIPv4Subnets": [
{
"prefix": "10.2.0.0/24"
}
],
"extension": "NoExtension",
"id": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/example-l3domain/internalNetworks/example-internalnetwork",
"isMonitoringEnabled": "True",
"mtu": 1500,
"name": "example-internalNetwork",
"provisioningState": "Succeeded",
"resourceGroup": "ResourceGroupName",
"staticRouteConfiguration": {
"bfdConfiguration": {
"administrativeState": "Disabled",
"intervalInMilliSeconds": 300,
"multiplier": 5
},
"extension": "NoExtension",
"ipv4Routes": [
{
"nextHop": [
"10.5.0.1"
],
"prefix": "10.3.0.0/24"
},
{
"nextHop": [
"10.6.0.1"
],
"prefix": "10.4.0.0/24"
}
]
},
"systemData": {
"createdAt": "2023-XX-XXT13:46:26.394343+00:00",
"createdBy": "email@example.com",
"createdByType": "User",
"lastModifiedAt": "2023-XX-XXT13:46:26.394343+00:00",
"lastModifiedBy": "email@example.com",
"lastModifiedByType": "User"
},
"type": "microsoft.managednetworkfabric/l3isolationdomains/internalnetworks",
"vlanId": 2600
}
使用 IPv6 创建内部网络
az networkfabric internalnetwork create --resource-group "fab2nfrg180723" --l3-isolation-domain-name "example-l3domain" --resource-name "example-internalnetwork" --vlan-id 2800 --connected-ipv6-subnets '[{"prefix":"10:101:1::0/64"}]' --mtu 1500
预期输出
{
"administrativeState": "Enabled",
"configurationState": "Succeeded",
"connectedIPv6Subnets": [
{
"prefix": "10:101:1::0/64"
}
],
"extension": "NoExtension",
"id": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/l3domain2/internalNetworks/example-internalnetwork",
"isMonitoringEnabled": "True",
"mtu": 1500,
"name": "example-internalnetwork",
"provisioningState": "Succeeded",
"resourceGroup": "ResourceGroupName",
"systemData": {
"createdAt": "2023-XX-XXT10:34:33.933814+00:00",
"createdBy": "email@example.com",
"createdByType": "User",
"lastModifiedAt": "2023-XX-XXT10:34:33.933814+00:00",
"lastModifiedBy": "email@example.com",
"lastModifiedByType": "User"
},
"type": "microsoft.managednetworkfabric/l3isolationdomains/internalnetworks",
"vlanId": 2800
}
创建外部网络
外部网络使工作负荷能够与提供商边缘建立第 3 层连接。 它们还允许工作负荷与防火墙和 DNS 等外部服务进行交互。 需要网络构架 ASN(在网络构架创建期间生成)以创建外部网络。
使用 Azure CLI 创建外部网络的命令包括以下参数。
| 参数 | Description | Example | 必选 |
|---|---|---|---|
| peering选项 | 使用 optionA 或 optionB 进行互联。 可能的值 OptionA 和 OptionB | OptionB | True |
| optionBProperties | OptionB 属性配置。 若要指定,请使用 exportIPv4/IPv6RouteTargets 或 importIPv4/IPv6RouteTargets | “exportIpv4/Ipv6RouteTargets”: [“1234:1234”]}} | |
| optionAP组件 | OptionA 属性的配置。 请参阅以下部分中的 OptionA 示例 | ||
| 外部 | 这是一个可选参数,用于通过 Provider Edge 设备输入 MPLS 选项 10 (B) 连接到外部网络。 使用此选项,用户可以输入导入和导出路由目标,如示例中所示 |
对于选项 A,需要在启用 L3 隔离域之前创建外部网络。 外部依赖于内部网络,因此无法在没有内部网络的情况下启用外部。 vlan ID 值应介于 501 和 4095 之间。
使用选项 B 创建外部网络
az networkfabric externalnetwork create --resource-group "ResourceGroupName" --l3domain "examplel3-externalnetwork" --resource-name "examplel3-externalnetwork" --peering-option "OptionB" --option-b-properties "{routeTargets:{exportIpv4RouteTargets:['65045:2001'],importIpv4RouteTargets:['65045:2001']}}"
预期输出
{
"administrativeState": "Enabled",
"id": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/example-l3domain/externalNetworks/examplel3-externalnetwork",
"name": "examplel3-externalnetwork",
"optionBProperties": {
"exportRouteTargets": [
"65045:2001"
],
"importRouteTargets": [
"65045:2001"
],
"routeTargets": {
"exportIpv4RouteTargets": [
"65045:2001"
],
"importIpv4RouteTargets": [
"65045:2001"
]
}
},
"peeringOption": "OptionB",
"provisioningState": "Succeeded",
"resourceGroup": "ResourceGroupName",
"systemData": {
"createdAt": "2023-XX-XXT15:45:31.938216+00:00",
"createdBy": "email@address.com",
"createdByType": "User",
"lastModifiedAt": "2023-XX-XXT15:45:31.938216+00:00",
"lastModifiedBy": "email@address.com",
"lastModifiedByType": "User"
},
"type": "microsoft.managednetworkfabric/l3isolationdomains/externalnetworks"
}
使用选项 A 创建外部网络
az networkfabric externalnetwork create --resource-group "ResourceGroupName" --l3domain "example-l3domain" --resource-name "example-externalipv4network" --peering-option "OptionA" --option-a-properties '{"peerASN": 65026,"vlanId": 2423, "mtu": 1500, "primaryIpv4Prefix": "10.18.0.148/30", "secondaryIpv4Prefix": "10.18.0.152/30"}'
预期输出
{
"administrativeState": "Enabled",
"id": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/example-l3domain/externalNetworks/example-externalipv4network",
"name": "example-externalipv4network",
"optionAProperties": {
"fabricASN": 65050,
"mtu": 1500,
"peerASN": 65026,
"primaryIpv4Prefix": "10.21.0.148/30",
"secondaryIpv4Prefix": "10.21.0.152/30",
"vlanId": 2423
},
"peeringOption": "OptionA",
"provisioningState": "Succeeded",
"resourceGroup": "ResourceGroupName",
"systemData": {
"createdAt": "2023-07-19T09:54:00.4244793Z",
"createdAt": "2023-XX-XXT07:23:54.396679+00:00",
"createdBy": "email@address.com",
"lastModifiedAt": "2023-XX-XX1T07:23:54.396679+00:00",
"lastModifiedBy": "email@address.com",
"lastModifiedByType": "User"
},
"type": "microsoft.managednetworkfabric/l3isolationdomains/externalnetworks"
}
创建一个使用IPv6的外部网络
az networkfabric externalnetwork create --resource-group "ResourceGroupName" --l3domain "example-l3domain" --resource-name "example-externalipv6network" --peering-option "OptionA" --option-a-properties '{"peerASN": 65026,"vlanId": 2423, "mtu": 1500, "primaryIpv6Prefix": "fda0:d59c:da16::/127", "secondaryIpv6Prefix": "fda0:d59c:da17::/127"}'
支持的主要和辅助 IPv6 前缀大小为 /127。
预期输出
{
"administrativeState": "Enabled",
"id": "/subscriptions//xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/example-l3domain/externalNetworks/example-externalipv6network",
"name": "example-externalipv6network",
"optionAProperties": {
"fabricASN": 65050,
"mtu": 1500,
"peerASN": 65026,
"primaryIpv6Prefix": "fda0:d59c:da16::/127",
"secondaryIpv6Prefix": "fda0:d59c:da17::/127",
"vlanId": 2423
},
"peeringOption": "OptionA",
"provisioningState": "Succeeded",
"resourceGroup": "ResourceGroupName",
"systemData": {
"createdAt": "2022-XX-XXT07:52:26.366069+00:00",
"createdBy": "email@address.com",
"createdByType": "User",
"lastModifiedAt": "2022-XX-XXT07:52:26.366069+00:00",
"lastModifiedBy": "email@address.com",
"lastModifiedByType": "User"
},
"type": "microsoft.managednetworkfabric/l3isolationdomains/externalnetworks"
}
启用 L2 隔离域
az networkfabric l2domain update-administrative-state --resource-group "ResourceGroupName" --resource-name "l2HAnetwork" --state Enable
启用 L3 隔离域
使用此命令启用不受信任的 L3 隔离域:
az networkfabric l3domain update-admin-state --resource-group "ResourceGroupName" --resource-name "l3untrust" --state Enable
使用此命令启用受信任的 L3 隔离域:
az networkfabric l3domain update-admin-state --resource-group "ResourceGroupName" --resource-name "l3trust" --state Enable
使用此命令启用管理 L3 隔离域:
az networkfabric l3domain update-admin-state --resource-group "ResourceGroupName" --resource-name "l3mgmt" --state Enable