OpenStack floating IP
1.弹性公网IP、私有IP、浮动IP、虚拟IP之间区别弹性公网IP是可以直接访问Internet的IP地址。一个弹性公网IP只能给一个ECS使用。私有IP是公有云内网所使用的IP地址,用于内网通信,私有IP不能访问Internet。浮动IP与弹性公网IP功能类似,都是公网IP,用于连接公网,主要不同点在于浮动IP接口无法配置带宽参数。虚拟IP(即VIP)是一个未分配给真实弹性云服务器网卡的IP地址
1.弹性公网IP、私有IP、浮动IP、虚拟IP之间区别
弹性公网IP是可以直接访问Internet的IP地址。一个弹性公网IP只能给一个ECS使用。
私有IP是公有云内网所使用的IP地址,用于内网通信,私有IP不能访问Internet。
浮动IP与弹性公网IP功能类似,都是公网IP,用于连接公网,主要不同点在于浮动IP接口无法配置带宽参数。
虚拟IP(即VIP)是一个未分配给真实弹性云服务器网卡的IP地址。主要用在弹性云服务器的主备切换,达到高可用性HA(High Availability)的目的。当主服务器发生故障无法对外提供服务时,动态将虚拟IP切换到备服务器,继续对外提供服务。
2. 浮动IP定义
缺省情况下实例会被赋予固定ip,这时并不能保证实例会马上可以从外面访问到,一般来说需要配置防火墙来允许公共ip,然后建立一条NAT规则从公共ip到私有ip的映射。
OpenStack引入了一个叫浮动ip的概念,浮动ip是一些可以从外部访问的ip列表,通常从isp哪里买来的。
浮动ip缺省不会自动赋给实例,用户需要手动从地址池里抓取然后赋给实例。一旦用户抓去后,他就变成这个ip的所有者,可以随意赋给自己拥有的其他实例。如果实例死掉了的话,用户也不会失去这个浮动ip,可以随时赋给其他实例。暂时不支持为了负载均衡多实例共享一个浮动ip。
而对于固定ip来说,实例启动后获得的ip也是自动的,不能指定某一个。所以当一个VM歇菜了,再启动也许固定ip就换了一个。
系统管理员可以配置多个浮动ip池,这个ip池不能指定租户,每个用户都可以去抓取。多浮动ip池是为了考虑不同的isp服务提供商,免得某一个isp出故障带来麻烦。
如果运行的是企业云,浮动ip池就是那些openstack外的数据中心都能访问到的ip。
浮动ip机制给云用户提供了很多灵活性,也给系统管理员减少了安全风险,尽量只让OpenStack软件去改防火墙会安全些。
注意:
floating IP 能够让外网直接访问租户网络中的 instance。这是通过在 router 上应用 iptalbes 的 NAT 规则实现的。
floating IP 是配置在 router 的外网 interface 上的,而非 instance,这一点需要特别注意。
浮动IP是由外部网络进行创建
创建浮动IP
{
"floating_network_id": "f9a11240-e182-4e3b-b8dd-e2ed94f4c499", //外部网络
"port_id": "",
"subnet_id": "1fac35c1-a7e9-4203-a87a-65aad05a70fe", //外部子网
"fixed_ip_address": "",
"floating_ip_address": "",
"description": "create the floating ip for iaas testing...",
"dns_domain": "",
"dns_name": ""
}
修改浮动IP
port 为null 时,解绑接口
{
"floatingip_device_id":"755221d4-814f-4cc8-8808-e4d9e9cbcc20", // 浮动IP
"port_id": "98408ba8-06dd-49ca-ae51-9935204e4e63", // 绑定的内网port_id ,
"fixed_ip_address": "10.1.17.167", //内网端口固定的IP
"description": "test...."
}
//前提是新建的路由router种,有该内部网络的接口
浮动IP与网卡建立好映射
必须有外部网络的路由
路由中增加内部网络的内部接口。
现在可以用内部网络的接口了,通过浮动IP去绑定内部网络的接口
更多推荐
所有评论(0)