快速入门:使用 Azure CLI 创建并配置路由服务器
本文可帮助你使用 Azure PowerShell 将 Azure 路由服务器配置为与虚拟网络中的网络虚拟设备 (NVA) 对等互连。 路由服务器从 NVA 获知路由,并将这些路由配置到虚拟网络中的虚拟机上。 Azure 路由服务器还会将虚拟网络路由播发到 NVA。 有关详细信息,请参阅 Azure 路由服务器。
重要
在 2021 年 11 月 1 日以前创建的无关联公共 IP 地址的 Azure 路由服务器使用公共预览版产品/服务进行部署。 公共预览版产品/服务不受正式发布版 SLA 支持,也不提供支持服务。 要使用正式发布版产品/服务部署 Azure 路由服务器,并获得正式发布版 SLA 和支持,请删除路由服务器并重新创建。
先决条件
- 具有活动订阅的 Azure 帐户。 创建帐户。
- 安装最新的 Azure CLI。
- 查看 Azure 路由服务器的服务限制。
创建资源组和虚拟网络
创建资源组
在创建 Azure 路由服务器之前,必须创建一个资源组来托管路由服务器。 使用 az group create 创建资源组。 此示例在 chinanorth 位置中创建名为 myRouteServerRG 的资源组:
az group create \
--name myRouteServerRG \
--location chinanorth
创建虚拟网络
使用 az network vnet create 创建虚拟网络。 以下示例将创建一个名为 myVirtualNetwork 的默认虚拟网络。 如果已经有虚拟网络,可以跳转到下一部分。
az network vnet create \
--name myVirtualNetwork \
--resource-group myRouteServerRG \
--address-prefix 10.0.0.0/16
添加专用子网
Azure 路由服务器需要名为 RouteServerSubnet 的专用子网。 子网大小必须至少为 /27 或为更短前缀(例如 /26 或 /25),否则可能会在部署路由服务器时收到错误消息。 使用 az network vnet subnet create 创建名为 RouteServerSubnet 的子网配置:
运行以下命令将 RouteServerSubnet 添加到虚拟网络。
az network vnet subnet create \ --name RouteServerSubnet \ --resource-group myRouteServerRG \ --vnet-name myVirtualNetwork \ --address-prefix 10.0.0.0/24
记下 RouteServerSubnet ID。 若要获取 RouteServerSubnet 的资源 ID 并将其存储到
subnet_id
变量中,请使用 az network vnet subnet show:subnet_id=$(az network vnet subnet show \ --name RouteServerSubnet \ --resource-group myRouteServerRG \ --vnet-name myVirtualNetwork \ --query id -o tsv) echo $subnet_id
创建路由服务器
若要确保连接到管理路由服务器配置的后端服务,需要分配一个公共 IP 地址。 使用 az network public-ip create 创建一个名为 RouteServerIP 的标准公共 IP:
az network public-ip create \ --name RouteServerIP \ --resource-group myRouteServerRG \ --version IPv4 \ --sku Standard
使用 az network routeserver create 创建 Azure 路由服务器。 以下示例将创建一个名为 myRouteServer 的 Azure 路由服务器。 hosted-subnet 是在前一部分中创建的 RouteServerSubnet 的资源 ID。
az network routeserver create \ --name myRouteServer \ --resource-group myRouteServerRG \ --hosted-subnet $subnet_id \ --public-ip-address RouteServerIP
与 NVA 建立 BGP 对等互连
使用 az network routeserver peering create 在路由服务器和 NVA 之间建立 BGP 对等互连:
peer-ip
是分配到 NVA 的虚拟网络 IP。 peer-asn
是在 NVA 中配置的自治系统编号 (ASN)。 该 ASN 可以是 65515-65520 范围之外的任意 16 位数字。 此 ASN 范围是 Microsoft 保留的。
az network routeserver peering create \
--name myNVA \
--peer-ip 192.168.0.1 \
--peer-asn 65501 \
--routeserver myRouteServer \
--resource-group myRouteServerRG
要设置与不同的 NVA 或同一 NVA 的另一个实例的对等互连以实现冗余,请使用与上述命令,但需要使用不同的 PeerName、PeerIp 和 PeerAsn。
在 NVA 上完成配置
若要在 NVA 上完成配置并启用 BGP 会话,需要 Azure 路由服务器的 IP 和 ASN。 可以使用 az network routeserver show 获取该信息:
az network routeserver show \
--name myRouteServer \
--resource-group myRouteServerRG
输出将如下所示:
RouteServerAsn : 65515
RouteServerIps : {10.5.10.4, 10.5.10.5} "virtualRouterAsn": 65515,
"virtualRouterIps": [
"10.0.0.4",
"10.0.0.5"
],
重要
建议将每个 NVA 与两个路由服务器实例对等互连,以确保通过 NVA 连接播发虚拟网络路由并实现高可用性。
配置路由交换
如果在相同虚拟网络中拥有一个虚拟网络网关(ExpressRoute 或 VPN,则可以启用 b2b 流量来交换网关和流由服务器之间的路因。
重要
必须在“主动-主动”模式下配置 Azure VPN 网关,并将 ASN 设置为 65515。
警告
如果在包含虚拟网络网关(ExpressRoute 或 VPN)的虚拟网络中创建或删除路由服务器,预计在操作完成之前会出现停机。 如果 ExpressRoute 线路连接到你要在其中创建或删除路由服务器的虚拟网络,则停机时间不会影响 ExpressRoute 线路或它与其他虚拟网络的连接。
若要启用 Azure 路由服务器和网关之间的路由交换,请使用 az network routerserver update,并将 `--allow-b2b-traffic`` 标志设置为 true:
az network routeserver update \ --name myRouteServer \ --resource-group myRouteServerRG \ --allow-b2b-traffic true
若要禁用 Azure 路由服务器和网关之间的路由交换,请使用 az network routerserver update,并将 `--allow-b2b-traffic`` 标志设置为 false:
az network routeserver update \ --name myRouteServer \ --resource-group myRouteServerRG \ --allow-b2b-traffic false
疑难解答
使用 az network routeserver peering list-advertised-routes 查看 Azure 路由服务器播发的路由:
az network routeserver peering list-advertised-routes \
--name myNVA \
--routeserver myRouteServer \
--resource-group myRouteServerRG
使用 az network routeserver peering list-learned-routes 查看 Azure 路由服务器获知的路由:
az network routeserver peering list-learned-routes \
--name myNVA \
--routeserver myRouteServer
--resource-group myRouteServerRG \
Azure CLI 可以在多个 shell 环境中运行,但格式略有变化。 如果 Azure CLI 命令出现意外结果,请参阅如何成功使用 Azure CLI。
清理资源
如果不再需要 Azure 路由服务器,请使用第一个命令删除 BGP 对等互连,然后使用第二个命令删除路由服务器。
使用 az network routeserver peering delete 删除 Azure 路由服务器和 NVA 之间的 BGP 对等互连:
az network routeserver peering delete \ --name myNVA \ --routeserver myRouteServer \ --resource-group myRouteServerRG
使用 az network routeserver delete 删除 Azure 路由服务器:
az network routeserver delete \ --name myRouteServer \ --resource-group myRouteServerRG
后续步骤
在创建 Azure 路由服务器后,请继续了解有关 Azure 路由服务器如何与 ExpressRoute 和 VPN 网关进行交互的详细信息: