通过创建外部网络,云中的专用网络可以与范围更大的网络通信。在云中,一个租户可以有一个或多个专用网络。在为云创建外部网络时,会创建一个所有租户网络共享的提供者路由器。您(管理员)创建、拥有和管理此路由器。该路由器在租户的网络拓扑视图中不可见。因为只有一个路由器,所以租户网络无法使用重叠的 IP 地址。
创建外部网络还需要配置 Neutron L3 代理。Neutron L3 代理将自动在分配给 Nova 实例的地址和浮动 IP 地址之间创建一对一的 NAT 映射。L3 代理还支持专用网络之间的通信。缺省情况下,会禁用属于同一个租户的专用网络之间的路由。要更改此行为,请将 /etc/neutron/l3_agent.ini 配置文件中的 allow_forwarding_between_networks 设置为 True 并重新启动 neutron-l3-agent SMF 服务。
该路由器为租户 VM 实例提供与外部世界的连接。该路由器在连接路由器与外部网络的接口上执行双向 NAT。租户可以根据需要创建任意数量的浮动 IP(公共 IP),也可以根据浮动 IP 限额进行创建,然后将这些浮动 IP 与需要外部连接的 VM 实例关联。
有关 OpenStack 中内部网络与外部网络之间的关系图,请参见Figure 3–3。