实现虚拟网络流量路由
- 12 分钟
Azure 会自动为 Azure 虚拟网络中的每个子网创建路由表。 路由表具有默认的系统路由和所需的任何用户定义的路由。 并将系统默认路由添加到表中。
系统路由
Azure 自动创建系统路由,并将路由分配到虚拟网络中的每个子网。 无法创建或删除系统路由,但可以使用自定义路由替代某些系统路由。 当你使用特定的 Azure 功能时,Azure 为每个子网创建默认系统路由,并向特定子网或每个子网添加其他可选默认路由。
默认系统路由
每当创建虚拟网络时,Azure 都会为虚拟网络中的每个子网自动创建以下默认系统路由。 每个系统路由都包含地址前缀和下一跳类型。
来源 | 地址前缀 | 下一个跃点类型 |
---|---|---|
默认 | 对虚拟网络唯一 | 虚拟网络 |
默认 | 0.0.0.0/0 | 互联网 |
默认 | 10.0.0.0/8 | 无 |
默认 | 192.168.0.0/16 | 无 |
默认 | 100.64.0.0/10 | 无 |
在路由术语中,跃点是整个路由的路标。 因此,下一个跃点是流量在前往其最终目的地的过程中定向到的下一个路标。 下一个跃点类型定义如下:
- 虚拟网络:在虚拟网络的地址空间中的地址范围之间路由流量。 Azure 使用地址前缀创建路由,该前缀对应的每个地址范围是在虚拟网络的地址空间中定义的。 Azure 使用为每个地址范围创建的路由在子网之间自动路由流量。
- Internet:将地址前缀指定的流量路由到 Internet。 系统默认路由指定 0.0.0.0/0 地址前缀。 Azure 将虚拟网络中未由地址范围指定的任何地址的流量路由到 Internet,除非目标地址是某项 Azure 服务的地址。 Azure 通过主干网络直接将任何发送到其服务的流量路由到服务,而不是将流量路由到互联网。 可以将 0.0.0.0/0 地址前缀对应的 Azure 默认系统路由替代为自定义路由。
- 无:系统会将路由到“无”下一个跃点类型的流量删除,而不是将其路由到子网外。
可选的默认系统路由
Azure 为你启用的任何 Azure 功能添加默认系统路由。 Azure 会根据功能将可选的默认路由添加到虚拟网络中的特定子网,或者添加到虚拟网络中的所有子网。
来源 | 地址前缀 | 下一个跃点类型 | 虚拟网络中已添加路由的子网 |
---|---|---|---|
默认 | 在虚拟网络中是唯一的,例如:10.1.0.0/16 | 虚拟网络对等互连 | 全部 |
虚拟网络网关 | 从本地通过 BGP 播发的前缀,或者在本地网关中配置的前缀。 | 全部 | |
默认 | 多个 | 虚拟网络服务终结点 | 仅为其启用服务终结点的子网。 |
- 虚拟网络 (VNet) 对等互连:在两个虚拟网络之间创建虚拟网络对等互连时,会为每个虚拟网络的地址空间中的每个地址范围添加一个路由。
- 虚拟网络网关:向虚拟网络添加虚拟网络网关时,Azure 会添加一个或多个将“虚拟网络网关”作为下一个跃点类型的路由。 源作为“虚拟网络网关”列出,因为网关向子网添加路由。
- VirtualNetworkServiceEndpoint:当你启用服务的服务终结点时,Azure 会将特定服务的公共 IP 地址添加到路由表中。 服务终结点是为虚拟网络中的单个子网启用的,因此仅将路由添加到为其启用了服务终结点的子网的路由表。 Azure 服务的公共 IP 地址会定期更改,并且 Azure 会在必要时管理对路由表的更新。
用户定义的路由
可以使用 用户定义的路由(UDR)替代 Azure 创建的默认路由。 若要确保两个子网之间的流量通过防火墙设备传递,此方法非常有用。 这些自定义路由替代 Azure 的默认系统路由。 在 Azure 中,每个子网可以有零个或一个关联的路由表。 当你创建一个路由表并将其与子网相关联时,表中的路由将与 Azure 添加到子网的默认路由组合在一起,或者替代这些默认路由。
可以在创建用户定义路由时指定下面的下一跃点类型:
- 虚拟设备:虚拟设备是通常情况下运行防火墙等网络应用程序的虚拟机。 使用“虚拟设备”跃点类型创建路由时,也指定下一跃点 IP 地址。
- 虚拟网络网关:需要将目标为特定地址前缀的流量路由到虚拟网络网关时,请指定此项。 创建虚拟网关时,类型必须为“VPN”。
- 无:需要丢弃流向某个地址前缀的流量,而不是将该流量转发到目标时,请指定此项。
- 虚拟网络:需要替代虚拟网络中的默认路由时,请指定此项。
- Internet:指定何时要将发往地址前缀的流量显式路由到 Internet。
考虑 Azure 路由服务器
Azure 路由服务器简化了网络虚拟设备 (NVA) 与虚拟网络之间的动态路由。 Azure 路由服务器是一项完全托管的服务,并且配置为具有高可用性。 Azure 路由服务器简化了虚拟网络中 NVA 的配置、管理和部署。
- 每当虚拟网络地址更新时,你不再需要手动更新 NVA 上的路由表。
- 每当 NVA 报出新路由或撤回旧路由时,就不再需要手动更新用户定义的路由。
- 可以将 NVA 的多个实例与 Azure 路由服务器对等互连。
- NVA 与 Azure 路由服务器之间的接口基于通用标准协议。 只要 NVA 支持 BGP,你就可以将其与 Azure 路由服务器对等互连。
- 可以在任何新的或现有的虚拟网络中部署 Azure 路由服务器。
使用有效路由进行故障排除
假设尝试连接到 Azure 虚拟网络中的特定虚拟机(VM)始终失败。 可以通过查看虚拟机网络接口的有效路由来诊断路由问题。 可以使用 Azure 门户查看每个网络接口 的有效路由 。