天天看點

OpenStack floating 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,這一點需要特别注意。

  1. 浮動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與網卡建立好映射

OpenStack floating IP

必須有外部網絡的路由

OpenStack floating IP

路由中增加内部網絡的内部接口。

OpenStack floating IP

現在可以用内部網絡的接口了,通過浮動IP去綁定内部網絡的接口

OpenStack floating IP

繼續閱讀