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

使用托管网络结构服务配置 L2 和 L3 隔离域

隔离域支持同一机架(机架内通信)或不同机架(机架间通信)中托管的工作负载之间的通信。 本操作说明介绍如何使用 Azure 命令行接口 (AzureCLI) 管理第 2 层和第 3 层隔离域。 可以创建、更新、删除和检查第 2 层和第 3 层隔离域的状态。

先决条件

  1. 确保已创建网络结构控制器 (NFC) 和网络结构。

  2. 安装最新版本的必要 CLI 扩展

  3. 使用以下命令登录到你的 Azure 帐户,并将订阅设置为你的 Azure 订阅 ID。 这应该是你用于 Azure 运营商关系实例中所有资源的同一订阅 ID。

    az login
    az account set --subscription ********-****-****-****-*********
  1. 为托管网络结构注册提供程序:
    1. 在 Azure CLI 中,输入命令 az provider register --namespace Microsoft.ManagedNetworkFabric

    2. 使用命令 az provider show -n Microsoft.ManagedNetworkFabric -o table 监视注册过程。

      注册最多可能需要 10 分钟。 完成后,输出中的 RegistrationState 会更改为 Registered

隔离域用于在 Azure 运营商关系实例托管的工作负载与外部网络之间启用第 2 层或第 3 层连接。

注意

“运营商关系”保留了 <=500 个的 VLAN 供平台使用,因此该范围内的 VLAN 不能用于(租户)工作负载网络。 应使用介于 501 和 4095 之间的 VLAN 值。

用于隔离域管理的参数

参数 说明 示例 必须
resource-group 专门为你选择的 ISD 使用适当的资源组名称 ResourceGroupName True
resource-name l2isolationDomain 的资源名称 example-l2domain True
location 在创建 NFC 期间使用的运营商关系 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 Enable/Disable 指示 isolationDomain 的管理状态 启用
subscriptionId “运营商关系”实例的 Azure subscriptionId。
provisioningState 指示预配状态

L2 隔离域

使用 L2 隔离域在“运营商关系”计算节点上运行的工作负载之间建立第 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 层隔离域使“运营商关系”计算节点上运行的工作负载之间能够建立第 3 层连接。 L3 隔离域使工作负载能够与网络结构设备交换第 3 层信息。

第 3 层隔离域有两个组件:

  • “内部网络”定义 Azure 运营商关系计算节点上运行的网络结构与可选外部网络之间的第 3 层连接。 必须至少创建一个内部网络。
  • “外部网络”通过 PE 提供 Internet 与内部网络之间的连接。

L3 隔离域允许部署通过 BGP 向结构播发服务 IP 的工作负载。

一个 L3 隔离域有两个 ASN:

  • “结构 ASN”是指结构上的网络设备的 ASN。 结构 ASN 是在创建网络构造时指定的。
  • “对等 ASN”是指“运营商关系”中网络功能的 ASN,它不能与结构 ASN 相同。

成功预配 L3 隔离域的工作流如下所示:

  • 创建 L3 隔离域
  • 创建一个或多个内部网络
  • 启用 L3 隔离域

若要更改 L3 隔离域,请先禁用 L3 隔离域(管理状态)。 完成更改后,重新启用 L3 隔离域(AdministrativeState 状态):

  • 禁用 L3 隔离域
  • 对 L3 隔离域进行更改
  • 重新启用 L3 隔离域

显示、启用/禁用和删除基于 IPv6 的隔离域的过程与用于 IPv4 的过程相同。 用于创建隔离域的 VLAN 范围为 501-4095

以下参数可用于配置 L3 隔离域。

参数 说明 示例 必须
resource-group 专门为你选择的 ISD 使用适当的资源组名称 ResourceGroupName True
resource-name l3isolationDomain 的资源名称 example-l3domain True
location 在创建 NFC 期间使用的运营商关系 Azure 区域 eastus True
nf-Id 在 NFC 创建期间使用的 Azure subscriptionId /subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFResourceGroupName/providers/Microsoft.ManagedNetworkFabric/NetworkFabrics/NFName" True

隔离域的以下参数是可选的。

参数 说明 示例 必须
redistributeConnectedSubnet “播发连接的子网”默认值为 True True
redistributeStaticRoutes “播发静态路由”的值可以为 True/False。 默认值为 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"

注意

对于通过 PE 设备建立的与外部网络的 MPLS 选项 10 (B) 连接,可以在创建隔离域时指定选项 (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 隔离域的管理状态更改为“enabled”或“disabled”:

##注意:至少应有一个内部网络可用于更改 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"

使用 showlist 命令验证隔离域是否已删除。

创建内部网络

成功创建 L3 隔离域后,下一步是创建内部网络。 内部网络通过与结构交换路由来实现工作负载之间的第 3 层机架间和机架内通信。 L3 隔离域可以支持多个内部网络(每个内部网络位于单独的 VLAN 上)。

下图展示了具有三个内部网络(受信任的网络、不受信任的网络和管理网络)的示例网络功能。 每个内部网络都在其自己的 L3 隔离域中创建。

包含三个内部网络的网络功能示意图。

这些网络的 IPv4 前缀为:

  • 受信任的网络:10.151.1.11/24
  • 管理网络:10.151.2.11/24
  • 不受信任的网络:10.151.3.11/24

以下参数可用于创建内部网络。

参数 说明 示例 必须
vlan-Id 范围从 501 到 4095 的 VLAN 标识符 1001 True
resource-group 使用相应的 NFC 资源组名称 NFCresourcegroupname True
l3-isolation-domain-name l3isolationDomain 的资源名称 example-l3domain True
location 在创建 NFC 期间使用的运营商关系 Azure 区域 eastus True

以下参数对于创建内部网络而言是可选的。

参数 说明 示例 必须
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 下一个跃点地址 10.0.0.0/24
defaultRouteOriginate True/False "允许在通过 BGP 播发路由时发起默认路由" True
peerASN 网络功能的对等 ASN 65047
allowAS 允许接收和处理路由,即使路由器在 AS-Path 中检测到自己的 ASN 也是如此。 输入为 0 表示禁用,可能的值为 1-10,默认值为 2。 2
allowASOverride 启用或禁用 allowAS 启用
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 在内部网络上启用或禁用监视 False

在启用 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 创建外部网络的命令包括以下参数。

参数 说明 示例 必须
peeringOption 使用 optionA 或 optionb 进行对等互连。 可能的值为 OptionA 和 OptionB OptionB True
optionBProperties OptionB 属性配置。 指定使用 exportIPv4/IPv6RouteTargets 或 importIpv4/Ipv6RouteTargets "exportIpv4/Ipv6RouteTargets": ["1234:1234"]}}
optionAProperties OptionA 属性的配置。 请参阅以下部分中的 OptionA 示例
external 这是一个可选参数,用于通过提供商边缘设备输入与外部网络的 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