您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

创建、更改或删除路由表

Azure 自动在 Azure 子网、虚拟网络与本地网络之间路由流量。 若要更改 Azure 的任何默认路由,可以创建一个路由表。 如果你不熟悉虚拟网络中的路由,可在虚拟网络流量路由中了解详细信息,或者通过完成一个教程了解详细信息。

准备阶段

如果你没有 Azure 帐户,请使用有效的订阅设置一个帐户。 免费创建帐户。 然后在开始执行本文任一部分中的步骤之前完成以下任务之一:

  • 门户用户:使用 Azure 帐户登录到 Azure 门户

  • PowerShell 用户:在 Azure Cloud Shell 中运行命令,或在计算机上运行 PowerShell。 Azure Cloud Shell 是免费的交互式 shell,可以使用它运行本文中的步骤。 它预安装有常用 Azure 工具并将其配置与帐户一起使用。 在 Azure Cloud Shell 浏览器标签页中,找到“选择环境”下拉列表,然后选择“PowerShell”(如果尚未选择) 。

    如果在本地运行 PowerShell,请使用 Azure PowerShell 模块 1.0.0 或更高版本。 运行 Get-Module -ListAvailable Az.Network 查找已安装的版本。 如果需要进行升级,请参阅 Install Azure PowerShell module(安装 Azure PowerShell 模块)。 另请运行 Connect-AzAccount 以创建与 Azure 的连接。

  • Azure 命令行接口 (CLI) 用户:在 Azure Cloud Shell 中运行命令,或在计算机中运行 CLI。 如果在本地运行 Azure CLI,请使用 Azure CLI 2.0.31 或更高版本。 运行 az --version 查找已安装的版本。 如果需要进行安装或升级,请参阅安装 Azure CLI。 另请运行 az login 以创建与 Azure 的连接。

用于登录或者用于连接 Azure 的帐户必须分配有网络参与者角色,或者分配有自定义角色,并且该自定义角色分配有权限中列出的相应操作。

创建路由表

在每个 Azure 位置和订阅中可创建的路由表数目有限制。 有关详细信息,请参阅网络限制 - Azure 资源管理器

  1. Azure 门户菜单或“主页”页上,选择“创建资源” 。

  2. 在搜索框中,输入“路由表”。 当“路由表”出现在搜索结果中时,请选择它。

  3. 在“路由表”页中,选择“创建”。

  4. 在“创建路由表”对话框中:

    1. 输入路由表的名称。
    2. 选择“订阅”。
    3. 选择现有的资源组,或选择“新建”以创建新的资源组。
    4. 选择“位置” 。
    5. 如果你计划将路由表与通过 VPN 网关连接到本地网络的虚拟网络中的子网相关联,并且不希望将本地路由传播到子网中的网络接口,请将“虚拟网络网关路由传播”设置为“已禁用” 。
  5. 选择“创建”以创建新的路由表。

创建路由表 - 命令

工具 命令
Azure CLI az network route-table create
PowerShell New-AzRouteTable

查看路由表

转到 Azure 门户来管理虚拟网络。 搜索并选择“路由表”。 随后将列出订阅中存在的路由表。

查看路由表 - 命令

工具 命令
Azure CLI az network route-table list
PowerShell Get-AzRouteTable

查看路由表详细信息

  1. 转到 Azure 门户来管理虚拟网络。 搜索并选择“路由表”。

  2. 在路由表列表中,选择要查看其详细信息的路由表。

  3. 在路由表页中的“设置”下,查看路由表中的“路由”,或者查看与该路由表关联的“子网”。

若要详细了解常见的 Azure 设置,请参阅以下信息:

查看路由表详细信息 - 命令

工具 命令
Azure CLI az network route-table show
PowerShell Get-AzRouteTable

更改路由表

  1. 转到 Azure 门户来管理虚拟网络。 搜索并选择“路由表”。

  2. 在路由表列表中,选择要更改的路由表。

最常见的更改是添加路由、删除路由、将路由表关联到子网,或者从子网取消关联路由表。

更改路由表 - 命令

工具 命令
Azure CLI az network route-table update
PowerShell Set-AzRouteTable

将路由表关联到子网

