先复习一下前面我们讨论的知识。
当租户网络连接到 Neutron router,通常将 router 作为默认网关。
当 router 接收到 instance 的数据包,并将其转发到外网时:
1. router 会修改包的源地址为自己的外网地址,这样确保数据包转发到外网,并能够从外网返回。
2. router 修改返回的数据包,并转发给真正的 instance。
这个行为被称作 Source NAT。
如果需要从外网直接访问 instance,则可以利用 floating IP。
下面是关于 floating IP 必须知道的事实:
1. floating IP 提供静态 NAT 功能,建立外网 IP 与 instance 租户网络 IP 的一对一映射。
2. floating IP 是配置在 router 提供网关的外网 interface 上的,而非 instance 中。
3. router 会根据通信的方向修改数据包的源或者目的地址。
下面我们通过实验深入学习 floating IP。
点击 Project -> Compute -> Access & Security 菜单,打开 Floating IPs 标签页。
点击 “Allocate IP To Project” 按钮。
floating IP Pool 为 ext_net,点击 “Allocate IP” 按钮。
从 Pool 中成功分配了一个 IP 10.10.10.3。
下面我们将它分配给 cirror-vm3,点击 “Associate” 按钮。
在下拉列表中选择 cirror-vm3,点击 “Associate” 按钮。
分配成功,floating IP 10.10.10.3 已经对应到 cirros-vm3 的租户 IP 172.16.101.3。
下一节我们将观察底层网络发生了怎样的变化,并分析 floating IP 是如何工作的。