创建 floating IP - 每天5分钟玩转 OpenStack(106)

先复习一下前面我们讨论的知识。

当租户网络连接到 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 是如何工作的。

 

时间: 2024-09-28 10:18:39

创建 floating IP - 每天5分钟玩转 OpenStack(106)的相关文章

创建 Pool & VIP - 每天5分钟玩转 OpenStack(122)

上节完成了 LBaaS 配置,今天我们开始实现如下 LBaaS 环境. 环境描述如下: 1. 创建一个 Pool "web servers". 2. 两个 pool member "WEB1" 和 "WEB2",均为运行 Ubuntu cloud image 的 instance. 3. load balancer VIP 与 floating IP 关联. 4. 位于外网的 client 通过 floating IP 外网访问 web serv

创建 flat network - 每天5分钟玩转 OpenStack(87)

上一节我们讨论了 flat network 的原理,今天就来创建 "flat_net" 并分析底层网络的实现. 打开菜单 Admin -> Networks,点击 "Create Network" 按钮. 显示创建页面. Provider Network Type 选择 "Flat". Physical Network 填写 "default",与 ml2_conf.ini 中 flat_networks 参数保持一致.

为 instance 配置静态 IP - 每天5分钟玩转 OpenStack(157)

  这是 OpenStack 实施经验分享系列的第 7 篇. 传统运维中为服务器配置静态 IP 是再常见不过的了.但在 OpenStack 环境下只能指定 network,IP 都是 Neutron 从 subnet IP 池中自动分配的.   有同学就会想办法了:等 instance 起来后手工把 IP 改掉行不行? 非常遗憾,不行! instance 网卡的 IP 和 Mac 地址是记录在 port 中的,计算节点的 iptable 会根据 port 信息生成相应的 rule,只有与 por

创建 router 连通 subnet- 每天5分钟玩转 OpenStack(100)

上一节我们为 Neutron 虚拟路由器配置好了 L3 agent,今天将创建虚拟路由器"router_100_101",打通 vlan100 和 vlan101. 打开操作菜单 Project -> Network -> Routers. 点击 "Create Router" 按钮 router 命名为 "router_100_101",点击 "Create Router" 按钮确认. router_100_10

写在最前面 - 每天5分钟玩转 OpenStack(1)

<每天5分钟玩转 OpenStack>是一个 OpenStack 教程,这是第 1 篇. 这个教程有下面两个特点: 系统讲解 OpenStack 从架构到各个组件:从整体到细节逐一讨论 重实践并兼顾理论 主要从实际操作的角度带着大家学习 OpenStack.   为啥要写这个? 简单回答是:因为OpenStack 学习难度大,但如果掌握了价值会很大 先做一个自我介绍吧. 本人网名CloudMan,在 IT 这个行当已经摸爬滚打了十多年,05年之前是搞上层应用开发的,那时候 Java 比较火,所

floating IP 原理分析 - 每天5分钟玩转 OpenStack(107)

上一节我们通过 Web UI 创建为 cirros-vm3 分配了浮动 IP,今天将分析其工作原理. 首先查看 router 的 interface 配置: 可以看到,floating IP 已经配置到 router 的外网 interface qg-b8b32a88-03 上. 查看 router 的 NAT 规则: iptables 增加了两条处理 floating IP 的规则: 1. 当 router 接收到从外网发来的包,如果目的地址是 floating IP 10.10.10.3,将

通过 floating IP 访问 VIP - 每天5分钟玩转 OpenStack(126)

前面我们是直接用 curl 测试 VIP,在更为真实的场景中通常会使用 floating IP 访问 VIP. 下面我们给 VIP 关联一个 floating IP,再进行测试. 访问 Project -> Compute -> Access & Security,打开 Floating IPs 标签页,点击 "Allocate IP to Project" 按钮. 在下拉列表中选择 "ext_net",Neutron 将从该网络中分配 floa

将 ext_net 连接到 router - 每天5分钟玩转 OpenStack(145)

上一节完我们创建了外部网络 ext_net,接下来需要将其连接到 Neutron 的虚拟路由器,这样 instance 才能访问外网. 点击菜单 Project -> Network -> Routers 进入 router 列表. 点击 router_100_101 的 "Set Gateway" 按钮. 在 "External Network" 下拉列表中选择 ext_net,点击 "Set Gateway". 外网设置成功.我们

外网访问原理分析 - 每天5分钟玩转 OpenStack(105)

本节我们会将上节创建的 ext_net 连接到 router,并验证内外网的连通性. 更重要的,我们会分析隐藏在表象之下的原理. 将外网连接到 Neutron 的虚拟路由器,这样 instance 才能访问外网. 点击菜单 Project -> Network -> Routers 进入 router 列表. 点击 router_100_101 的 "Set Gateway" 按钮. 在 "External Network" 下拉列表中选择 ext_ne