可以选择性地将路由表关联到子网。 一个路由表可与零个或多个子网相关联。 由于路由表不会关联到虚拟网络,因此,必须将路由表关联到你希望该路由表关联到的每个子网。 如果虚拟网络已连接到 Azure 虚拟网络网关(ExpressRoute 或 VPN),则 Azure 会根据路由表中创建的路由、默认路由以及从本地网络传播的路由,来路由离开子网的所有流量。 只能将路由表关联到该路由表所在的同一 Azure 位置和订阅中的虚拟网络内的子网。

  1. 转到 Azure 门户来管理虚拟网络。 搜索并选择“虚拟网络”。

  2. 在虚拟网络列表中,选择包含要将路由表关联到的子网的虚拟网络。

  3. 在虚拟网络菜单栏中选择“子网”。

  4. 选择要将路由表关联到的子网。

  5. 在“路由表”中,选择要关联到子网的路由表。

  6. 选择“保存” 。

如果虚拟网络已连接到 Azure VPN 网关,请不要将路由表与包含目标为 0.0.0.0/0 的路由的网关子网相关联。 这样做可能会阻止网关正常工作。 有关在路由中使用 0.0.0.0/0 的详细信息,请参阅虚拟网络流量路由

关联路由表 - 命令

工具 命令
Azure CLI az network vnet subnet update
PowerShell Set-AzVirtualNetworkSubnetConfig

从子网取消关联路由表

从子网取消关联路由表后,Azure 会根据流量的默认路由来路由流量。

  1. 转到 Azure 门户来管理虚拟网络。 搜索并选择“虚拟网络”。

  2. 在虚拟网络列表中,选择包含要与路由表取消关联的子网的虚拟网络。

  3. 在虚拟网络菜单栏中选择“子网”。

  4. 选择要从中取消关联路由表的子网。

  5. 在“路由表”中选择“无”。

  6. 选择“保存” 。

取消关联路由表 - 命令

工具 命令
Azure CLI az network vnet subnet update
PowerShell Set-AzVirtualNetworkSubnetConfig

删除路由表

不能删除已关联到任何子网的路由表。 在尝试删除路由表之前,请从所有子网取消关联该路由表。

  1. 转到 Azure 门户来管理路由表。 搜索并选择“路由表”。

  2. 在路由表列表中,选择要删除的路由表。

  3. 选择“删除”,然后在确认对话框中选择“是”。

删除路由表 - 命令

工具 命令
Azure CLI az network route-table delete
PowerShell Remove-AzRouteTable

创建路由

在每个 Azure 位置和订阅中,可为每个路由表创建的路由数目有限制。 有关详细信息,请参阅网络限制 - Azure 资源管理器

  1. 转到 Azure 门户来管理路由表。 搜索并选择“路由表”。

  2. 在路由表列表中,选择要将路由添加到的路由表。

  3. 在路由表菜单栏中,选择“路由” > “添加”。

  4. 为该路由输入一个在路由表中唯一的路由名称。

  5. 以无类域间路由 (CIDR) 表示法输入要将流量路由到的地址前缀。 该前缀不能在路由表的多个路由中重复,不过,可以包含在另一个前缀中。 例如,如果在一个路由中定义了 10.0.0.0/16 作为前缀,仍可使用 10.0.0.0/22 地址前缀定义另一个路由。 Azure 根据最长的前缀匹配项选择流量的路由。 有关详细信息,请参阅 Azure 如何选择路由

  6. 选择一个“下一跃点类型”。 若要详细了解下一跃点类型,请参阅虚拟网络流量路由

  7. 如果为“下一跃点类型”选择了“虚拟设备”,请为“下一跃点地址”输入一个 IP 地址。

  8. 选择“确定” 。

创建路由 - 命令

工具 命令
Azure CLI az network route-table route create
PowerShell New-AzRouteConfig

查看路由

一个路由表包含零个或多个路由。 若要详细了解在查看路由时所列出的信息,请参阅虚拟网络流量路由

  1. 转到 Azure 门户来管理路由表。 搜索并选择“路由表”。

  2. 在路由表列表中,选择要查看其路由的路由表。

  3. 在路由表菜单栏中,选择“路由”查看路由列表。

查看路由 - 命令

工具 命令
Azure CLI az network route-table route list
PowerShell Get-AzRouteConfig

查看路由详细信息

  1. 转到 Azure 门户来管理路由表。 搜索并选择“路由表”。

  2. 在路由表列表中,选择包含你要查看其详细信息的路由的路由表。

  3. 在路由表菜单栏中,选择“路由”查看路由列表。

  4. 选择要查看其详细信息的路由。

查看路由详细信息 - 命令

工具 命令
Azure CLI az network route-table route show
PowerShell Get-AzRouteConfig

更改路由

  1. 转到 Azure 门户来管理路由表。 搜索并选择“路由表”。

  2. 在路由表列表中,选择包含你要更改的路由的路由表。

  3. 在路由表菜单栏中,选择“路由”查看路由列表。

  4. 选择要更改的路由。

  5. 将现有设置更改为新设置,然后选择“保存”。

更改路由 - 命令

工具 命令
Azure CLI az network route-table route update
PowerShell Set-AzRouteConfig

删除路由

  1. 转到 Azure 门户来管理路由表。 搜索并选择“路由表”。

  2. 在路由表列表中,选择包含你要删除的路由的路由表。

  3. 在路由表菜单栏中,选择“路由”查看路由列表。

  4. 选择要删除的路由。

  5. 选择“删除”,然后在确认对话框中选择“是”。

删除路由 - 命令

工具 命令
Azure CLI az network route-table route delete
PowerShell Remove-AzRouteConfig

查看有效路由

附加到 VM 的每个网络接口的有效路由是你已创建的路由表、Azure 的默认路由,以及通过 Azure 虚拟网络网关和边界网关协议 (BGP) 从本地网络传播的任何路由的组合。 排查路由问题时,了解网络接口的有效路由非常有用。 可以查看已附加到运行中 VM 的任何网络接口的有效路由。

  1. 转到 Azure 门户来管理 VM。 搜索并选择“虚拟机”。

  2. 在虚拟机列表中,选择要查看其有效路由的 VM。

  3. 在 VM 菜单栏中选择“网络”。

  4. 选择网络接口的名称。

  5. 在网络接口菜单栏中选择“有效路由”。

  6. 查看有效路由的列表,以了解你要将流量路由到的目标地址是否存在适当的路由。 在虚拟网络流量路由中详细了解此列表中列出的下一跃点类型。

查看有效路由 - 命令

工具 命令
Azure CLI az network nic show-effective-route-table
PowerShell Get-AzEffectiveRouteTable

验证两个终结点之间的路由

可以确定虚拟机与另一 Azure 资源的 IP 地址、本地资源或 Internet 上某个资源之间的下一跃点类型。 排查路由问题时,确定 Azure 的路由很有帮助。 若要完成此任务,必须使用现有的网络观察程序。 如果没有网络观察程序,可以完成创建网络观察程序实例中的步骤来创建一个。

  1. 转到 Azure 门户来管理网络观察程序。 搜索并选择“网络观察程序”。

  2. 在网络观察程序菜单栏中选择“下一跃点”。

  3. 在“网络观察程序 | 下一跃点”页中:

    1. 选择要从其验证路由的源 VM 的订阅和资源组。

    2. 选择“虚拟机”,以及附加到 VM 的“网络接口” 。

    3. 输入分配给要从其验证路由的网络接口的源 IP 地址。

    4. 输入要验证的、所要路由到的目标 IP 地址。

  4. 选择“下一跃点”。

片刻之后,Azure 即会告知路由了流量的路由的下一跃点类型和 ID。 在虚拟网络流量路由中详细了解返回的下一跃点类型。

验证两个终结点之间的路由 - 命令

工具 命令
Azure CLI az network watcher show-next-hop
PowerShell Get-AzNetworkWatcherNextHop

权限

若要针对路由表和路由执行任务,必须将你的帐户分配到网络参与者角色或分配有下表中所列的相应操作的自定义角色

操作 名称
Microsoft.Network/routeTables/read 读取路由表
Microsoft.Network/routeTables/write 创建或更新路由表
Microsoft.Network/routeTables/delete 删除路由表
Microsoft.Network/routeTables/join/action 将路由表关联到子网
Microsoft.Network/routeTables/routes/read 读取路由
Microsoft.Network/routeTables/routes/write 创建或更新路由
Microsoft.Network/routeTables/routes/delete 删除路由
Microsoft.Network/networkInterfaces/effectiveRouteTable/action 为网络接口获取有效路由表
Microsoft.Network/networkWatchers/nextHop/action 从 VM 获取下一跃点

后续步骤